p2pix-smart-contracts/src/types/factories/p2pix.sol/P2PIX__factory.ts

516 lines
23 KiB
TypeScript

/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import {
Signer,
utils,
Contract,
ContractFactory,
BigNumberish,
Overrides,
} from "ethers";
import type { Provider, TransactionRequest } from "@ethersproject/providers";
import type { PromiseOrValue } from "../../common";
import type { P2PIX, P2PIXInterface } from "../../p2pix.sol/P2PIX";
const _abi = [
{
inputs: [
{
internalType: "uint256",
name: "defaultBlocks",
type: "uint256",
},
{
internalType: "address[]",
name: "validSigners",
type: "address[]",
},
],
stateMutability: "nonpayable",
type: "constructor",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "seller",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "depositID",
type: "uint256",
},
{
indexed: false,
internalType: "address",
name: "token",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "premium",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "DepositAdded",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "seller",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "depositID",
type: "uint256",
},
],
name: "DepositClosed",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "seller",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "depositID",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "DepositWithdrawn",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "buyer",
type: "address",
},
{
indexed: true,
internalType: "bytes32",
name: "lockID",
type: "bytes32",
},
{
indexed: false,
internalType: "uint256",
name: "depositID",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "LockAdded",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "buyer",
type: "address",
},
{
indexed: false,
internalType: "bytes32",
name: "lockId",
type: "bytes32",
},
],
name: "LockReleased",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "buyer",
type: "address",
},
{
indexed: false,
internalType: "bytes32",
name: "lockId",
type: "bytes32",
},
],
name: "LockReturned",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "previousOwner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "OwnershipTransferred",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "address",
name: "owner",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "PremiumsWithdrawn",
type: "event",
},
{
inputs: [
{
internalType: "uint256",
name: "depositID",
type: "uint256",
},
],
name: "cancelDeposit",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "defaultLockBlocks",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "token",
type: "address",
},
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
{
internalType: "string",
name: "pixTarget",
type: "string",
},
],
name: "deposit",
outputs: [
{
internalType: "uint256",
name: "depositID",
type: "uint256",
},
],
stateMutability: "payable",
type: "function",
},
{
inputs: [],
name: "depositCount",
outputs: [
{
internalType: "uint256",
name: "_value",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "depositID",
type: "uint256",
},
{
internalType: "address",
name: "targetAddress",
type: "address",
},
{
internalType: "address",
name: "relayerAddress",
type: "address",
},
{
internalType: "uint256",
name: "relayerPremium",
type: "uint256",
},
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
{
internalType: "bytes32[]",
name: "expiredLocks",
type: "bytes32[]",
},
],
name: "lock",
outputs: [
{
internalType: "bytes32",
name: "lockID",
type: "bytes32",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "owner",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "lockID",
type: "bytes32",
},
{
internalType: "uint256",
name: "pixTimestamp",
type: "uint256",
},
{
internalType: "bytes32",
name: "r",
type: "bytes32",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
{
internalType: "uint8",
name: "v",
type: "uint8",
},
],
name: "release",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "renounceOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "transferOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "bytes32[]",
name: "lockIDs",
type: "bytes32[]",
},
],
name: "unlockExpired",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
name: "validBacenSigners",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "depositID",
type: "uint256",
},
{
internalType: "bytes32[]",
name: "expiredLocks",
type: "bytes32[]",
},
],
name: "withdraw",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "withdrawPremiums",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
];
const _bytecode =
"0x60806040523480156200001157600080fd5b506040516200197238038062001972833981016040819052620000349162000145565b6200003f33620000c2565b600282905560005b81518160ff161015620000b957600160036000848460ff168151811062000072576200007262000225565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580620000b0816200023b565b91505062000047565b5050506200026a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b03811681146200014057600080fd5b919050565b600080604083850312156200015957600080fd5b8251602080850151919350906001600160401b03808211156200017b57600080fd5b818601915086601f8301126200019057600080fd5b815181811115620001a557620001a562000112565b8060051b604051601f19603f83011681018181108582111715620001cd57620001cd62000112565b604052918252848201925083810185019189831115620001ec57600080fd5b938501935b828510156200021557620002058562000128565b84529385019392850192620001f1565b8096505050505050509250929050565b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff8114156200026157634e487b7160e01b600052601160045260246000fd5b60010192915050565b6116f8806200027a6000396000f3fe6080604052600436106100d25760003560e01c806372fada5c1161007f5780639872dbfe116100595780639872dbfe146101f5578063b93bd7d41461020b578063bfe07da61461024b578063f2fde38b1461025e57600080fd5b806372fada5c1461018d5780638da5cb5b146101ad5780638e2749d6146101d557600080fd5b80634e1389ed116100b05780634e1389ed146101435780636193cdfb14610163578063715018a61461017857600080fd5b806303aaf306146100d75780632dfdf0b51461010a5780633631797214610121575b600080fd5b3480156100e357600080fd5b506100f76100f2366004611345565b61027e565b6040519081526020015b60405180910390f35b34801561011657600080fd5b506001546100f79081565b34801561012d57600080fd5b5061014161013c3660046113c7565b610573565b005b34801561014f57600080fd5b5061014161015e366004611413565b610701565b34801561016f57600080fd5b50610141610b7c565b34801561018457600080fd5b50610141610bf0565b34801561019957600080fd5b506101416101a8366004611466565b610c04565b3480156101b957600080fd5b506000546040516001600160a01b039091168152602001610101565b3480156101e157600080fd5b506101416101f036600461147f565b610ce0565b34801561020157600080fd5b506100f760025481565b34801561021757600080fd5b5061023b6102263660046114c1565b60036020526000908152604090205460ff1681565b6040519015158152602001610101565b6100f76102593660046114e3565b610e62565b34801561026a57600080fd5b506101416102793660046114c1565b6110fd565b600061028a8383610ce0565b60008881526004602081905260409091209081015460ff166102f35760405162461bcd60e51b815260206004820181905260248201527f50325049583a204465706f736974206e6f742076616c696420616e796d6f726560448201526064015b60405180910390fd5b848160020154101561036d5760405162461bcd60e51b815260206004820152602c60248201527f50325049583a204e6f7420656e6f75676820746f6b656e2072656d61696e696e60448201527f67206f6e206465706f736974000000000000000000000000000000000000000060648201526084016102ea565b60408051602081018b9052908101869052606089811b6bffffffffffffffffffffffff1916908201526074016040516020818303038152906040528051906020012091504360056000848152602001908152602001600020600501541061043c5760405162461bcd60e51b815260206004820152603360248201527f50325049583a20416e6f74686572206c6f636b20776974682073616d6520494460448201527f206973206e6f742065787069726564207965740000000000000000000000000060648201526084016102ea565b60006040518060c001604052808b81526020018a6001600160a01b03168152602001896001600160a01b03168152602001888152602001878152602001600254436104879190611580565b9052600084815260056020818152604080842085518155918501516001830180546001600160a01b0392831673ffffffffffffffffffffffffffffffffffffffff199182161790915591860151600280850180549290931691909316179055606085015160038301556080850151600483015560a0850151919092015584018054929350889290919061051b908490611598565b9091555050604080518b81526020810188905284916001600160a01b038c16917f2a28b2ae47b0bd4b104e7cd29b1dfa72846af8c4cfdc009da2ae29db68cb67ea910160405180910390a35050979650505050505050565b60008381526004602052604090205483906001600160a01b031633146105f05760405162461bcd60e51b815260206004820152602c60248201527f50325049583a204f6e6c792073656c6c657220636f756c642063616c6c20746860448201526b34b990333ab731ba34b7b71760a11b60648201526084016102ea565b6105fa8383610ce0565b60008481526004602081905260409091209081015460ff16156106205761062085610c04565b60018101548154600283015460405163a9059cbb60e01b81526001600160a01b0392831660048201526024810191909152911690819063a9059cbb90604401602060405180830381600087803b15801561067957600080fd5b505af115801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b191906115af565b506002820180546000909155604080518881526020810183905233917f7719804546c0185709e60c90d164447ff251a5ba29af0216faa921350f6bebf7910160405180910390a250505050505050565b60008581526005602081905260409091209081015443108015610728575060008160040154115b61079a5760405162461bcd60e51b815260206004820152602860248201527f50325049583a204c6f636b20616c72656164792072656c6561736564206f722060448201527f72657475726e656400000000000000000000000000000000000000000000000060648201526084016102ea565b805460009081526004602081815260408084209285015490519293926107c8926005860192918b910161160c565b60405160208183030381529060405280519060200120905060008160405160200161081f91907f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b60408051601f1981840301815291815281516020928301206000858152600690935291205490915060ff16156108bd5760405162461bcd60e51b815260206004820152603160248201527f50325049583a205472616e73616374696f6e20616c726561647920757365642060448201527f746f20756e6c6f636b207061796d656e7400000000000000000000000000000060648201526084016102ea565b6040805160008082526020820180845284905260ff881692820192909252606081018990526080810188905260019060a0016020604051602081039080840390855afa158015610911573d6000803e3d6000fd5b505060408051601f1901516001600160a01b03811660009081526003602052919091205490925060ff1690506109955760405162461bcd60e51b815260206004820152602360248201527f50325049583a205369676e6572206973206e6f7420612076616c6964207369676044820152623732b960e91b60648201526084016102ea565b60018085015490860154600387015460048801546001600160a01b0393841693849363a9059cbb939116916109ca9190611598565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b158015610a2857600080fd5b505af1158015610a3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6091906115af565b50600386015415610afb576002860154600387015460405163a9059cbb60e01b81526001600160a01b03928316600482015260248101919091529082169063a9059cbb90604401602060405180830381600087803b158015610ac157600080fd5b505af1158015610ad5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af991906115af565b505b600060048701819055600587018190558481526006602052604090819020805460ff1916600190811790915587015490516001600160a01b03909116907f5e420822d2f7281fdc4b763c62c8b7874bf22108a35efe93144d79296aacc67d90610b67908e815260200190565b60405180910390a25050505050505050505050565b610b8461118d565b6040514790339082156108fc029083906000818181858888f19350505050158015610bb3573d6000803e3d6000fd5b5060408051338152602081018390527fbf0d92faf65e256806eefa1a0d281d4873cc3c80d1ed25b8ae6f7cc66fc918ef910160405180910390a150565b610bf861118d565b610c0260006111e7565b565b60008181526004602052604090205481906001600160a01b03163314610c815760405162461bcd60e51b815260206004820152602c60248201527f50325049583a204f6e6c792073656c6c657220636f756c642063616c6c20746860448201526b34b990333ab731ba34b7b71760a11b60648201526084016102ea565b600082815260046020818152604092839020918201805460ff19169055905491518481526001600160a01b03909216917fb4d98b272597e828d9b172c0d44390d5b267040e918088eac8a0a0fadcb81c70910160405180910390a25050565b8060005b818161ffff161015610e5c5760006005600086868561ffff16818110610d0c57610d0c6116b3565b9050602002013581526020019081526020016000209050438160050154108015610d3a575060008160040154115b610dac5760405162461bcd60e51b815260206004820152602b60248201527f50325049583a204c6f636b206e6f742065787069726564206f7220616c72656160448201527f64792072656c656173656400000000000000000000000000000000000000000060648201526084016102ea565b806004015460046000836000015481526020019081526020016000206002016000828254610dda9190611580565b90915550506000600482015560018101546001600160a01b03167f67e089478e21dd12c98e69331c4152f6c9b2038b91e0f28268ffa01558c0b4ff868661ffff8616818110610e2b57610e2b6116b3565b90506020020135604051610e4191815260200190565b60405180910390a25080610e54816116c9565b915050610ce4565b50505050565b6000610e6d60015490565b6000818152600460208190526040909120015490915060ff1615610ef95760405162461bcd60e51b815260206004820152603260248201527f50325049583a204465706f73697420616c726561647920657869737420616e6460448201527f206974206973207374696c6c2076616c6964000000000000000000000000000060648201526084016102ea565b6040516323b872dd60e01b81523360048201523060248201526044810185905285906001600160a01b038216906323b872dd90606401602060405180830381600087803b158015610f4957600080fd5b505af1158015610f5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8191906115af565b5060006040518060c00160405280336001600160a01b03168152602001886001600160a01b0316815260200187815260200134815260200160011515815260200186868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452505085815260046020818152604092839020855181546001600160a01b0391821673ffffffffffffffffffffffffffffffffffffffff1991821617835583880151600184018054919093169116179055928501516002840155606085015160038401556080850151918301805492151560ff199093169290921790915560a0840151805194955085949293506110979260058501929190910190611244565b5050600180548101905550604080518481526001600160a01b0389166020820152348183015260608101889052905133917fe0cfbec12278e314697ee34bb7a1ba4d704e84c438680672f7c1175f287e5910919081900360800190a25050949350505050565b61110561118d565b6001600160a01b0381166111815760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102ea565b61118a816111e7565b50565b6000546001600160a01b03163314610c025760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102ea565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b828054611250906115d1565b90600052602060002090601f01602090048101928261127257600085556112b8565b82601f1061128b57805160ff19168380011785556112b8565b828001600101855582156112b8579182015b828111156112b857825182559160200191906001019061129d565b506112c49291506112c8565b5090565b5b808211156112c457600081556001016112c9565b80356001600160a01b03811681146112f457600080fd5b919050565b60008083601f84011261130b57600080fd5b50813567ffffffffffffffff81111561132357600080fd5b6020830191508360208260051b850101111561133e57600080fd5b9250929050565b600080600080600080600060c0888a03121561136057600080fd5b87359650611370602089016112dd565b955061137e604089016112dd565b9450606088013593506080880135925060a088013567ffffffffffffffff8111156113a857600080fd5b6113b48a828b016112f9565b989b979a50959850939692959293505050565b6000806000604084860312156113dc57600080fd5b83359250602084013567ffffffffffffffff8111156113fa57600080fd5b611406868287016112f9565b9497909650939450505050565b600080600080600060a0868803121561142b57600080fd5b85359450602086013593506040860135925060608601359150608086013560ff8116811461145857600080fd5b809150509295509295909350565b60006020828403121561147857600080fd5b5035919050565b6000806020838503121561149257600080fd5b823567ffffffffffffffff8111156114a957600080fd5b6114b5858286016112f9565b90969095509350505050565b6000602082840312156114d357600080fd5b6114dc826112dd565b9392505050565b600080600080606085870312156114f957600080fd5b611502856112dd565b935060208501359250604085013567ffffffffffffffff8082111561152657600080fd5b818701915087601f83011261153a57600080fd5b81358181111561154957600080fd5b88602082850101111561155b57600080fd5b95989497505060200194505050565b634e487b7160e01b600052601160045260246000fd5b600082198211156115935761159361156a565b500190565b6000828210156115aa576115aa61156a565b500390565b6000602082840312156115c157600080fd5b815180151581146114dc57600080fd5b600181811c908216806115e557607f821691505b6020821081141561160657634e487b7160e01b600052602260045260246000fd5b50919050565b600080855481600182811c91508083168061162857607f831692505b602080841082141561164857634e487b7160e01b86526022600452602486fd5b81801561165c576001811461166d5761169a565b60ff1986168952848901965061169a565b60008c81526020902060005b868110156116925781548b820152908501908301611679565b505084890196505b5098855250505050938401929092525050604001919050565b634e487b7160e01b600052603260045260246000fd5b600061ffff808316818114156116e1576116e161156a565b600101939250505056fea164736f6c6343000809000a";
type P2PIXConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: P2PIXConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class P2PIX__factory extends ContractFactory {
constructor(...args: P2PIXConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
}
}
override deploy(
defaultBlocks: PromiseOrValue<BigNumberish>,
validSigners: PromiseOrValue<string>[],
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<P2PIX> {
return super.deploy(
defaultBlocks,
validSigners,
overrides || {}
) as Promise<P2PIX>;
}
override getDeployTransaction(
defaultBlocks: PromiseOrValue<BigNumberish>,
validSigners: PromiseOrValue<string>[],
overrides?: Overrides & { from?: PromiseOrValue<string> }
): TransactionRequest {
return super.getDeployTransaction(
defaultBlocks,
validSigners,
overrides || {}
);
}
override attach(address: string): P2PIX {
return super.attach(address) as P2PIX;
}
override connect(signer: Signer): P2PIX__factory {
return super.connect(signer) as P2PIX__factory;
}
static readonly bytecode = _bytecode;
static readonly abi = _abi;
static createInterface(): P2PIXInterface {
return new utils.Interface(_abi) as P2PIXInterface;
}
static connect(address: string, signerOrProvider: Signer | Provider): P2PIX {
return new Contract(address, _abi, signerOrProvider) as P2PIX;
}
}