randomness-js
Version:
A library for consuming, verifying and using randomness from the dcipher network
277 lines (276 loc) • 16.3 kB
TypeScript
import { ContractFactory, ContractTransactionResponse } from "ethers";
import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers";
import type { NonPayableOverrides } from "../common";
import type { SignatureSchemeAddressProvider, SignatureSchemeAddressProviderInterface } from "../SignatureSchemeAddressProvider";
type SignatureSchemeAddressProviderConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class SignatureSchemeAddressProvider__factory extends ContractFactory {
constructor(...args: SignatureSchemeAddressProviderConstructorParams);
getDeployTransaction(owner: AddressLike, overrides?: NonPayableOverrides & {
from?: string;
}): Promise<ContractDeployTransaction>;
deploy(owner: AddressLike, overrides?: NonPayableOverrides & {
from?: string;
}): Promise<SignatureSchemeAddressProvider & {
deploymentTransaction(): ContractTransactionResponse;
}>;
connect(runner: ContractRunner | null): SignatureSchemeAddressProvider__factory;
static readonly bytecode = "0x608060405234801561000f575f5ffd5b50604051610cb6380380610cb683398101604081905261002e916101a7565b6001600160a01b03811661003f5750335b6100495f826100fe565b61008e5760405162461bcd60e51b815260206004820152601160248201527011dc985b9d081c9bdb194819985a5b1959607a1b60448201526064015b60405180910390fd5b6100b87fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775826100fe565b6100f85760405162461bcd60e51b815260206004820152601160248201527011dc985b9d081c9bdb194819985a5b1959607a1b6044820152606401610085565b506101d4565b5f828152602081815260408083206001600160a01b038516845290915281205460ff1661019e575f838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556101563390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016101a1565b505f5b92915050565b5f602082840312156101b7575f5ffd5b81516001600160a01b03811681146101cd575f5ffd5b9392505050565b610ad5806101e15f395ff3fe608060405234801561000f575f5ffd5b50600436106100c4575f3560e01c80635bb09cf81161007d578063a217fddf11610058578063a217fddf146101fd578063bab867da14610204578063d547741f14610217575f5ffd5b80635bb09cf81461015b57806375b238fc1461019357806391d14854146101ba575f5ffd5b80632f2ff15d116100ad5780632f2ff15d146101205780632fc9fa331461013557806336568abe14610148575f5ffd5b806301ffc9a7146100c8578063248a9ca3146100f0575b5f5ffd5b6100db6100d636600461090d565b61022a565b60405190151581526020015b60405180910390f35b6101126100fe366004610953565b5f9081526020819052604090206001015490565b6040519081526020016100e7565b61013361012e366004610992565b6102c2565b005b6100db610143366004610a01565b6102ec565b610133610156366004610992565b610346565b61016e610169366004610a01565b6103a4565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100e7565b6101127fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b6100db6101c8366004610992565b5f9182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b6101125f81565b610133610212366004610a40565b6103e5565b610133610225366004610992565b6106a1565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806102bc57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b5f828152602081905260409020600101546102dc816106c5565b6102e683836106d2565b50505050565b5f5f73ffffffffffffffffffffffffffffffffffffffff1660018484604051610316929190610a90565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff161415905092915050565b73ffffffffffffffffffffffffffffffffffffffff81163314610395576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61039f82826107cb565b505050565b5f600183836040516103b7929190610a90565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905092915050565b61040e7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756106c5565b73ffffffffffffffffffffffffffffffffffffffff811615801590610449575073ffffffffffffffffffffffffffffffffffffffff81163b15155b6104da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f496e76616c696420636f6e7472616374206164647265737320666f722073636860448201527f656d65416464726573730000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660018484604051610503929190610a90565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16146105b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f536368656d6520616c726561647920616464656420666f7220736368656d654960448201527f440000000000000000000000000000000000000000000000000000000000000060648201526084016104d1565b80600184846040516105c9929190610a90565b908152604051908190036020018120805473ffffffffffffffffffffffffffffffffffffffff939093167fffffffffffffffffffffffff00000000000000000000000000000000000000009093169290921790915560019061062e9085908590610a90565b9081526040519081900360200181205473ffffffffffffffffffffffffffffffffffffffff16906106629085908590610a90565b604051908190038120428252907f0a1cd6a1e0a7b200d28ead555f3cee96e0d2def049535fbcfdc2926bc4cec5049060200160405180910390a3505050565b5f828152602081905260409020600101546106bb816106c5565b6102e683836107cb565b6106cf8133610884565b50565b5f8281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915281205460ff166107c4575f8381526020818152604080832073ffffffffffffffffffffffffffffffffffffffff86168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556107623390565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016102bc565b505f6102bc565b5f8281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915281205460ff16156107c4575f8381526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8616808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016102bc565b5f8281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610909576040517fe2517d3f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602481018390526044016104d1565b5050565b5f6020828403121561091d575f5ffd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461094c575f5ffd5b9392505050565b5f60208284031215610963575f5ffd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461098d575f5ffd5b919050565b5f5f604083850312156109a3575f5ffd5b823591506109b36020840161096a565b90509250929050565b5f5f83601f8401126109cc575f5ffd5b50813567ffffffffffffffff8111156109e3575f5ffd5b6020830191508360208285010111156109fa575f5ffd5b9250929050565b5f5f60208385031215610a12575f5ffd5b823567ffffffffffffffff811115610a28575f5ffd5b610a34858286016109bc565b90969095509350505050565b5f5f5f60408486031215610a52575f5ffd5b833567ffffffffffffffff811115610a68575f5ffd5b610a74868287016109bc565b9094509250610a8790506020850161096a565b90509250925092565b818382375f910190815291905056fea2646970667358221220494820d46e1f78bcf8e52638cf1f300983bdb28b1178bafc45528216306e873064736f6c634300081c0033";
static readonly abi: readonly [{
readonly type: "constructor";
readonly inputs: readonly [{
readonly name: "owner";
readonly type: "address";
readonly internalType: "address";
}];
readonly stateMutability: "nonpayable";
}, {
readonly type: "function";
readonly name: "ADMIN_ROLE";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly name: "";
readonly type: "bytes32";
readonly internalType: "bytes32";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "DEFAULT_ADMIN_ROLE";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly name: "";
readonly type: "bytes32";
readonly internalType: "bytes32";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "getRoleAdmin";
readonly inputs: readonly [{
readonly name: "role";
readonly type: "bytes32";
readonly internalType: "bytes32";
}];
readonly outputs: readonly [{
readonly name: "";
readonly type: "bytes32";
readonly internalType: "bytes32";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "getSignatureSchemeAddress";
readonly inputs: readonly [{
readonly name: "schemeID";
readonly type: "string";
readonly internalType: "string";
}];
readonly outputs: readonly [{
readonly name: "";
readonly type: "address";
readonly internalType: "address";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "grantRole";
readonly inputs: readonly [{
readonly name: "role";
readonly type: "bytes32";
readonly internalType: "bytes32";
}, {
readonly name: "account";
readonly type: "address";
readonly internalType: "address";
}];
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
}, {
readonly type: "function";
readonly name: "hasRole";
readonly inputs: readonly [{
readonly name: "role";
readonly type: "bytes32";
readonly internalType: "bytes32";
}, {
readonly name: "account";
readonly type: "address";
readonly internalType: "address";
}];
readonly outputs: readonly [{
readonly name: "";
readonly type: "bool";
readonly internalType: "bool";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "isSupportedScheme";
readonly inputs: readonly [{
readonly name: "schemeID";
readonly type: "string";
readonly internalType: "string";
}];
readonly outputs: readonly [{
readonly name: "";
readonly type: "bool";
readonly internalType: "bool";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "renounceRole";
readonly inputs: readonly [{
readonly name: "role";
readonly type: "bytes32";
readonly internalType: "bytes32";
}, {
readonly name: "callerConfirmation";
readonly type: "address";
readonly internalType: "address";
}];
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
}, {
readonly type: "function";
readonly name: "revokeRole";
readonly inputs: readonly [{
readonly name: "role";
readonly type: "bytes32";
readonly internalType: "bytes32";
}, {
readonly name: "account";
readonly type: "address";
readonly internalType: "address";
}];
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
}, {
readonly type: "function";
readonly name: "supportsInterface";
readonly inputs: readonly [{
readonly name: "interfaceId";
readonly type: "bytes4";
readonly internalType: "bytes4";
}];
readonly outputs: readonly [{
readonly name: "";
readonly type: "bool";
readonly internalType: "bool";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "updateSignatureScheme";
readonly inputs: readonly [{
readonly name: "schemeID";
readonly type: "string";
readonly internalType: "string";
}, {
readonly name: "schemeAddress";
readonly type: "address";
readonly internalType: "address";
}];
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
}, {
readonly type: "event";
readonly name: "NewSignatureSchemeAddressAdded";
readonly inputs: readonly [{
readonly name: "schemeID";
readonly type: "string";
readonly indexed: true;
readonly internalType: "string";
}, {
readonly name: "schemeAddress";
readonly type: "address";
readonly indexed: true;
readonly internalType: "address";
}, {
readonly name: "addedAt";
readonly type: "uint256";
readonly indexed: false;
readonly internalType: "uint256";
}];
readonly anonymous: false;
}, {
readonly type: "event";
readonly name: "RoleAdminChanged";
readonly inputs: readonly [{
readonly name: "role";
readonly type: "bytes32";
readonly indexed: true;
readonly internalType: "bytes32";
}, {
readonly name: "previousAdminRole";
readonly type: "bytes32";
readonly indexed: true;
readonly internalType: "bytes32";
}, {
readonly name: "newAdminRole";
readonly type: "bytes32";
readonly indexed: true;
readonly internalType: "bytes32";
}];
readonly anonymous: false;
}, {
readonly type: "event";
readonly name: "RoleGranted";
readonly inputs: readonly [{
readonly name: "role";
readonly type: "bytes32";
readonly indexed: true;
readonly internalType: "bytes32";
}, {
readonly name: "account";
readonly type: "address";
readonly indexed: true;
readonly internalType: "address";
}, {
readonly name: "sender";
readonly type: "address";
readonly indexed: true;
readonly internalType: "address";
}];
readonly anonymous: false;
}, {
readonly type: "event";
readonly name: "RoleRevoked";
readonly inputs: readonly [{
readonly name: "role";
readonly type: "bytes32";
readonly indexed: true;
readonly internalType: "bytes32";
}, {
readonly name: "account";
readonly type: "address";
readonly indexed: true;
readonly internalType: "address";
}, {
readonly name: "sender";
readonly type: "address";
readonly indexed: true;
readonly internalType: "address";
}];
readonly anonymous: false;
}, {
readonly type: "error";
readonly name: "AccessControlBadConfirmation";
readonly inputs: readonly [];
}, {
readonly type: "error";
readonly name: "AccessControlUnauthorizedAccount";
readonly inputs: readonly [{
readonly name: "account";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "neededRole";
readonly type: "bytes32";
readonly internalType: "bytes32";
}];
}];
static createInterface(): SignatureSchemeAddressProviderInterface;
static connect(address: string, runner?: ContractRunner | null): SignatureSchemeAddressProvider;
}
export {};