@ethsub/sol
Version:
ethsub contracts
355 lines (348 loc) • 16 kB
text/typescript
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
import { Provider, TransactionRequest } from "@ethersproject/providers";
import type {
ERC1155Handler,
ERC1155HandlerInterface,
} from "../ERC1155Handler";
const _abi = [
{
inputs: [
{
internalType: "address",
name: "bridgeAddress",
type: "address",
},
],
stateMutability: "nonpayable",
type: "constructor",
},
{
inputs: [],
name: "_bridgeAddress",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
name: "_burnList",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
name: "_contractWhitelist",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
name: "_resourceIDToTokenContractAddress",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
name: "_tokenContractAddressToResourceID",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "uint256[]",
name: "",
type: "uint256[]",
},
{
internalType: "uint256[]",
name: "",
type: "uint256[]",
},
{
internalType: "bytes",
name: "",
type: "bytes",
},
],
name: "onERC1155BatchReceived",
outputs: [
{
internalType: "bytes4",
name: "",
type: "bytes4",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
{
internalType: "bytes",
name: "",
type: "bytes",
},
],
name: "onERC1155Received",
outputs: [
{
internalType: "bytes4",
name: "",
type: "bytes4",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "contractAddress",
type: "address",
},
],
name: "setBurnable",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "resourceID",
type: "bytes32",
},
{
internalType: "address",
name: "contractAddress",
type: "address",
},
],
name: "setResource",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "bytes4",
name: "interfaceId",
type: "bytes4",
},
],
name: "supportsInterface",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "resourceID",
type: "bytes32",
},
{
internalType: "address",
name: "depositer",
type: "address",
},
{
internalType: "bytes",
name: "data",
type: "bytes",
},
],
name: "deposit",
outputs: [
{
internalType: "bytes",
name: "metaData",
type: "bytes",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "resourceID",
type: "bytes32",
},
{
internalType: "bytes",
name: "data",
type: "bytes",
},
],
name: "executeProposal",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "bytes",
name: "data",
type: "bytes",
},
],
name: "withdraw",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
];
const _bytecode =
"0x60a060405234801561001057600080fd5b5060405161118b38038061118b83398101604081905261002f916100bf565b6001600160601b0319606082901b166080526100516301ffc9a760e01b610067565b610061630271189760e51b610067565b50610124565b6001600160e01b0319808216141561009a5760405162461bcd60e51b8152600401610091906100ed565b60405180910390fd5b6001600160e01b0319166000908152600460205260409020805460ff19166001179055565b6000602082840312156100d0578081fd5b81516001600160a01b03811681146100e6578182fd5b9392505050565b6020808252601c908201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604082015260600190565b60805160601c611045610146600039806102a252806104b852506110456000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80637f79bea81161008c578063bc197c8111610066578063bc197c81146101a6578063c8ba6c87146101c6578063e248cff2146101e6578063f23a6e61146101f9576100cf565b80637f79bea814610160578063b07e54bb14610173578063b8fa373614610193576100cf565b806301ffc9a7146100d457806307b7ed99146100fd5780630968f264146101125780630a6d55d814610125578063318c136e146101455780636a70d0811461014d575b600080fd5b6100e76100e2366004610c4e565b61020c565b6040516100f49190610e1e565b60405180910390f35b61011061010b366004610840565b61022b565b005b610110610120366004610c76565b61023f565b610138610133366004610b63565b610285565b6040516100f49190610d17565b6101386102a0565b6100e761015b366004610840565b6102c4565b6100e761016e366004610840565b6102d9565b610186610181366004610baa565b6102ee565b6040516100f49190610e47565b6101106101a1366004610b7b565b6103a4565b6101b96101b4366004610949565b6103ba565b6040516100f49190610e32565b6101d96101d4366004610840565b6103cb565b6040516100f49190610e29565b6101106101f4366004610c04565b6103dd565b6101b96102073660046109f3565b61049c565b6001600160e01b03191660009081526004602052604090205460ff1690565b6102336104ad565b61023c816104f7565b50565b6102476104ad565b6000806060806060858060200190518101906102639190610863565b93985091965094509250905061027d853086868686610553565b505050505050565b6000602081905290815260409020546001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60036020526000908152604090205460ff1681565b60026020526000908152604090205460ff1681565b60606102f86104ad565b60608061030784860186610a5a565b60008981526020819052604090205491935091506001600160a01b03168061034a5760405162461bcd60e51b815260040161034190610ed5565b60405180910390fd5b6001600160a01b03811660009081526003602052604090205460ff161561037c57610377818885856105c4565b610399565b610399818830868660405180602001604052806000815250610553565b505050949350505050565b6103ac6104ad565b6103b68282610624565b5050565b63bc197c8160e01b95945050505050565b60016020526000908152604090205481565b6103e56104ad565b60608080806103f685870187610abb565b60208083015160008d81528083526040808220546001600160a01b031680835260029094529020549599509397509195509350909160ff1661044a5760405162461bcd60e51b815260040161034190610f17565b6001600160a01b03811660009081526003602052604090205460ff16156104805761047b818360601c888887610671565b610491565b61049181308460601c898988610553565b505050505050505050565b63f23a6e6160e01b95945050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104f55760405162461bcd60e51b815260040161034190610e5a565b565b6001600160a01b03811660009081526002602052604090205460ff1661052f5760405162461bcd60e51b815260040161034190610e91565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b604051631759616b60e11b815286906001600160a01b03821690632eb2c2d6906105899089908990899089908990600401610d2b565b600060405180830381600087803b1580156105a357600080fd5b505af11580156105b7573d6000803e3d6000fd5b5050505050505050505050565b604051631ac8311560e21b815284906001600160a01b03821690636b20c454906105f690879087908790600401610d89565b600060405180830381600087803b15801561061057600080fd5b505af1158015610491573d6000803e3d6000fd5b60008281526020818152604080832080546001600160a01b039095166001600160a01b0319909516851790559282526001808252838320949094556002905220805460ff19169091179055565b604051630fbfeffd60e11b815285906001600160a01b03821690631f7fdffa906106a5908890889088908890600401610dc9565b600060405180830381600087803b1580156106bf57600080fd5b505af11580156106d3573d6000803e3d6000fd5b50505050505050505050565b600082601f8301126106ef578081fd5b81356107026106fd82610f86565b610f5f565b81815291506020808301908481018184028601820187101561072357600080fd5b60005b8481101561074257813584529282019290820190600101610726565b505050505092915050565b600082601f83011261075d578081fd5b815161076b6106fd82610f86565b81815291506020808301908481018184028601820187101561078c57600080fd5b60005b848110156107425781518452928201929082019060010161078f565b60008083601f8401126107bc578182fd5b50813567ffffffffffffffff8111156107d3578182fd5b6020830191508360208285010111156107eb57600080fd5b9250929050565b600082601f830112610802578081fd5b81356108106106fd82610fa6565b915080825283602082850101111561082757600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215610851578081fd5b813561085c81610ffa565b9392505050565b600080600080600060a0868803121561087a578081fd5b855161088581610ffa565b602087015190955061089681610ffa565b604087015190945067ffffffffffffffff808211156108b3578283fd5b6108bf89838a0161074d565b945060608801519150808211156108d4578283fd5b6108e089838a0161074d565b935060808801519150808211156108f5578283fd5b508601601f81018813610906578182fd5b80516109146106fd82610fa6565b818152896020838501011115610928578384fd5b610939826020830160208601610fca565b8093505050509295509295909350565b600080600080600060a08688031215610960578081fd5b853561096b81610ffa565b9450602086013561097b81610ffa565b9350604086013567ffffffffffffffff80821115610997578283fd5b6109a389838a016106df565b945060608801359150808211156109b8578283fd5b6109c489838a016106df565b935060808801359150808211156109d9578283fd5b506109e6888289016107f2565b9150509295509295909350565b600080600080600060a08688031215610a0a578081fd5b8535610a1581610ffa565b94506020860135610a2581610ffa565b93506040860135925060608601359150608086013567ffffffffffffffff811115610a4e578182fd5b6109e6888289016107f2565b60008060408385031215610a6c578182fd5b823567ffffffffffffffff80821115610a83578384fd5b610a8f868387016106df565b93506020850135915080821115610aa4578283fd5b50610ab1858286016106df565b9150509250929050565b60008060008060808587031215610ad0578384fd5b843567ffffffffffffffff80821115610ae7578586fd5b610af3888389016106df565b95506020870135915080821115610b08578485fd5b610b14888389016106df565b94506040870135915080821115610b29578384fd5b610b35888389016107f2565b93506060870135915080821115610b4a578283fd5b50610b57878288016107f2565b91505092959194509250565b600060208284031215610b74578081fd5b5035919050565b60008060408385031215610b8d578182fd5b823591506020830135610b9f81610ffa565b809150509250929050565b60008060008060608587031215610bbf578182fd5b843593506020850135610bd181610ffa565b9250604085013567ffffffffffffffff811115610bec578283fd5b610bf8878288016107ab565b95989497509550505050565b600080600060408486031215610c18578081fd5b83359250602084013567ffffffffffffffff811115610c35578182fd5b610c41868287016107ab565b9497909650939450505050565b600060208284031215610c5f578081fd5b81356001600160e01b03198116811461085c578182fd5b600060208284031215610c87578081fd5b813567ffffffffffffffff811115610c9d578182fd5b610ca9848285016107f2565b949350505050565b6000815180845260208085019450808401835b83811015610ce057815187529582019590820190600101610cc4565b509495945050505050565b60008151808452610d03816020860160208601610fca565b601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0386811682528516602082015260a060408201819052600090610d5790830186610cb1565b8281036060840152610d698186610cb1565b90508281036080840152610d7d8185610ceb565b98975050505050505050565b6001600160a01b0384168152606060208201819052600090610dad90830185610cb1565b8281036040840152610dbf8185610cb1565b9695505050505050565b6001600160a01b0385168152608060208201819052600090610ded90830186610cb1565b8281036040840152610dff8186610cb1565b90508281036060840152610e138185610ceb565b979650505050505050565b901515815260200190565b90815260200190565b6001600160e01b031991909116815260200190565b60006020825261085c6020830184610ceb565b6020808252601e908201527f73656e646572206d7573742062652062726964676520636f6e74726163740000604082015260600190565b60208082526024908201527f70726f766964656420636f6e7472616374206973206e6f742077686974656c696040820152631cdd195960e21b606082015260800190565b60208082526022908201527f70726f7669646564207265736f75726365494420646f6573206e6f74206578696040820152611cdd60f21b606082015260800190565b60208082526028908201527f70726f766964656420746f6b656e41646472657373206973206e6f74207768696040820152671d195b1a5cdd195960c21b606082015260800190565b60405181810167ffffffffffffffff81118282101715610f7e57600080fd5b604052919050565b600067ffffffffffffffff821115610f9c578081fd5b5060209081020190565b600067ffffffffffffffff821115610fbc578081fd5b50601f01601f191660200190565b60005b83811015610fe5578181015183820152602001610fcd565b83811115610ff4576000848401525b50505050565b6001600160a01b038116811461023c57600080fdfea26469706673582212205bcf8df36ca971afd3c04c811c19cdf96e8c6e65b9c87946176a3dcac19dc06d64736f6c634300060c0033";
type ERC1155HandlerConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: ERC1155HandlerConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class ERC1155Handler__factory extends ContractFactory {
constructor(...args: ERC1155HandlerConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
}
}
deploy(
bridgeAddress: string,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ERC1155Handler> {
return super.deploy(
bridgeAddress,
overrides || {}
) as Promise<ERC1155Handler>;
}
getDeployTransaction(
bridgeAddress: string,
overrides?: Overrides & { from?: string | Promise<string> }
): TransactionRequest {
return super.getDeployTransaction(bridgeAddress, overrides || {});
}
attach(address: string): ERC1155Handler {
return super.attach(address) as ERC1155Handler;
}
connect(signer: Signer): ERC1155Handler__factory {
return super.connect(signer) as ERC1155Handler__factory;
}
static readonly bytecode = _bytecode;
static readonly abi = _abi;
static createInterface(): ERC1155HandlerInterface {
return new utils.Interface(_abi) as ERC1155HandlerInterface;
}
static connect(
address: string,
signerOrProvider: Signer | Provider
): ERC1155Handler {
return new Contract(address, _abi, signerOrProvider) as ERC1155Handler;
}
}