randomness-js
Version:
A library for consuming, verifying and using randomness from the dcipher network
308 lines (300 loc) • 29.2 kB
text/typescript
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import {
Contract,
ContractFactory,
ContractTransactionResponse,
Interface,
} from "ethers";
import type {
Signer,
BigNumberish,
ContractDeployTransaction,
ContractRunner,
} from "ethers";
import type { NonPayableOverrides } from "../common";
import type {
BN254SignatureScheme,
BN254SignatureSchemeInterface,
} from "../BN254SignatureScheme";
const _abi = [
{
type: "constructor",
inputs: [
{
name: "x",
type: "uint256[2]",
internalType: "uint256[2]",
},
{
name: "y",
type: "uint256[2]",
internalType: "uint256[2]",
},
],
stateMutability: "nonpayable",
},
{
type: "function",
name: "DST",
inputs: [],
outputs: [
{
name: "",
type: "bytes",
internalType: "bytes",
},
],
stateMutability: "view",
},
{
type: "function",
name: "SCHEME_ID",
inputs: [],
outputs: [
{
name: "",
type: "string",
internalType: "string",
},
],
stateMutability: "view",
},
{
type: "function",
name: "getChainId",
inputs: [],
outputs: [
{
name: "chainId",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "getPublicKey",
inputs: [],
outputs: [
{
name: "",
type: "uint256[2]",
internalType: "uint256[2]",
},
{
name: "",
type: "uint256[2]",
internalType: "uint256[2]",
},
],
stateMutability: "view",
},
{
type: "function",
name: "getPublicKeyBytes",
inputs: [],
outputs: [
{
name: "",
type: "bytes",
internalType: "bytes",
},
],
stateMutability: "view",
},
{
type: "function",
name: "hashToBytes",
inputs: [
{
name: "message",
type: "bytes",
internalType: "bytes",
},
],
outputs: [
{
name: "",
type: "bytes",
internalType: "bytes",
},
],
stateMutability: "view",
},
{
type: "function",
name: "hashToPoint",
inputs: [
{
name: "message",
type: "bytes",
internalType: "bytes",
},
],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "verifySignature",
inputs: [
{
name: "message",
type: "bytes",
internalType: "bytes",
},
{
name: "signature",
type: "bytes",
internalType: "bytes",
},
{
name: "publicKey",
type: "bytes",
internalType: "bytes",
},
],
outputs: [
{
name: "isValid",
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: "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 =
"0x5f60c081815260e0829052608081815261014060405261010083815261012084905260a052919061003390829060026102cd565b50602082015161004990600280840191906102cd565b505050348015610057575f5ffd5b50604051612d52380380612d528339810160408190526100769161039f565b6040805180820190915282815260208101829052829082905f61009b818560026102cd565b5060208201516100b190600280840191906102cd565b5090505050506100cd6100c861010260201b60201c565b610106565b6040516020016100dd91906103d2565b604051602081830303815290604052600490816100fa91906104c4565b5050506105d6565b4690565b604080518082018252601081526f181899199a1a9b1b9c1cb0b131b232b360811b602082015281516042808252608082019093526060925f9190602082018180368337019050509050600360fc1b815f815181106101665761016661057e565b60200101906001600160f81b03191690815f1a905350600f60fb1b816001815181106101945761019461057e565b60200101906001600160f81b03191690815f1a9053505f5b60208110156102c5578260048683602081106101ca576101ca61057e565b1a60f81b6001600160f81b031916901c60f81c60ff16815181106101f0576101f061057e565b01602001516001600160f81b0319168261020b8360026105a6565b6102169060026105c3565b815181106102265761022661057e565b60200101906001600160f81b03191690815f1a9053508285826020811061024f5761024f61057e565b825191901a600f169081106102665761026661057e565b01602001516001600160f81b031916826102818360026105a6565b61028c9060026105c3565b6102979060016105c3565b815181106102a7576102a761057e565b60200101906001600160f81b03191690815f1a9053506001016101ac565b509392505050565b82600281019282156102fb579160200282015b828111156102fb5782518255916020019190600101906102e0565b5061030792915061030b565b5090565b5b80821115610307575f815560010161030c565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610342575f5ffd5b604080519081016001600160401b03811182821017156103645761036461031f565b806040525080604084018581111561037a575f5ffd5b845b8181101561039457805183526020928301920161037c565b509195945050505050565b5f5f608083850312156103b0575f5ffd5b6103ba8484610333565b91506103c98460408501610333565b90509250929050565b7f646369706865722d72616e646f6d6e6573732d7630312d424e32353447315f5881527f4d443a4b454343414b2d3235365f535644575f524f5f0000000000000000000060208201525f82518060208501603685015e605f60f81b6036939091019283015250603701919050565b600181811c9082168061045457607f821691505b60208210810361047257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104bf57805f5260205f20601f840160051c8101602085101561049d5750805b601f840160051c820191505b818110156104bc575f81556001016104a9565b50505b505050565b81516001600160401b038111156104dd576104dd61031f565b6104f1816104eb8454610440565b84610478565b6020601f821160018114610523575f831561050c5750848201515b5f19600385901b1c1916600184901b1784556104bc565b5f84815260208120601f198516915b828110156105525787850151825560209485019460019092019101610532565b508482101561056f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176105bd576105bd610592565b92915050565b808201808211156105bd576105bd610592565b61276f806105e35f395ff3fe608060405234801561000f575f5ffd5b5060043610610085575f3560e01c80638a1f165a116100585780638a1f165a146100f3578063acae9fee1461012f578063eae1e15b14610137578063f6e548e91461014a575f5ffd5b80632e334452146100895780633033cc51146100a85780633408e470146100d05780635f7c7522146100de575b5f5ffd5b61009161016d565b60405161009f929190612300565b60405180910390f35b6100bb6100b6366004612360565b6101e6565b6040805192835260208301919091520161009f565b60405146815260200161009f565b6100e66102c6565b60405161009f91906123eb565b6100e66040518060400160405280600581526020017f424e32353400000000000000000000000000000000000000000000000000000081525081565b6100e6610352565b6100e6610145366004612360565b6103d1565b61015d6101583660046123fd565b61040b565b604051901515815260200161009f565b610175612259565b61017d612259565b60408051808201918290525f91600291908390839082845b815481526020019060010190808311610195575050604080518082019182905294965085935060029250905082845b8154815260200190600101908083116101c45750505050509050915091509091565b5f5f5f6102b0600480546101f99061249c565b80601f01602080910402602001604051908101604052809291908181526020018280546102259061249c565b80156102705780601f1061024757610100808354040283529160200191610270565b820191905f5260205f20905b81548152906001019060200180831161025357829003601f168201915b505050505086868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506104fa92505050565b80516020909101519093509150505b9250929050565b600480546102d39061249c565b80601f01602080910402602001604051908101604052809291908181526020018280546102ff9061249c565b801561034a5780601f106103215761010080835404028352916020019161034a565b820191905f5260205f20905b81548152906001019060200180831161032d57829003601f168201915b505050505081565b60408051608081018083526060926103cc92915f91839190820190839060029082845b81548152602001906001019080831161037557505050918352505060408051808201918290526020909201919060028481019182845b8154815260200190600101908083116103ab575050505050815250506105df565b905090565b60605f5f6103df85856101e6565b9150915061040060405180604001604052808481526020018381525061063b565b925050505b92915050565b5f5f61044b88888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061067492505050565b90505f61048c87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061067492505050565b90505f6104cd86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061071192505050565b90505f5f6104dc8484876107cc565b915091508180156104ea5750805b9c9b505050505050505050505050565b604080518082019091525f80825260208201525f610518848461093f565b90505f61052b82825b6020020151610a8a565b90505f610539836001610521565b9050610543612277565b825181526020808401518282015282516040808401919091529083015160608301525f908460808460066107d05a03fa9050806105b757816040517f128e3f080000000000000000000000000000000000000000000000000000000081526004016105ae919061251a565b60405180910390fd5b6040805180820190915284518152602081018560016020020151905298975050505050505050565b60408051608080825260a082019092526060915f91906020820181803683375050845180516020918201519682015180519083015192850191909152604084019690965260608301959095525060808101939093525090919050565b6040805181815260608181018352915f919060208201818036833750508451602095860151958301525060408101939093525090919050565b604080518082019091525f808252602082015281516040146106f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f496e76616c6964204731206279746573206c656e67746800000000000000000060448201526064016105ae565b5060208181015160409283015183518085019094529083529082015290565b610719612295565b8151608014610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f496e76616c6964204732206279746573206c656e67746800000000000000000060448201526064016105ae565b50602081810151604080840151606080860151608096870151845197880185528785019586529187019290925292855281518083019092528152808301919091529082015290565b5f5f5f604051806101800160405280875f01518152602001876020015181526020017f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c281526020017f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed81526020017f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec81526020017f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d8152602001855f0151815260200185602001518152602001865f01516001600281106108af576108af6124ed565b60200201518152602001865f01515f600281106108ce576108ce6124ed565b6020020151815260200186602001516001600281106108ef576108ef6124ed565b6020020151815260200186602001515f6002811061090f5761090f6124ed565b6020020151905290506109206122ba565b6020816101808460086107d05a03fa9051151597909650945050505050565b610947612259565b5f6109528484610f32565b90505f5f5f5f6018850177ffffffffffffffffffffffffffffffffffffffffffffffff815116935060308601905077ffffffffffffffffffffffffffffffffffffffffffffffff81511694507f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47857f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4778010000000000000000000000000000000000000000000000008709086048870151606088015177ffffffffffffffffffffffffffffffffffffffffffffffff908116975016945092507f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47905084817801000000000000000000000000000000000000000000000000860908604080518082019091529283526020830152509695505050505050565b610a92612259565b7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478210610aee576040517fd53e9415000000000000000000000000000000000000000000000000000000008152600481018390526024016105ae565b5f7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760047f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478586090990505f7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478260010890507f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47610bac837f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47612577565b60010891505f610bde7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4783850961111c565b90505f7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4778016789af3a83522eb353c98fc6b36d713d5d8d1cc5dffffffa7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47847f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47888b09090990505f7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47610cb2837f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47612577565b7f183227397098d014dc2822db40c0ac2ecbc0b548b438e5469e10460b6c3e7ea30890505f7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47837f183227397098d014dc2822db40c0ac2ecbc0b548b438e5469e10460b6c3e7ea30890505f7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4786870990505f7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4786830990505f7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47807f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478485097f10216f7ba065e00de81ac1e7808072c9dd2b2385cd7b438469602eb24829a9bd0960010890505f5f610dec610de788611126565b611198565b5f0b600103610e5557868c52610e0187611126565b9050610e0c81611248565b60208e0191909152915081610e50576040517f396ec771000000000000000000000000000000000000000000000000000000008152600481018290526024016105ae565b610ed1565b610e61610de787611126565b5f0b600103610e7657858c52610e0186611126565b828c52610e8283611126565b9050610e8d81611248565b60208e0191909152915081610ed1576040517f396ec771000000000000000000000000000000000000000000000000000000008152600481018290526024016105ae565b60208c0151610edf90611282565b610ee88e611282565b14610f225760208c0151610f1c907f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47612577565b60208d01525b5050505050505050505050919050565b815160609060ff811115610f7457836040517f26e4f9ba0000000000000000000000000000000000000000000000000000000081526004016105ae91906123eb565b60408051608880825260c082019092525f916020820181803683370190505090505f81855f60605f8a88604051602001610fb497969594939291906125a1565b60405160208183030381529060405290505f818051906020012090505f8160018987604051602001610fe9949392919061267c565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815282825280516020820120606080855260808501909352909350915f91602082018180368337019050509050600360015b818110156110e05785841861105a8260016126ee565b8d8b60405160200161106f949392919061267c565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815291905260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830181028501810195909552805194810194909420939450600101611044565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016020908102820101919091529550505050505092915050565b5f6104058261128e565b5f7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760037f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47847f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47868709090892915050565b5f5f6111a3836119e6565b90506111d060017f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47612577565b81036111fe57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92915050565b801580159061120e575080600114155b15610405576040517f396ec771000000000000000000000000000000000000000000000000000000008152600481018490526024016105ae565b5f5f61125383611b13565b9150827f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47838409149050915091565b5f610405600283612701565b5f7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478083840991508083830981838209828283098385830984848309858484098684850997508684840987858409945087898a09985087898a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087818a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a09985087898a09985087898a09985087898a09985087818a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087898a09985087898a09985087838a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087818a09985050868889099750868889099750868889099750868889099750868889099750868889099750868489099750868889099750868889099750868889099750868889099750868889099750868989099750868889099750868889099750868889099750868889099750868889099750868889099750868989099750868889099750868889099750868889099750868889099750868889099750868689099750868889099750868889099750868889099750868889099750868889099750868889099750868889099750868889099750868889099750868189099750508587880996508587880996508587880996508585880996508587880996508587880996508587880996508585880996508587880996508587880996508587880996508587880996508587880996508587880996508587880996508587880996508583880996508587880996508587880996508587880996508587880996508581880996505050838586099450838586099450838586099450838586099450838186099450508284850993508284850993508284850993508281850993508284850993508284850993508285850993508284850993508284850993508284850993508284850993508284850993508284850993508281850995945050505050565b6040805160c080825260e082019092525f918291906020820181803683370190505060208082018181526040830182905260608301829052608083018690527f183227397098d014dc2822db40c0ac2ecbc0b548b438e5469e10460b6c3e7ea360a08401527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760c0808501919091529293505f92839160055afa90505f51925080611b0c576040517fc6daf7ab000000000000000000000000000000000000000000000000000000008152600481018590527f183227397098d014dc2822db40c0ac2ecbc0b548b438e5469e10460b6c3e7ea360248201527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760448201526064016105ae565b5050919050565b5f7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478083840991508083830981838209828283098385830984848309858484098684850997508684840987858409945087898a09985087898a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087818a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a09985087898a09985087898a09985087898a09985087818a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087898a09985087898a09985087838a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087818a09985050868889099750868889099750868889099750868889099750868889099750868889099750868489099750868889099750868889099750868889099750868889099750868889099750868989099750868889099750868889099750868889099750868889099750868889099750868889099750868989099750868889099750868889099750868889099750868889099750868889099750868689099750868889099750868889099750868889099750868889099750868889099750868889099750868889099750868889099750868889099750868189099750508587880996508587880996508587880996508585880996508587880996508587880996508587880996508585880996508587880996508587880996508587880996508587880996508587880996508587880996508587880996508587880996508583880996508587880996508587880996508587880996508587880996508581880996508587880996508587880996508587880996508587880996508583880996508587880996508587880996508587880996508584880996508587880996508587880996508587880996508587880996508587880996508581880996505050505050808283099392505050565b60405180604001604052806002906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b60405180604001604052806122a8612259565b81526020016122b5612259565b905290565b60405180602001604052806001906020820280368337509192915050565b805f5b60028110156122fa5781518452602093840193909101906001016122db565b50505050565b6080810161230e82856122d8565b61231b60408301846122d8565b9392505050565b5f5f83601f840112612332575f5ffd5b50813567ffffffffffffffff811115612349575f5ffd5b6020830191508360208285010111156102bf575f5ffd5b5f5f60208385031215612371575f5ffd5b823567ffffffffffffffff811115612387575f5ffd5b61239385828601612322565b90969095509350505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f61231b602083018461239f565b5f5f5f5f5f5f60608789031215612412575f5ffd5b863567ffffffffffffffff811115612428575f5ffd5b61243489828a01612322565b909750955050602087013567ffffffffffffffff811115612453575f5ffd5b61245f89828a01612322565b909550935050604087013567ffffffffffffffff81111561247e575f5ffd5b61248a89828a01612322565b979a9699509497509295939492505050565b600181811c908216806124b057607f821691505b6020821081036124e7577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6080810181835f5b6004811015612541578151835260209283019290910190600101612522565b50505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b818103818111156104055761040561254a565b5f81518060208401855e5f93019283525090919050565b5f6125b56125af838b61258a565b8961258a565b7fff000000000000000000000000000000000000000000000000000000000000008860f81b1681527fff000000000000000000000000000000000000000000000000000000000000008760f81b1660018201527fff000000000000000000000000000000000000000000000000000000000000008660f81b166002820152612640600382018661258a565b60f89490941b7fff0000000000000000000000000000000000000000000000000000000000000016845250506001909101979650505050505050565b8481527fff000000000000000000000000000000000000000000000000000000000000008460f81b1660208201525f6126b8602183018561258a565b60f89390931b7fff0000000000000000000000000000000000000000000000000000000000000016835250506001019392505050565b808201808211156104055761040561254a565b5f82612734577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b50069056fea264697066735822122028d20a5d414f9aeeef1fff1ecfa26af3f5e307f772c317fd3dad1f62e0eaf87164736f6c634300081c0033";
type BN254SignatureSchemeConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: BN254SignatureSchemeConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class BN254SignatureScheme__factory extends ContractFactory {
constructor(...args: BN254SignatureSchemeConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
}
}
override getDeployTransaction(
x: [BigNumberish, BigNumberish],
y: [BigNumberish, BigNumberish],
overrides?: NonPayableOverrides & { from?: string }
): Promise<ContractDeployTransaction> {
return super.getDeployTransaction(x, y, overrides || {});
}
override deploy(
x: [BigNumberish, BigNumberish],
y: [BigNumberish, BigNumberish],
overrides?: NonPayableOverrides & { from?: string }
) {
return super.deploy(x, y, overrides || {}) as Promise<
BN254SignatureScheme & {
deploymentTransaction(): ContractTransactionResponse;
}
>;
}
override connect(
runner: ContractRunner | null
): BN254SignatureScheme__factory {
return super.connect(runner) as BN254SignatureScheme__factory;
}
static readonly bytecode = _bytecode;
static readonly abi = _abi;
static createInterface(): BN254SignatureSchemeInterface {
return new Interface(_abi) as BN254SignatureSchemeInterface;
}
static connect(
address: string,
runner?: ContractRunner | null
): BN254SignatureScheme {
return new Contract(
address,
_abi,
runner
) as unknown as BN254SignatureScheme;
}
}