blocklock-js
Version:
A library for encrypting and decrypting data for the future
308 lines (300 loc) • 26.5 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 {
BlocklockSignatureScheme,
BlocklockSignatureSchemeInterface,
} from "../BlocklockSignatureScheme";
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 =
"0x5f60c081815260e0829052608081815261014060405261010083815261012084905260a052919061003390829060026102cd565b50602082015161004990600280840191906102cd565b505050348015610057575f5ffd5b506040516127e73803806127e78339810160408190526100769161039f565b6040805180820190915282815260208101829052829082905f61009b818560026102cd565b5060208201516100b190600280840191906102cd565b5090505050506100cd6100c861010260201b60201c565b610106565b6040516020016100dd91906103d2565b604051602081830303815290604052600490816100fa91906104b3565b5050506105c5565b4690565b604080518082018252601081526f181899199a1a9b1b9c1cb0b131b232b360811b602082015281516042808252608082019093526060925f9190602082018180368337019050509050600360fc1b815f815181106101665761016661056d565b60200101906001600160f81b03191690815f1a905350600f60fb1b816001815181106101945761019461056d565b60200101906001600160f81b03191690815f1a9053505f5b60208110156102c5578260048683602081106101ca576101ca61056d565b1a60f81b6001600160f81b031916901c60f81c60ff16815181106101f0576101f061056d565b01602001516001600160f81b0319168261020b836002610595565b6102169060026105b2565b815181106102265761022661056d565b60200101906001600160f81b03191690815f1a9053508285826020811061024f5761024f61056d565b825191901a600f169081106102665761026661056d565b01602001516001600160f81b03191682610281836002610595565b61028c9060026105b2565b6102979060016105b2565b815181106102a7576102a761056d565b60200101906001600160f81b03191690815f1a9053506001016101ac565b509392505050565b82600281019282156102fb579160200282015b828111156102fb5782518255916020019190600101906102e0565b5061030792915061030b565b5090565b5b80821115610307575f815560010161030c565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610342575f5ffd5b604080519081016001600160401b03811182821017156103645761036461031f565b806040525080604084018581111561037a575f5ffd5b845b8181101561039457805183526020928301920161037c565b509195945050505050565b5f5f608083850312156103b0575f5ffd5b6103ba8484610333565b91506103c98460408501610333565b90509250929050565b7f424c4f434b4c4f434b5f424e32353447315f584d443a4b454343414b2d32353681526b5f535644575f524f5f48315f60a01b60208201525f82518060208501602c85015e605f60f81b602c939091019283015250602d01919050565b600181811c9082168061044357607f821691505b60208210810361046157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104ae57805f5260205f20601f840160051c8101602085101561048c5750805b601f840160051c820191505b818110156104ab575f8155600101610498565b50505b505050565b81516001600160401b038111156104cc576104cc61031f565b6104e0816104da845461042f565b84610467565b6020601f821160018114610512575f83156104fb5750848201515b5f19600385901b1c1916600184901b1784556104ab565b5f84815260208120601f198516915b828110156105415787850151825560209485019460019092019101610521565b508482101561055e57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176105ac576105ac610581565b92915050565b808201808211156105ac576105ac610581565b612215806105d25f395ff3fe608060405234801561000f575f5ffd5b5060043610610085575f3560e01c80638a1f165a116100585780638a1f165a146100f3578063acae9fee14610125578063eae1e15b1461012d578063f6e548e914610140575f5ffd5b80632e334452146100895780633033cc51146100a85780633408e470146100d05780635f7c7522146100de575b5f5ffd5b610091610163565b60405161009f929190611e88565b60405180910390f35b6100bb6100b6366004611ee8565b6101dc565b6040805192835260208301919091520161009f565b60405146815260200161009f565b6100e66102bc565b60405161009f9190611f55565b6100e660405180604001604052806013815260200172424e3235342d424c532d424c4f434b4c4f434b60681b81525081565b6100e6610348565b6100e661013b366004611ee8565b6103c7565b61015361014e366004611f67565b610401565b604051901515815260200161009f565b61016b611de1565b610173611de1565b60408051808201918290525f91600291908390839082845b81548152602001906001019080831161018b575050604080518082019182905294965085935060029250905082845b8154815260200190600101908083116101ba5750505050509050915091509091565b5f5f5f6102a6600480546101ef90612006565b80601f016020809104026020016040519081016040528092919081815260200182805461021b90612006565b80156102665780601f1061023d57610100808354040283529160200191610266565b820191905f5260205f20905b81548152906001019060200180831161024957829003601f168201915b505050505086868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506104e192505050565b80516020909101519093509150505b9250929050565b600480546102c990612006565b80601f01602080910402602001604051908101604052809291908181526020018280546102f590612006565b80156103405780601f1061031757610100808354040283529160200191610340565b820191905f5260205f20905b81548152906001019060200180831161032357829003601f168201915b505050505081565b60408051608081018083526060926103c292915f91839190820190839060029082845b81548152602001906001019080831161036b57505050918352505060408051808201918290526020909201919060028481019182845b8154815260200190600101908083116103a1575050505050815250506105ad565b905090565b60605f5f6103d585856101dc565b915091506103f6604051806040016040528084815260200183815250610609565b925050505b92915050565b5f5f61044188888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061064292505050565b90505f61048287878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061064292505050565b90505f6104c386868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506106c592505050565b90505f6104d1838386610766565b509b9a5050505050505050505050565b604080518082019091525f80825260208201525f6104ff84846108d9565b90505f61051282825b602002015161098e565b90505f610520836001610508565b905061052a611dff565b825181526020808401518282015282516040808401919091529083015160608301525f908460808460066107d05a03fa9050806105855781604051630251c7e160e31b815260040161057c9190612052565b60405180910390fd5b6040805180820190915284518152602081018560016020020151905298975050505050505050565b60408051608080825260a082019092526060915f91906020820181803683375050845180516020918201519682015180519083015192850191909152604084019690965260608301959095525060808101939093525090919050565b6040805181815260608181018352915f919060208201818036833750508451602095860151958301525060408101939093525090919050565b604080518082019091525f808252602082015281516040146106a65760405162461bcd60e51b815260206004820152601760248201527f496e76616c6964204731206279746573206c656e677468000000000000000000604482015260640161057c565b5060208181015160409283015183518085019094529083529082015290565b6106cd611e1d565b815160801461071e5760405162461bcd60e51b815260206004820152601760248201527f496e76616c6964204732206279746573206c656e677468000000000000000000604482015260640161057c565b50602081810151604080840151606080860151608096870151845197880185528785019586529187019290925292855281518083019092528152808301919091529082015290565b5f5f5f604051806101800160405280875f01518152602001876020015181526020017f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c281526020017f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed81526020017f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec81526020017f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d8152602001855f0151815260200185602001518152602001865f01516001600281106108495761084961203e565b60200201518152602001865f01515f600281106108685761086861203e565b6020020151815260200186602001516001600281106108895761088961203e565b6020020151815260200186602001515f600281106108a9576108a961203e565b6020020151905290506108ba611e42565b6020816101808460086107d05a03fa9051151597909650945050505050565b6108e1611de1565b5f6108ec8484610c6f565b90505f5f5f5f601885016001600160c01b0381511693506030860190506001600160c01b0381511694505f5160206121a05f395f51905f52855f5160206121a05f395f51905f52600160c01b870908604887015160608801516001600160c01b03908116975016945092505f5160206121a05f395f51905f5290508481600160c01b860908604080518082019091529283526020830152509695505050505050565b610996611de1565b5f5160206121a05f395f51905f5282106109c65760405163d53e941560e01b81526004810183905260240161057c565b5f5f5160206121a05f395f51905f5260045f5160206121a05f395f51905f528586090990505f5f5160206121a05f395f51905f528260010890505f5160206121a05f395f51905f52610a25835f5160206121a05f395f51905f52612096565b60010891505f610a445f5160206121a05f395f51905f52838509610dc6565b90505f5f5160206121a05f395f51905f5278016789af3a83522eb353c98fc6b36d713d5d8d1cc5dffffffa5f5160206121a05f395f51905f52845f5160206121a05f395f51905f52888b09090990505f5f5160206121a05f395f51905f52610ab9835f5160206121a05f395f51905f52612096565b5f5160206121c05f395f51905f520890505f5f5160206121a05f395f51905f52835f5160206121c05f395f51905f520890505f5f5160206121a05f395f51905f5286870990505f5f5160206121a05f395f51905f5286830990505f5f5160206121a05f395f51905f52805f5160206121a05f395f51905f528485097f10216f7ba065e00de81ac1e7808072c9dd2b2385cd7b438469602eb24829a9bd0960010890505f5f610b6e610b6988610dd0565b610e09565b5f0b600103610bbe57868c52610b8387610dd0565b9050610b8e81610e6e565b60208e0191909152915081610bb95760405163396ec77160e01b81526004810182905260240161057c565b610c21565b610bca610b6987610dd0565b5f0b600103610bdf57858c52610b8386610dd0565b828c52610beb83610dd0565b9050610bf681610e6e565b60208e0191909152915081610c215760405163396ec77160e01b81526004810182905260240161057c565b60208c0151610c2f90610e95565b610c388e610e95565b14610c5f5760208c0151610c59905f5160206121a05f395f51905f52612096565b60208d01525b5050505050505050505050919050565b815160609060ff811115610c9857836040516313727cdd60e11b815260040161057c9190611f55565b60408051608880825260c082019092525f916020820181803683370190505090505f81855f60605f8a88604051602001610cd897969594939291906120c0565b60405160208183030381529060405290505f818051906020012090505f8160018987604051602001610d0d949392919061212a565b60408051808303601f1901815282825280516020820120606080855260808501909352909350915f91602082018180368337019050509050600360015b81811015610da957858418610d6082600161216d565b8d8b604051602001610d75949392919061212a565b60408051808303601f1901815291905260205f19830181028501810195909552805194810194909420939450600101610d4a565b505f19016020908102820101919091529550505050505092915050565b5f6103fb82610ea1565b5f5f5160206121a05f395f51905f5260035f5160206121a05f395f51905f52845f5160206121a05f395f51905f52868709090892915050565b5f5f610e14836115e6565b9050610e2e60015f5160206121a05f395f51905f52612096565b8103610e3d57505f1992915050565b8015801590610e4d575080600114155b156103fb5760405163396ec77160e01b81526004810184905260240161057c565b5f5f610e79836116ae565b9150825f5160206121a05f395f51905f52838409149050915091565b5f6103fb600283612180565b5f5f5160206121a05f395f51905f528083840991508083830981838209828283098385830984848309858484098684850997508684840987858409945087898a09985087898a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087818a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a09985087898a09985087898a09985087898a09985087818a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087898a09985087898a09985087838a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087818a09985050868889099750868889099750868889099750868889099750868889099750868889099750868489099750868889099750868889099750868889099750868889099750868889099750868989099750868889099750868889099750868889099750868889099750868889099750868889099750868989099750868889099750868889099750868889099750868889099750868889099750868689099750868889099750868889099750868889099750868889099750868889099750868889099750868889099750868889099750868889099750868189099750508587880996508587880996508587880996508585880996508587880996508587880996508587880996508585880996508587880996508587880996508587880996508587880996508587880996508587880996508587880996508587880996508583880996508587880996508587880996508587880996508587880996508581880996505050838586099450838586099450838586099450838586099450838186099450508284850993508284850993508284850993508281850993508284850993508284850993508285850993508284850993508284850993508284850993508284850993508284850993508284850993508281850995945050505050565b6040805160c080825260e082019092525f918291906020820181803683370190505060208082018181526040830182905260608301829052608083018690525f5160206121c05f395f51905f5260a08401525f5160206121a05f395f51905f5260c0808501919091529293505f92839160055afa90505f519250806116a75760405163c6daf7ab60e01b8152600481018590525f5160206121c05f395f51905f5260248201525f5160206121a05f395f51905f52604482015260640161057c565b5050919050565b5f5f5160206121a05f395f51905f528083840991508083830981838209828283098385830984848309858484098684850997508684840987858409945087898a09985087898a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087818a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a09985087898a09985087898a09985087898a09985087818a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087898a09985087898a09985087838a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087818a09985050868889099750868889099750868889099750868889099750868889099750868889099750868489099750868889099750868889099750868889099750868889099750868889099750868989099750868889099750868889099750868889099750868889099750868889099750868889099750868989099750868889099750868889099750868889099750868889099750868889099750868689099750868889099750868889099750868889099750868889099750868889099750868889099750868889099750868889099750868889099750868189099750508587880996508587880996508587880996508585880996508587880996508587880996508587880996508585880996508587880996508587880996508587880996508587880996508587880996508587880996508587880996508587880996508583880996508587880996508587880996508587880996508587880996508581880996508587880996508587880996508587880996508587880996508583880996508587880996508587880996508587880996508584880996508587880996508587880996508587880996508587880996508587880996508581880996505050505050808283099392505050565b60405180604001604052806002906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b6040518060400160405280611e30611de1565b8152602001611e3d611de1565b905290565b60405180602001604052806001906020820280368337509192915050565b805f5b6002811015611e82578151845260209384019390910190600101611e63565b50505050565b60808101611e968285611e60565b611ea36040830184611e60565b9392505050565b5f5f83601f840112611eba575f5ffd5b50813567ffffffffffffffff811115611ed1575f5ffd5b6020830191508360208285010111156102b5575f5ffd5b5f5f60208385031215611ef9575f5ffd5b823567ffffffffffffffff811115611f0f575f5ffd5b611f1b85828601611eaa565b90969095509350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f611ea36020830184611f27565b5f5f5f5f5f5f60608789031215611f7c575f5ffd5b863567ffffffffffffffff811115611f92575f5ffd5b611f9e89828a01611eaa565b909750955050602087013567ffffffffffffffff811115611fbd575f5ffd5b611fc989828a01611eaa565b909550935050604087013567ffffffffffffffff811115611fe8575f5ffd5b611ff489828a01611eaa565b979a9699509497509295939492505050565b600181811c9082168061201a57607f821691505b60208210810361203857634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b6080810181835f5b600481101561207957815183526020928301929091019060010161205a565b50505092915050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103fb576103fb612082565b5f81518060208401855e5f93019283525090919050565b5f6120d46120ce838b6120a9565b896120a9565b6001600160f81b031960f889811b8216835288811b8216600184015287901b16600282015261210660038201866120a9565b60f89490941b6001600160f81b031916845250506001909101979650505050505050565b84815260f884901b6001600160f81b03191660208201525f61214f60218301856120a9565b60f89390931b6001600160f81b031916835250506001019392505050565b808201808211156103fb576103fb612082565b5f8261219a57634e487b7160e01b5f52601260045260245ffd5b50069056fe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47183227397098d014dc2822db40c0ac2ecbc0b548b438e5469e10460b6c3e7ea3a26469706673582212204bc80b6eae0be6ae78e0f3f91f5da33df6c1590fc39914e15e9f9bfaa55a9bb564736f6c634300081c0033";
type BlocklockSignatureSchemeConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: BlocklockSignatureSchemeConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class BlocklockSignatureScheme__factory extends ContractFactory {
constructor(...args: BlocklockSignatureSchemeConstructorParams) {
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<
BlocklockSignatureScheme & {
deploymentTransaction(): ContractTransactionResponse;
}
>;
}
override connect(
runner: ContractRunner | null
): BlocklockSignatureScheme__factory {
return super.connect(runner) as BlocklockSignatureScheme__factory;
}
static readonly bytecode = _bytecode;
static readonly abi = _abi;
static createInterface(): BlocklockSignatureSchemeInterface {
return new Interface(_abi) as BlocklockSignatureSchemeInterface;
}
static connect(
address: string,
runner?: ContractRunner | null
): BlocklockSignatureScheme {
return new Contract(
address,
_abi,
runner
) as unknown as BlocklockSignatureScheme;
}
}