118 lines
3.5 KiB
Solidity
118 lines
3.5 KiB
Solidity
// SPDX-License-Identifier: MIT
|
|
pragma solidity 0.8.9;
|
|
|
|
// prettier-ignore
|
|
interface EventAndErrors {
|
|
/// ███ Events ████████████████████████████████████████████████████████████
|
|
|
|
event DepositAdded(
|
|
address indexed seller,
|
|
// uint256 depositID,
|
|
address token,
|
|
uint256 amount
|
|
);
|
|
event ValidSet(
|
|
address indexed seller,
|
|
address token,
|
|
bool state
|
|
);
|
|
event DepositWithdrawn(
|
|
address indexed seller,
|
|
address token,
|
|
uint256 amount
|
|
);
|
|
event LockAdded(
|
|
address indexed buyer,
|
|
uint256 indexed lockID,
|
|
uint256 seller,
|
|
uint256 amount
|
|
);
|
|
event LockReleased(
|
|
address indexed buyer,
|
|
uint256 lockId,
|
|
uint256 amount
|
|
);
|
|
event LockReturned(
|
|
address indexed buyer,
|
|
uint256 lockId
|
|
);
|
|
event FundsWithdrawn(
|
|
address owner,
|
|
uint256 amount
|
|
);
|
|
event RootUpdated(
|
|
address seller,
|
|
bytes32 merkleRoot
|
|
);
|
|
event AllowedERC20Updated(
|
|
address indexed token,
|
|
bool indexed state
|
|
);
|
|
event ReputationUpdated(address reputation);
|
|
event LockBlocksUpdated(uint256 blocks);
|
|
event ValidSignersUpdated(address[] signers);
|
|
|
|
/// ███ Errors ████████████████████████████████████████████████████████████
|
|
|
|
/// @dev Deposit already exist and it is still valid.
|
|
/// @dev 0xc44bd765
|
|
error DepositAlreadyExists();
|
|
/// @dev Only seller could call this function.
|
|
/// @dev `msg.sender` and the seller differ.
|
|
/// @dev 0x85d1f726
|
|
error OnlySeller();
|
|
/// @dev Lock not expired or already released.
|
|
/// @dev Another lock with same ID is not expired yet.
|
|
/// @dev 0xd0404f85
|
|
error NotExpired();
|
|
/// @dev Loop bounds have overflowed.
|
|
/// @dev 0xdfb035c9
|
|
error LoopOverflow();
|
|
/// @dev Deposit not valid anymore.
|
|
/// @dev 0xb2e532de
|
|
error InvalidDeposit();
|
|
/// @dev Not enough token remaining on deposit.
|
|
/// @dev 0x22bbb43c
|
|
error NotEnoughTokens();
|
|
/// @dev Lock already released or returned.
|
|
/// @dev 0x63b4904e
|
|
error AlreadyReleased();
|
|
/// @dev Transaction already used to unlock payment.
|
|
/// @dev 0xf490a6ea
|
|
error TxAlreadyUsed();
|
|
/// @dev Signer is not a valid signer.
|
|
/// @dev 0x815e1d64
|
|
error InvalidSigner();
|
|
/// @dev Address doesn't exist in a MerkleTree.
|
|
/// @dev Address not allowed as relayer.
|
|
/// @dev 0x3b8474be
|
|
error AddressDenied();
|
|
/// @dev Arrays' length don't match.
|
|
/// @dev 0xff633a38
|
|
error LengthMismatch();
|
|
/// @dev No tokens array provided as argument.
|
|
/// @dev 0xdf957883
|
|
error NoTokens();
|
|
/// @dev Token address not allowed to be deposited.
|
|
/// @dev 0x1578328e
|
|
error TokenDenied();
|
|
/// @dev Wished amount to be locked exceeds the limit allowed.
|
|
/// @dev 0x1c18f846
|
|
error AmountNotAllowed();
|
|
/// @dev Reverts when success return value returns false.
|
|
/// @dev 0xe10bf1cc
|
|
error StaticCallFailed();
|
|
/// @dev Reverts on an expired lock.
|
|
/// @dev 0xf6fafba0
|
|
error LockExpired();
|
|
|
|
/// @dev 0xce3a3d37
|
|
error DecOverflow();
|
|
/// @dev 0xf3fb0eb9
|
|
error MaxBalExceeded();
|
|
/// @dev 0x6a3bc53e
|
|
error EmptyPixTarget();
|
|
/// @dev 0x87138d5c
|
|
error NotInitialized();
|
|
}
|