Inheritance refactoring

This commit is contained in:
PedroCailleret 2023-05-19 05:14:11 -03:00
parent 440048453b
commit ce5f3e4265
44 changed files with 4314 additions and 306 deletions

View File

@ -1,4 +0,0 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../build-info/344a2bde6eeb71222e5ca4221b552f86.json"
}

View File

@ -1,4 +0,0 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../build-info/344a2bde6eeb71222e5ca4221b552f86.json"
}

View File

@ -1,10 +0,0 @@
{
"_format": "hh-sol-artifact-1",
"contractName": "DataTypes",
"sourceName": "contracts/DataTypes.sol",
"abi": [],
"bytecode": "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220e2b83942b5818cc4f73c29200b41672c082782c77a5936ed5de9e316913cd2d264736f6c63430008130033",
"deployedBytecode": "0x600080fdfea2646970667358221220e2b83942b5818cc4f73c29200b41672c082782c77a5936ed5de9e316913cd2d264736f6c63430008130033",
"linkReferences": {},
"deployedLinkReferences": {}
}

View File

@ -1,4 +0,0 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../build-info/344a2bde6eeb71222e5ca4221b552f86.json"
}

View File

@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../build-info/344a2bde6eeb71222e5ca4221b552f86.json"
"buildInfo": "../../build-info/e227c161b97af39988677e65180082ec.json"
}

View File

@ -0,0 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/e227c161b97af39988677e65180082ec.json"
}

View File

@ -0,0 +1,606 @@
{
"_format": "hh-sol-artifact-1",
"contractName": "BaseUtils",
"sourceName": "contracts/core/BaseUtils.sol",
"abi": [
{
"inputs": [],
"name": "AddressDenied",
"type": "error"
},
{
"inputs": [],
"name": "AlreadyReleased",
"type": "error"
},
{
"inputs": [],
"name": "AmountNotAllowed",
"type": "error"
},
{
"inputs": [],
"name": "DecOverflow",
"type": "error"
},
{
"inputs": [],
"name": "EmptyPixTarget",
"type": "error"
},
{
"inputs": [],
"name": "InvalidDeposit",
"type": "error"
},
{
"inputs": [],
"name": "InvalidSigner",
"type": "error"
},
{
"inputs": [],
"name": "LengthMismatch",
"type": "error"
},
{
"inputs": [],
"name": "LockExpired",
"type": "error"
},
{
"inputs": [],
"name": "LoopOverflow",
"type": "error"
},
{
"inputs": [],
"name": "MaxBalExceeded",
"type": "error"
},
{
"inputs": [],
"name": "NoTokens",
"type": "error"
},
{
"inputs": [],
"name": "NotEnoughTokens",
"type": "error"
},
{
"inputs": [],
"name": "NotExpired",
"type": "error"
},
{
"inputs": [],
"name": "NotInitialized",
"type": "error"
},
{
"inputs": [],
"name": "OnlySeller",
"type": "error"
},
{
"inputs": [],
"name": "StaticCallFailed",
"type": "error"
},
{
"inputs": [],
"name": "TokenDenied",
"type": "error"
},
{
"inputs": [],
"name": "TxAlreadyUsed",
"type": "error"
},
{
"inputs": [],
"name": "Unauthorized",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "token",
"type": "address"
},
{
"indexed": true,
"internalType": "bool",
"name": "state",
"type": "bool"
}
],
"name": "AllowedERC20Updated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "seller",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "token",
"type": "address"
},
{
"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": "address",
"name": "token",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "DepositWithdrawn",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "FundsWithdrawn",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "buyer",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "lockID",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "seller",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "LockAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "blocks",
"type": "uint256"
}
],
"name": "LockBlocksUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "buyer",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "lockId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "LockReleased",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "buyer",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "lockId",
"type": "uint256"
}
],
"name": "LockReturned",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "user",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnerUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "reputation",
"type": "address"
}
],
"name": "ReputationUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "seller",
"type": "address"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "merkleRoot",
"type": "bytes32"
}
],
"name": "RootUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "seller",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "token",
"type": "address"
},
{
"indexed": false,
"internalType": "bool",
"name": "state",
"type": "bool"
}
],
"name": "ValidSet",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address[]",
"name": "signers",
"type": "address[]"
}
],
"name": "ValidSignersUpdated",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "_addr",
"type": "address"
}
],
"name": "_castAddrToKey",
"outputs": [
{
"internalType": "uint256",
"name": "_key",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_key",
"type": "uint256"
}
],
"name": "_castKeyToAddr",
"outputs": [
{
"internalType": "address",
"name": "_addr",
"type": "address"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract ERC20",
"name": "erc20",
"type": "address"
}
],
"name": "allowedERC20s",
"outputs": [
{
"internalType": "bool",
"name": "state",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "defaultLockBlocks",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "reputation",
"outputs": [
{
"internalType": "contract IReputation",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "sellerKey",
"type": "uint256"
}
],
"name": "sellerAllowList",
"outputs": [
{
"internalType": "bytes32",
"name": "root",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_blocks",
"type": "uint256"
}
],
"name": "setDefaultLockBlocks",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "setOwner",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IReputation",
"name": "_reputation",
"type": "address"
}
],
"name": "setReputation",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "_validSigners",
"type": "address[]"
}
],
"name": "setValidSigners",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "_tokens",
"type": "address[]"
},
{
"internalType": "bool[]",
"name": "_states",
"type": "bool[]"
}
],
"name": "tokenSettings",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "message",
"type": "bytes32"
}
],
"name": "usedTransactions",
"outputs": [
{
"internalType": "bool",
"name": "used",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "signer",
"type": "uint256"
}
],
"name": "validBacenSigners",
"outputs": [
{
"internalType": "bool",
"name": "valid",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "withdrawBalance",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {}
}

View File

@ -0,0 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/e227c161b97af39988677e65180082ec.json"
}

View File

@ -1,7 +1,7 @@
{
"_format": "hh-sol-artifact-1",
"contractName": "Constants",
"sourceName": "contracts/Constants.sol",
"sourceName": "contracts/core/Constants.sol",
"abi": [],
"bytecode": "0x",
"deployedBytecode": "0x",

View File

@ -0,0 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/e227c161b97af39988677e65180082ec.json"
}

View File

@ -0,0 +1,10 @@
{
"_format": "hh-sol-artifact-1",
"contractName": "DataTypes",
"sourceName": "contracts/core/DataTypes.sol",
"abi": [],
"bytecode": "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122078bdfdfbb98192401098df5a6389aadd2cb5cf76b3e1f5af04f14038376f40f464736f6c63430008130033",
"deployedBytecode": "0x600080fdfea264697066735822122078bdfdfbb98192401098df5a6389aadd2cb5cf76b3e1f5af04f14038376f40f464736f6c63430008130033",
"linkReferences": {},
"deployedLinkReferences": {}
}

View File

@ -0,0 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/e227c161b97af39988677e65180082ec.json"
}

View File

@ -1,7 +1,7 @@
{
"_format": "hh-sol-artifact-1",
"contractName": "EventAndErrors",
"sourceName": "contracts/EventAndErrors.sol",
"sourceName": "contracts/core/EventAndErrors.sol",
"abi": [
{
"inputs": [],

View File

@ -0,0 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../build-info/e227c161b97af39988677e65180082ec.json"
}

View File

@ -0,0 +1,549 @@
{
"_format": "hh-sol-artifact-1",
"contractName": "OwnerSettings",
"sourceName": "contracts/core/OwnerSettings.sol",
"abi": [
{
"inputs": [],
"name": "AddressDenied",
"type": "error"
},
{
"inputs": [],
"name": "AlreadyReleased",
"type": "error"
},
{
"inputs": [],
"name": "AmountNotAllowed",
"type": "error"
},
{
"inputs": [],
"name": "DecOverflow",
"type": "error"
},
{
"inputs": [],
"name": "EmptyPixTarget",
"type": "error"
},
{
"inputs": [],
"name": "InvalidDeposit",
"type": "error"
},
{
"inputs": [],
"name": "InvalidSigner",
"type": "error"
},
{
"inputs": [],
"name": "LengthMismatch",
"type": "error"
},
{
"inputs": [],
"name": "LockExpired",
"type": "error"
},
{
"inputs": [],
"name": "LoopOverflow",
"type": "error"
},
{
"inputs": [],
"name": "MaxBalExceeded",
"type": "error"
},
{
"inputs": [],
"name": "NoTokens",
"type": "error"
},
{
"inputs": [],
"name": "NotEnoughTokens",
"type": "error"
},
{
"inputs": [],
"name": "NotExpired",
"type": "error"
},
{
"inputs": [],
"name": "NotInitialized",
"type": "error"
},
{
"inputs": [],
"name": "OnlySeller",
"type": "error"
},
{
"inputs": [],
"name": "StaticCallFailed",
"type": "error"
},
{
"inputs": [],
"name": "TokenDenied",
"type": "error"
},
{
"inputs": [],
"name": "TxAlreadyUsed",
"type": "error"
},
{
"inputs": [],
"name": "Unauthorized",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "token",
"type": "address"
},
{
"indexed": true,
"internalType": "bool",
"name": "state",
"type": "bool"
}
],
"name": "AllowedERC20Updated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "seller",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "token",
"type": "address"
},
{
"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": "address",
"name": "token",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "DepositWithdrawn",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "FundsWithdrawn",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "buyer",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "lockID",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "seller",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "LockAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "blocks",
"type": "uint256"
}
],
"name": "LockBlocksUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "buyer",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "lockId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "LockReleased",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "buyer",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "lockId",
"type": "uint256"
}
],
"name": "LockReturned",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "user",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnerUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "reputation",
"type": "address"
}
],
"name": "ReputationUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "seller",
"type": "address"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "merkleRoot",
"type": "bytes32"
}
],
"name": "RootUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "seller",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "token",
"type": "address"
},
{
"indexed": false,
"internalType": "bool",
"name": "state",
"type": "bool"
}
],
"name": "ValidSet",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address[]",
"name": "signers",
"type": "address[]"
}
],
"name": "ValidSignersUpdated",
"type": "event"
},
{
"inputs": [
{
"internalType": "contract ERC20",
"name": "erc20",
"type": "address"
}
],
"name": "allowedERC20s",
"outputs": [
{
"internalType": "bool",
"name": "state",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "defaultLockBlocks",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "reputation",
"outputs": [
{
"internalType": "contract IReputation",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "sellerKey",
"type": "uint256"
}
],
"name": "sellerAllowList",
"outputs": [
{
"internalType": "bytes32",
"name": "root",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_blocks",
"type": "uint256"
}
],
"name": "setDefaultLockBlocks",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "setOwner",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IReputation",
"name": "_reputation",
"type": "address"
}
],
"name": "setReputation",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "_validSigners",
"type": "address[]"
}
],
"name": "setValidSigners",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "_tokens",
"type": "address[]"
},
{
"internalType": "bool[]",
"name": "_states",
"type": "bool[]"
}
],
"name": "tokenSettings",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "signer",
"type": "uint256"
}
],
"name": "validBacenSigners",
"outputs": [
{
"internalType": "bool",
"name": "valid",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "withdrawBalance",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {}
}

View File

@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/344a2bde6eeb71222e5ca4221b552f86.json"
"buildInfo": "../../../../build-info/e227c161b97af39988677e65180082ec.json"
}

View File

@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/344a2bde6eeb71222e5ca4221b552f86.json"
"buildInfo": "../../../../build-info/e227c161b97af39988677e65180082ec.json"
}

View File

@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/344a2bde6eeb71222e5ca4221b552f86.json"
"buildInfo": "../../../../build-info/e227c161b97af39988677e65180082ec.json"
}

View File

@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/344a2bde6eeb71222e5ca4221b552f86.json"
"buildInfo": "../../../../build-info/e227c161b97af39988677e65180082ec.json"
}

View File

@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/344a2bde6eeb71222e5ca4221b552f86.json"
"buildInfo": "../../../../build-info/e227c161b97af39988677e65180082ec.json"
}

View File

@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/344a2bde6eeb71222e5ca4221b552f86.json"
"buildInfo": "../../../../build-info/e227c161b97af39988677e65180082ec.json"
}

View File

@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/344a2bde6eeb71222e5ca4221b552f86.json"
"buildInfo": "../../../../build-info/e227c161b97af39988677e65180082ec.json"
}

View File

@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/344a2bde6eeb71222e5ca4221b552f86.json"
"buildInfo": "../../../../build-info/e227c161b97af39988677e65180082ec.json"
}

View File

@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../../../build-info/344a2bde6eeb71222e5ca4221b552f86.json"
"buildInfo": "../../../../build-info/e227c161b97af39988677e65180082ec.json"
}

View File

@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../build-info/344a2bde6eeb71222e5ca4221b552f86.json"
"buildInfo": "../../build-info/e227c161b97af39988677e65180082ec.json"
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,110 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;
import { OwnerSettings } from "./OwnerSettings.sol";
import { ECDSA } from "../lib/utils/ECDSA.sol";
import { MerkleProofLib as Merkle } from "../lib/utils/MerkleProofLib.sol";
abstract contract BaseUtils is OwnerSettings {
/// Storage
/// @dev List of Pix transactions already signed.
/// mapping(bytes32 => bool) public usedTransactions;
/// @dev Value in custom storage slot given by:
/// let value := sload(bytes32).
/// Helper FX
function _setUsedTransactions(bytes32 message) internal {
assembly {
sstore(message, true)
}
}
function usedTransactions(
bytes32 message
) public view returns (bool used) {
assembly {
used := sload(message)
}
}
function _signerCheck(
bytes32 _message,
bytes32 _r,
bytes32 _s,
uint8 _v
) internal view {
if (usedTransactions(_message))
revert TxAlreadyUsed();
if (
!validBacenSigners(
_castAddrToKey(
ECDSA.recover(
ECDSA.toEthSignedMessageHash(
_message
),
_v,
_r,
_s
)
)
)
) revert InvalidSigner();
}
function _merkleVerify(
bytes32[] calldata _merkleProof,
bytes32 _root,
address _addr
) internal pure {
if (
!Merkle.verify(
_merkleProof,
_root,
bytes32(uint256(uint160(_addr)))
)
) revert AddressDenied();
}
function _castToUint(
uint96 _amount,
uint160 _pixTarget,
bool _valid
)
internal
pure
returns (
uint256 _amountCasted,
uint256 _pixTargetCasted,
uint256 _validCasted
)
{
assembly {
_amountCasted := _amount
_pixTargetCasted := _pixTarget
_validCasted := _valid
}
}
/// @notice Public method that handles `address`
/// to `uint256` safe type casting.
/// @dev Function sighash: 0x4b2ae980.
function _castAddrToKey(
address _addr
) public pure returns (uint256 _key) {
// _key = uint256(uint160(address(_addr))) << 12;
assembly {
_key := shl(12, _addr)
}
}
function _castKeyToAddr(
uint256 _key
) public pure returns (address _addr) {
// _addr = address(uint160(uint256(_key >> 12)));
assembly {
_addr := shr(12, _key)
}
}
}

View File

@ -0,0 +1,197 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;
import { ERC20, SafeTransferLib } from "../lib/utils/SafeTransferLib.sol";
import { IReputation } from "../lib/interfaces/IReputation.sol";
import { EventAndErrors } from "./EventAndErrors.sol";
import { Constants } from "./Constants.sol";
import { Owned } from "../lib/auth/Owned.sol";
abstract contract OwnerSettings is
Constants,
EventAndErrors,
Owned(msg.sender)
{
/// Storage
/// @dev List of valid Bacen signature addresses
/// mapping(uint256 => bool) public validBacenSigners;
/// @dev Value in custom storage slot given by:
/// let value := sload(shl(12, address)).
IReputation public reputation;
/// @dev Default blocks that lock will hold tokens.
uint256 public defaultLockBlocks;
/// Constructor
constructor(
uint256 defaultBlocks,
address[] memory validSigners,
address _reputation,
address[] memory tokens,
bool[] memory tokenStates
) {
setDefaultLockBlocks(defaultBlocks);
setValidSigners(validSigners);
setReputation(IReputation(_reputation));
tokenSettings(tokens, tokenStates);
}
/// Owner Only
/// @dev Contract's underlying balance withdraw method.
/// @dev Function sighash: 0x5fd8c710.
function withdrawBalance() external onlyOwner {
uint256 balance = address(this).balance;
SafeTransferLib.safeTransferETH(msg.sender, balance);
emit FundsWithdrawn(msg.sender, balance);
}
function setReputation(
IReputation _reputation
) public onlyOwner {
assembly {
sstore(reputation.slot, _reputation)
}
emit ReputationUpdated(address(_reputation));
}
function setDefaultLockBlocks(
uint256 _blocks
) public onlyOwner {
assembly {
sstore(defaultLockBlocks.slot, _blocks)
}
emit LockBlocksUpdated(_blocks);
}
function setValidSigners(
address[] memory _validSigners
) public onlyOwner {
assembly {
let i := add(_validSigners, 0x20)
let end := add(i, shl(0x05, mload(_validSigners)))
for {
/* */
} iszero(returndatasize()) {
/* */
} {
sstore(shl(12, mload(i)), true)
i := add(i, 0x20)
if iszero(lt(i, end)) {
break
}
}
}
emit ValidSignersUpdated(_validSigners);
}
function tokenSettings(
address[] memory _tokens,
bool[] memory _states
) public onlyOwner {
/* Yul Impl */
assembly {
// first 32 bytes eq to array's length
let tLen := mload(_tokens)
// NoTokens()
if iszero(tLen) {
mstore(0x00, 0xdf957883)
revert(0x1c, 0x04)
}
// LengthMismatch()
if iszero(eq(tLen, mload(_states))) {
mstore(0x00, 0xff633a38)
revert(0x1c, 0x04)
}
let tLoc := add(_tokens, 0x20)
let sLoc := add(_states, 0x20)
for {
let end := add(tLoc, shl(5, tLen))
} iszero(eq(tLoc, end)) {
tLoc := add(tLoc, 0x20)
sLoc := add(sLoc, 0x20)
} {
// cache hashmap entry in scratch space
mstore(0x0c, _ALLOWED_ERC20_SLOT_SEED)
mstore(0x00, mload(tLoc))
// let mapSlot := keccak256(0x0c, 0x20)
sstore(keccak256(0x0c, 0x20), mload(sLoc))
// emit AllowedERC20Updated(address, bool)
log3(
0,
0,
_ALLOWED_ERC20_UPDATED_EVENT_SIGNATURE,
mload(tLoc),
mload(sLoc)
)
}
}
}
/// View FX
function validBacenSigners(
uint256 signer
) public view returns (bool valid) {
assembly {
valid := sload(signer)
}
}
function sellerAllowList(
uint256 sellerKey
) public view returns (bytes32 root) {
assembly {
mstore(0x0c, _SELLER_ALLOWLIST_SLOT_SEED)
mstore(0x00, shr(12, sellerKey))
root := sload(keccak256(0x00, 0x20))
}
}
function allowedERC20s(
ERC20 erc20
) public view returns (bool state) {
assembly {
mstore(0x0c, _ALLOWED_ERC20_SLOT_SEED)
mstore(0x00, erc20)
state := sload(keccak256(0x0c, 0x20))
}
}
function _limiter(
uint256 _userCredit
) internal view returns (uint256 _spendLimit) {
bytes memory encodedParams = abi.encodeWithSelector(
// IReputation.limiter.selector,
0x4d2b1791,
_userCredit
);
bool success;
assembly {
success := staticcall(
// gas
0x7530,
// address
sload(reputation.slot),
// argsOffset
add(encodedParams, 0x20),
// argsSize
mload(encodedParams),
// retOffset
0x00,
// retSize
0x20
)
_spendLimit := mload(0x00)
if iszero(success) {
// StaticCallFailed()
mstore(0x00, 0xe10bf1cc)
revert(0x1c, 0x04)
}
}
}
}

View File

@ -8,23 +8,14 @@ pragma solidity 0.8.19;
/// |__| |__|
///
import { Owned } from "./lib/auth/Owned.sol";
import { ERC20, SafeTransferLib } from "./lib/utils/SafeTransferLib.sol";
import { IReputation } from "./lib/interfaces/IReputation.sol";
import { MerkleProofLib as Merkle } from "./lib/utils/MerkleProofLib.sol";
import { ECDSA } from "./lib/utils/ECDSA.sol";
import { OwnerSettings, ERC20, SafeTransferLib } from "./core/OwnerSettings.sol";
import { BaseUtils } from "./core/BaseUtils.sol";
import { ReentrancyGuard } from "./lib/utils/ReentrancyGuard.sol";
import { EventAndErrors } from "./EventAndErrors.sol";
import { DataTypes as DT } from "./DataTypes.sol";
import { Constants } from "./Constants.sol";
import { DataTypes as DT } from "./core/DataTypes.sol";
contract P2PIX is
Constants,
EventAndErrors,
Owned(msg.sender),
ReentrancyGuard
{
contract P2PIX is BaseUtils, ReentrancyGuard {
// solhint-disable use-forbidden-name
// solhint-disable no-inline-assembly
// solhint-disable no-empty-blocks
@ -34,20 +25,6 @@ contract P2PIX is
/// Storage
/// @dev List of valid Bacen signature addresses
/// mapping(uint256 => bool) public validBacenSigners;
/// @dev Value in custom storage slot given by:
/// let value := sload(shl(12, address)).
/// @dev List of Pix transactions already signed.
/// mapping(bytes32 => bool) public usedTransactions;
/// @dev Value in custom storage slot given by:
/// let value := sload(bytes32).
IReputation public reputation;
/// @dev Default blocks that lock will hold tokens.
uint256 public defaultLockBlocks;
uint256 public lockCounter;
/// @dev List of Locks.
@ -60,15 +37,18 @@ contract P2PIX is
constructor(
uint256 defaultBlocks,
address[] memory validSigners,
IReputation _reputation,
address _reputation,
address[] memory tokens,
bool[] memory tokenStates
) payable {
setDefaultLockBlocks(defaultBlocks);
setReputation(_reputation);
setValidSigners(validSigners);
tokenSettings(tokens, tokenStates);
}
)
OwnerSettings(
defaultBlocks,
validSigners,
_reputation,
tokens,
tokenStates
)
payable {/* */}
/// Public FX
@ -263,12 +243,7 @@ contract P2PIX is
)
);
if (usedTransactions(message)) revert TxAlreadyUsed();
if (!validBacenSigners(_castAddrToKey(
ECDSA.recover(
ECDSA.toEthSignedMessageHash(message), v, r, s)
))) revert InvalidSigner();
_signerCheck(message, r, s, v);
ERC20 t = ERC20(l.token);
@ -437,100 +412,6 @@ contract P2PIX is
}
}
/// Owner Only
/// @dev Contract's underlying balance withdraw method.
/// @dev Function sighash: 0x5fd8c710.
function withdrawBalance() external onlyOwner {
uint256 balance = address(this).balance;
SafeTransferLib.safeTransferETH(msg.sender, balance);
emit FundsWithdrawn(msg.sender, balance);
}
function setReputation(IReputation _reputation)
public
onlyOwner
{
assembly {
sstore(reputation.slot, _reputation)
}
emit ReputationUpdated(address(_reputation));
}
function setDefaultLockBlocks(uint256 _blocks)
public
onlyOwner
{
assembly {
sstore(defaultLockBlocks.slot, _blocks)
}
emit LockBlocksUpdated(_blocks);
}
function setValidSigners(address[] memory _validSigners)
public
onlyOwner
{
assembly {
let i := add(_validSigners, 0x20)
let end := add(i, shl(0x05, mload(_validSigners)))
for {/* */} iszero(returndatasize()) {/* */} {
sstore(shl(12, mload(i)), true)
i := add(i, 0x20)
if iszero(lt(i, end)) {
break
}
}
}
emit ValidSignersUpdated(_validSigners);
}
function tokenSettings(
address[] memory _tokens,
bool[] memory _states
) public onlyOwner {
/* Yul Impl */
assembly {
// first 32 bytes eq to array's length
let tLen := mload(_tokens)
// NoTokens()
if iszero(tLen) {
mstore(0x00, 0xdf957883)
revert(0x1c, 0x04)
}
// LengthMismatch()
if iszero(eq(tLen, mload(_states))) {
mstore(0x00, 0xff633a38)
revert(0x1c, 0x04)
}
let tLoc := add(_tokens, 0x20)
let sLoc := add(_states, 0x20)
for {
let end := add(tLoc, shl(5, tLen))
} iszero(eq(tLoc, end)) {
tLoc := add(tLoc, 0x20)
sLoc := add(sLoc, 0x20)
} {
// cache hashmap entry in scratch space
mstore(0x0c, _ALLOWED_ERC20_SLOT_SEED)
mstore(0x00, mload(tLoc))
// let mapSlot := keccak256(0x0c, 0x20)
sstore(keccak256(0x0c, 0x20), mload(sLoc))
// emit AllowedERC20Updated(address, bool)
log3(
0,
0,
_ALLOWED_ERC20_UPDATED_EVENT_SIGNATURE,
mload(tLoc),
mload(sLoc)
)
}
}
}
/// Helper FX
// solhint-disable-next-line no-empty-blocks
@ -568,74 +449,6 @@ contract P2PIX is
);
}
function _merkleVerify(
bytes32[] calldata _merkleProof,
bytes32 root,
address _addr
) private pure {
if (
!Merkle.verify(
_merkleProof,
root,
bytes32(uint256(uint160(_addr)))
)
) revert AddressDenied();
}
function _limiter(uint256 _userCredit)
internal
view
returns (uint256 _spendLimit)
{
bytes memory encodedParams = abi.encodeWithSelector(
IReputation.limiter.selector,
_userCredit
);
bool success;
assembly {
success := staticcall(
// gas
0x7530,
// address
sload(reputation.slot),
// argsOffset
add(encodedParams, 0x20),
// argsSize
mload(encodedParams),
// retOffset
0x00,
// retSize
0x20
)
_spendLimit := mload(0x00)
if iszero(success) {
// StaticCallFailed()
mstore(0x00, 0xe10bf1cc)
revert(0x1c, 0x04)
}
}
}
function _castToUint(
uint96 _amount,
uint160 _pixTarget,
bool _valid
)
private
pure
returns (
uint256 _amountCasted,
uint256 _pixTargetCasted,
uint256 _validCasted
)
{
assembly {
_amountCasted := _amount
_pixTargetCasted := _pixTarget
_validCasted := _valid
}
}
function _decBal(
uint256 _bal,
uint256 _amount,
@ -811,40 +624,6 @@ contract P2PIX is
return (sortedIDs, status);
}
function allowedERC20s(ERC20 erc20) public view returns (bool state) {
assembly {
mstore(0x0c, _ALLOWED_ERC20_SLOT_SEED)
mstore(0x00, erc20)
state := sload(keccak256(0x0c, 0x20))
}
}
function _setUsedTransactions(bytes32 message) private {
assembly {
sstore(message, true)
}
}
function usedTransactions(bytes32 message) public view returns(bool used) {
assembly {
used := sload(message)
}
}
function validBacenSigners(uint256 signer) public view returns(bool valid) {
assembly {
valid := sload(signer)
}
}
function sellerAllowList(uint256 sellerKey) public view returns(bytes32 root) {
assembly {
mstore(0x0c, _SELLER_ALLOWLIST_SLOT_SEED)
mstore(0x00, shr(12, sellerKey))
root := sload(keccak256(0x00, 0x20))
}
}
function _setSellerBalance(uint256 sellerKey, ERC20 erc20, uint256 packed) private {
assembly {
mstore(0x20, erc20)
@ -884,28 +663,4 @@ contract P2PIX is
}
}
/// @notice Public method that handles `address`
/// to `uint256` safe type casting.
/// @dev Function sighash: 0x4b2ae980.
function _castAddrToKey(address _addr)
public
pure
returns (uint256 _key)
{
// _key = uint256(uint160(address(_addr))) << 12;
assembly {
_key := shl(12, _addr)
}
}
function _castKeyToAddr(uint256 _key)
public
pure
returns (address _addr)
{
// _addr = address(uint160(uint256(_key >> 12)));
assembly {
_addr := shr(12, _key)
}
}
}

835
src/types/core/BaseUtils.ts Normal file
View File

@ -0,0 +1,835 @@
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import type {
BaseContract,
BigNumber,
BigNumberish,
BytesLike,
CallOverrides,
ContractTransaction,
Overrides,
PopulatedTransaction,
Signer,
utils,
} from "ethers";
import type {
FunctionFragment,
Result,
EventFragment,
} from "@ethersproject/abi";
import type { Listener, Provider } from "@ethersproject/providers";
import type {
TypedEventFilter,
TypedEvent,
TypedListener,
OnEvent,
PromiseOrValue,
} from "../common";
export interface BaseUtilsInterface extends utils.Interface {
functions: {
"_castAddrToKey(address)": FunctionFragment;
"_castKeyToAddr(uint256)": FunctionFragment;
"allowedERC20s(address)": FunctionFragment;
"defaultLockBlocks()": FunctionFragment;
"owner()": FunctionFragment;
"reputation()": FunctionFragment;
"sellerAllowList(uint256)": FunctionFragment;
"setDefaultLockBlocks(uint256)": FunctionFragment;
"setOwner(address)": FunctionFragment;
"setReputation(address)": FunctionFragment;
"setValidSigners(address[])": FunctionFragment;
"tokenSettings(address[],bool[])": FunctionFragment;
"usedTransactions(bytes32)": FunctionFragment;
"validBacenSigners(uint256)": FunctionFragment;
"withdrawBalance()": FunctionFragment;
};
getFunction(
nameOrSignatureOrTopic:
| "_castAddrToKey"
| "_castKeyToAddr"
| "allowedERC20s"
| "defaultLockBlocks"
| "owner"
| "reputation"
| "sellerAllowList"
| "setDefaultLockBlocks"
| "setOwner"
| "setReputation"
| "setValidSigners"
| "tokenSettings"
| "usedTransactions"
| "validBacenSigners"
| "withdrawBalance"
): FunctionFragment;
encodeFunctionData(
functionFragment: "_castAddrToKey",
values: [PromiseOrValue<string>]
): string;
encodeFunctionData(
functionFragment: "_castKeyToAddr",
values: [PromiseOrValue<BigNumberish>]
): string;
encodeFunctionData(
functionFragment: "allowedERC20s",
values: [PromiseOrValue<string>]
): string;
encodeFunctionData(
functionFragment: "defaultLockBlocks",
values?: undefined
): string;
encodeFunctionData(functionFragment: "owner", values?: undefined): string;
encodeFunctionData(
functionFragment: "reputation",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "sellerAllowList",
values: [PromiseOrValue<BigNumberish>]
): string;
encodeFunctionData(
functionFragment: "setDefaultLockBlocks",
values: [PromiseOrValue<BigNumberish>]
): string;
encodeFunctionData(
functionFragment: "setOwner",
values: [PromiseOrValue<string>]
): string;
encodeFunctionData(
functionFragment: "setReputation",
values: [PromiseOrValue<string>]
): string;
encodeFunctionData(
functionFragment: "setValidSigners",
values: [PromiseOrValue<string>[]]
): string;
encodeFunctionData(
functionFragment: "tokenSettings",
values: [PromiseOrValue<string>[], PromiseOrValue<boolean>[]]
): string;
encodeFunctionData(
functionFragment: "usedTransactions",
values: [PromiseOrValue<BytesLike>]
): string;
encodeFunctionData(
functionFragment: "validBacenSigners",
values: [PromiseOrValue<BigNumberish>]
): string;
encodeFunctionData(
functionFragment: "withdrawBalance",
values?: undefined
): string;
decodeFunctionResult(
functionFragment: "_castAddrToKey",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "_castKeyToAddr",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "allowedERC20s",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "defaultLockBlocks",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "reputation", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "sellerAllowList",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "setDefaultLockBlocks",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "setReputation",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "setValidSigners",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "tokenSettings",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "usedTransactions",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "validBacenSigners",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "withdrawBalance",
data: BytesLike
): Result;
events: {
"AllowedERC20Updated(address,bool)": EventFragment;
"DepositAdded(address,address,uint256)": EventFragment;
"DepositWithdrawn(address,address,uint256)": EventFragment;
"FundsWithdrawn(address,uint256)": EventFragment;
"LockAdded(address,uint256,uint256,uint256)": EventFragment;
"LockBlocksUpdated(uint256)": EventFragment;
"LockReleased(address,uint256,uint256)": EventFragment;
"LockReturned(address,uint256)": EventFragment;
"OwnerUpdated(address,address)": EventFragment;
"ReputationUpdated(address)": EventFragment;
"RootUpdated(address,bytes32)": EventFragment;
"ValidSet(address,address,bool)": EventFragment;
"ValidSignersUpdated(address[])": EventFragment;
};
getEvent(nameOrSignatureOrTopic: "AllowedERC20Updated"): EventFragment;
getEvent(nameOrSignatureOrTopic: "DepositAdded"): EventFragment;
getEvent(nameOrSignatureOrTopic: "DepositWithdrawn"): EventFragment;
getEvent(nameOrSignatureOrTopic: "FundsWithdrawn"): EventFragment;
getEvent(nameOrSignatureOrTopic: "LockAdded"): EventFragment;
getEvent(nameOrSignatureOrTopic: "LockBlocksUpdated"): EventFragment;
getEvent(nameOrSignatureOrTopic: "LockReleased"): EventFragment;
getEvent(nameOrSignatureOrTopic: "LockReturned"): EventFragment;
getEvent(nameOrSignatureOrTopic: "OwnerUpdated"): EventFragment;
getEvent(nameOrSignatureOrTopic: "ReputationUpdated"): EventFragment;
getEvent(nameOrSignatureOrTopic: "RootUpdated"): EventFragment;
getEvent(nameOrSignatureOrTopic: "ValidSet"): EventFragment;
getEvent(nameOrSignatureOrTopic: "ValidSignersUpdated"): EventFragment;
}
export interface AllowedERC20UpdatedEventObject {
token: string;
state: boolean;
}
export type AllowedERC20UpdatedEvent = TypedEvent<
[string, boolean],
AllowedERC20UpdatedEventObject
>;
export type AllowedERC20UpdatedEventFilter =
TypedEventFilter<AllowedERC20UpdatedEvent>;
export interface DepositAddedEventObject {
seller: string;
token: string;
amount: BigNumber;
}
export type DepositAddedEvent = TypedEvent<
[string, string, BigNumber],
DepositAddedEventObject
>;
export type DepositAddedEventFilter = TypedEventFilter<DepositAddedEvent>;
export interface DepositWithdrawnEventObject {
seller: string;
token: string;
amount: BigNumber;
}
export type DepositWithdrawnEvent = TypedEvent<
[string, string, BigNumber],
DepositWithdrawnEventObject
>;
export type DepositWithdrawnEventFilter =
TypedEventFilter<DepositWithdrawnEvent>;
export interface FundsWithdrawnEventObject {
owner: string;
amount: BigNumber;
}
export type FundsWithdrawnEvent = TypedEvent<
[string, BigNumber],
FundsWithdrawnEventObject
>;
export type FundsWithdrawnEventFilter = TypedEventFilter<FundsWithdrawnEvent>;
export interface LockAddedEventObject {
buyer: string;
lockID: BigNumber;
seller: BigNumber;
amount: BigNumber;
}
export type LockAddedEvent = TypedEvent<
[string, BigNumber, BigNumber, BigNumber],
LockAddedEventObject
>;
export type LockAddedEventFilter = TypedEventFilter<LockAddedEvent>;
export interface LockBlocksUpdatedEventObject {
blocks: BigNumber;
}
export type LockBlocksUpdatedEvent = TypedEvent<
[BigNumber],
LockBlocksUpdatedEventObject
>;
export type LockBlocksUpdatedEventFilter =
TypedEventFilter<LockBlocksUpdatedEvent>;
export interface LockReleasedEventObject {
buyer: string;
lockId: BigNumber;
amount: BigNumber;
}
export type LockReleasedEvent = TypedEvent<
[string, BigNumber, BigNumber],
LockReleasedEventObject
>;
export type LockReleasedEventFilter = TypedEventFilter<LockReleasedEvent>;
export interface LockReturnedEventObject {
buyer: string;
lockId: BigNumber;
}
export type LockReturnedEvent = TypedEvent<
[string, BigNumber],
LockReturnedEventObject
>;
export type LockReturnedEventFilter = TypedEventFilter<LockReturnedEvent>;
export interface OwnerUpdatedEventObject {
user: string;
newOwner: string;
}
export type OwnerUpdatedEvent = TypedEvent<
[string, string],
OwnerUpdatedEventObject
>;
export type OwnerUpdatedEventFilter = TypedEventFilter<OwnerUpdatedEvent>;
export interface ReputationUpdatedEventObject {
reputation: string;
}
export type ReputationUpdatedEvent = TypedEvent<
[string],
ReputationUpdatedEventObject
>;
export type ReputationUpdatedEventFilter =
TypedEventFilter<ReputationUpdatedEvent>;
export interface RootUpdatedEventObject {
seller: string;
merkleRoot: string;
}
export type RootUpdatedEvent = TypedEvent<
[string, string],
RootUpdatedEventObject
>;
export type RootUpdatedEventFilter = TypedEventFilter<RootUpdatedEvent>;
export interface ValidSetEventObject {
seller: string;
token: string;
state: boolean;
}
export type ValidSetEvent = TypedEvent<
[string, string, boolean],
ValidSetEventObject
>;
export type ValidSetEventFilter = TypedEventFilter<ValidSetEvent>;
export interface ValidSignersUpdatedEventObject {
signers: string[];
}
export type ValidSignersUpdatedEvent = TypedEvent<
[string[]],
ValidSignersUpdatedEventObject
>;
export type ValidSignersUpdatedEventFilter =
TypedEventFilter<ValidSignersUpdatedEvent>;
export interface BaseUtils extends BaseContract {
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: BaseUtilsInterface;
queryFilter<TEvent extends TypedEvent>(
event: TypedEventFilter<TEvent>,
fromBlockOrBlockhash?: string | number | undefined,
toBlock?: string | number | undefined
): Promise<Array<TEvent>>;
listeners<TEvent extends TypedEvent>(
eventFilter?: TypedEventFilter<TEvent>
): Array<TypedListener<TEvent>>;
listeners(eventName?: string): Array<Listener>;
removeAllListeners<TEvent extends TypedEvent>(
eventFilter: TypedEventFilter<TEvent>
): this;
removeAllListeners(eventName?: string): this;
off: OnEvent<this>;
on: OnEvent<this>;
once: OnEvent<this>;
removeListener: OnEvent<this>;
functions: {
_castAddrToKey(
_addr: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<[BigNumber] & { _key: BigNumber }>;
_castKeyToAddr(
_key: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<[string] & { _addr: string }>;
allowedERC20s(
erc20: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<[boolean] & { state: boolean }>;
defaultLockBlocks(overrides?: CallOverrides): Promise<[BigNumber]>;
owner(overrides?: CallOverrides): Promise<[string]>;
reputation(overrides?: CallOverrides): Promise<[string]>;
sellerAllowList(
sellerKey: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<[string] & { root: string }>;
setDefaultLockBlocks(
_blocks: PromiseOrValue<BigNumberish>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
setOwner(
newOwner: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
setReputation(
_reputation: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
setValidSigners(
_validSigners: PromiseOrValue<string>[],
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
tokenSettings(
_tokens: PromiseOrValue<string>[],
_states: PromiseOrValue<boolean>[],
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
usedTransactions(
message: PromiseOrValue<BytesLike>,
overrides?: CallOverrides
): Promise<[boolean] & { used: boolean }>;
validBacenSigners(
signer: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<[boolean] & { valid: boolean }>;
withdrawBalance(
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
};
_castAddrToKey(
_addr: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<BigNumber>;
_castKeyToAddr(
_key: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<string>;
allowedERC20s(
erc20: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<boolean>;
defaultLockBlocks(overrides?: CallOverrides): Promise<BigNumber>;
owner(overrides?: CallOverrides): Promise<string>;
reputation(overrides?: CallOverrides): Promise<string>;
sellerAllowList(
sellerKey: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<string>;
setDefaultLockBlocks(
_blocks: PromiseOrValue<BigNumberish>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
setOwner(
newOwner: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
setReputation(
_reputation: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
setValidSigners(
_validSigners: PromiseOrValue<string>[],
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
tokenSettings(
_tokens: PromiseOrValue<string>[],
_states: PromiseOrValue<boolean>[],
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
usedTransactions(
message: PromiseOrValue<BytesLike>,
overrides?: CallOverrides
): Promise<boolean>;
validBacenSigners(
signer: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<boolean>;
withdrawBalance(
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
callStatic: {
_castAddrToKey(
_addr: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<BigNumber>;
_castKeyToAddr(
_key: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<string>;
allowedERC20s(
erc20: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<boolean>;
defaultLockBlocks(overrides?: CallOverrides): Promise<BigNumber>;
owner(overrides?: CallOverrides): Promise<string>;
reputation(overrides?: CallOverrides): Promise<string>;
sellerAllowList(
sellerKey: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<string>;
setDefaultLockBlocks(
_blocks: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<void>;
setOwner(
newOwner: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<void>;
setReputation(
_reputation: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<void>;
setValidSigners(
_validSigners: PromiseOrValue<string>[],
overrides?: CallOverrides
): Promise<void>;
tokenSettings(
_tokens: PromiseOrValue<string>[],
_states: PromiseOrValue<boolean>[],
overrides?: CallOverrides
): Promise<void>;
usedTransactions(
message: PromiseOrValue<BytesLike>,
overrides?: CallOverrides
): Promise<boolean>;
validBacenSigners(
signer: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<boolean>;
withdrawBalance(overrides?: CallOverrides): Promise<void>;
};
filters: {
"AllowedERC20Updated(address,bool)"(
token?: PromiseOrValue<string> | null,
state?: PromiseOrValue<boolean> | null
): AllowedERC20UpdatedEventFilter;
AllowedERC20Updated(
token?: PromiseOrValue<string> | null,
state?: PromiseOrValue<boolean> | null
): AllowedERC20UpdatedEventFilter;
"DepositAdded(address,address,uint256)"(
seller?: PromiseOrValue<string> | null,
token?: null,
amount?: null
): DepositAddedEventFilter;
DepositAdded(
seller?: PromiseOrValue<string> | null,
token?: null,
amount?: null
): DepositAddedEventFilter;
"DepositWithdrawn(address,address,uint256)"(
seller?: PromiseOrValue<string> | null,
token?: null,
amount?: null
): DepositWithdrawnEventFilter;
DepositWithdrawn(
seller?: PromiseOrValue<string> | null,
token?: null,
amount?: null
): DepositWithdrawnEventFilter;
"FundsWithdrawn(address,uint256)"(
owner?: null,
amount?: null
): FundsWithdrawnEventFilter;
FundsWithdrawn(owner?: null, amount?: null): FundsWithdrawnEventFilter;
"LockAdded(address,uint256,uint256,uint256)"(
buyer?: PromiseOrValue<string> | null,
lockID?: PromiseOrValue<BigNumberish> | null,
seller?: null,
amount?: null
): LockAddedEventFilter;
LockAdded(
buyer?: PromiseOrValue<string> | null,
lockID?: PromiseOrValue<BigNumberish> | null,
seller?: null,
amount?: null
): LockAddedEventFilter;
"LockBlocksUpdated(uint256)"(blocks?: null): LockBlocksUpdatedEventFilter;
LockBlocksUpdated(blocks?: null): LockBlocksUpdatedEventFilter;
"LockReleased(address,uint256,uint256)"(
buyer?: PromiseOrValue<string> | null,
lockId?: null,
amount?: null
): LockReleasedEventFilter;
LockReleased(
buyer?: PromiseOrValue<string> | null,
lockId?: null,
amount?: null
): LockReleasedEventFilter;
"LockReturned(address,uint256)"(
buyer?: PromiseOrValue<string> | null,
lockId?: null
): LockReturnedEventFilter;
LockReturned(
buyer?: PromiseOrValue<string> | null,
lockId?: null
): LockReturnedEventFilter;
"OwnerUpdated(address,address)"(
user?: PromiseOrValue<string> | null,
newOwner?: PromiseOrValue<string> | null
): OwnerUpdatedEventFilter;
OwnerUpdated(
user?: PromiseOrValue<string> | null,
newOwner?: PromiseOrValue<string> | null
): OwnerUpdatedEventFilter;
"ReputationUpdated(address)"(
reputation?: null
): ReputationUpdatedEventFilter;
ReputationUpdated(reputation?: null): ReputationUpdatedEventFilter;
"RootUpdated(address,bytes32)"(
seller?: PromiseOrValue<string> | null,
merkleRoot?: PromiseOrValue<BytesLike> | null
): RootUpdatedEventFilter;
RootUpdated(
seller?: PromiseOrValue<string> | null,
merkleRoot?: PromiseOrValue<BytesLike> | null
): RootUpdatedEventFilter;
"ValidSet(address,address,bool)"(
seller?: PromiseOrValue<string> | null,
token?: null,
state?: null
): ValidSetEventFilter;
ValidSet(
seller?: PromiseOrValue<string> | null,
token?: null,
state?: null
): ValidSetEventFilter;
"ValidSignersUpdated(address[])"(
signers?: null
): ValidSignersUpdatedEventFilter;
ValidSignersUpdated(signers?: null): ValidSignersUpdatedEventFilter;
};
estimateGas: {
_castAddrToKey(
_addr: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<BigNumber>;
_castKeyToAddr(
_key: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;
allowedERC20s(
erc20: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<BigNumber>;
defaultLockBlocks(overrides?: CallOverrides): Promise<BigNumber>;
owner(overrides?: CallOverrides): Promise<BigNumber>;
reputation(overrides?: CallOverrides): Promise<BigNumber>;
sellerAllowList(
sellerKey: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;
setDefaultLockBlocks(
_blocks: PromiseOrValue<BigNumberish>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
setOwner(
newOwner: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
setReputation(
_reputation: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
setValidSigners(
_validSigners: PromiseOrValue<string>[],
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
tokenSettings(
_tokens: PromiseOrValue<string>[],
_states: PromiseOrValue<boolean>[],
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
usedTransactions(
message: PromiseOrValue<BytesLike>,
overrides?: CallOverrides
): Promise<BigNumber>;
validBacenSigners(
signer: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;
withdrawBalance(
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
};
populateTransaction: {
_castAddrToKey(
_addr: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
_castKeyToAddr(
_key: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
allowedERC20s(
erc20: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
defaultLockBlocks(overrides?: CallOverrides): Promise<PopulatedTransaction>;
owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
reputation(overrides?: CallOverrides): Promise<PopulatedTransaction>;
sellerAllowList(
sellerKey: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
setDefaultLockBlocks(
_blocks: PromiseOrValue<BigNumberish>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
setOwner(
newOwner: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
setReputation(
_reputation: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
setValidSigners(
_validSigners: PromiseOrValue<string>[],
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
tokenSettings(
_tokens: PromiseOrValue<string>[],
_states: PromiseOrValue<boolean>[],
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
usedTransactions(
message: PromiseOrValue<BytesLike>,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
validBacenSigners(
signer: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
withdrawBalance(
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
};
}

View File

@ -17,7 +17,7 @@ import type {
TypedListener,
OnEvent,
PromiseOrValue,
} from "./common";
} from "../common";
export interface EventAndErrorsInterface extends utils.Interface {
functions: {};

View File

@ -0,0 +1,730 @@
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import type {
BaseContract,
BigNumber,
BigNumberish,
BytesLike,
CallOverrides,
ContractTransaction,
Overrides,
PopulatedTransaction,
Signer,
utils,
} from "ethers";
import type {
FunctionFragment,
Result,
EventFragment,
} from "@ethersproject/abi";
import type { Listener, Provider } from "@ethersproject/providers";
import type {
TypedEventFilter,
TypedEvent,
TypedListener,
OnEvent,
PromiseOrValue,
} from "../common";
export interface OwnerSettingsInterface extends utils.Interface {
functions: {
"allowedERC20s(address)": FunctionFragment;
"defaultLockBlocks()": FunctionFragment;
"owner()": FunctionFragment;
"reputation()": FunctionFragment;
"sellerAllowList(uint256)": FunctionFragment;
"setDefaultLockBlocks(uint256)": FunctionFragment;
"setOwner(address)": FunctionFragment;
"setReputation(address)": FunctionFragment;
"setValidSigners(address[])": FunctionFragment;
"tokenSettings(address[],bool[])": FunctionFragment;
"validBacenSigners(uint256)": FunctionFragment;
"withdrawBalance()": FunctionFragment;
};
getFunction(
nameOrSignatureOrTopic:
| "allowedERC20s"
| "defaultLockBlocks"
| "owner"
| "reputation"
| "sellerAllowList"
| "setDefaultLockBlocks"
| "setOwner"
| "setReputation"
| "setValidSigners"
| "tokenSettings"
| "validBacenSigners"
| "withdrawBalance"
): FunctionFragment;
encodeFunctionData(
functionFragment: "allowedERC20s",
values: [PromiseOrValue<string>]
): string;
encodeFunctionData(
functionFragment: "defaultLockBlocks",
values?: undefined
): string;
encodeFunctionData(functionFragment: "owner", values?: undefined): string;
encodeFunctionData(
functionFragment: "reputation",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "sellerAllowList",
values: [PromiseOrValue<BigNumberish>]
): string;
encodeFunctionData(
functionFragment: "setDefaultLockBlocks",
values: [PromiseOrValue<BigNumberish>]
): string;
encodeFunctionData(
functionFragment: "setOwner",
values: [PromiseOrValue<string>]
): string;
encodeFunctionData(
functionFragment: "setReputation",
values: [PromiseOrValue<string>]
): string;
encodeFunctionData(
functionFragment: "setValidSigners",
values: [PromiseOrValue<string>[]]
): string;
encodeFunctionData(
functionFragment: "tokenSettings",
values: [PromiseOrValue<string>[], PromiseOrValue<boolean>[]]
): string;
encodeFunctionData(
functionFragment: "validBacenSigners",
values: [PromiseOrValue<BigNumberish>]
): string;
encodeFunctionData(
functionFragment: "withdrawBalance",
values?: undefined
): string;
decodeFunctionResult(
functionFragment: "allowedERC20s",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "defaultLockBlocks",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "reputation", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "sellerAllowList",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "setDefaultLockBlocks",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "setReputation",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "setValidSigners",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "tokenSettings",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "validBacenSigners",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "withdrawBalance",
data: BytesLike
): Result;
events: {
"AllowedERC20Updated(address,bool)": EventFragment;
"DepositAdded(address,address,uint256)": EventFragment;
"DepositWithdrawn(address,address,uint256)": EventFragment;
"FundsWithdrawn(address,uint256)": EventFragment;
"LockAdded(address,uint256,uint256,uint256)": EventFragment;
"LockBlocksUpdated(uint256)": EventFragment;
"LockReleased(address,uint256,uint256)": EventFragment;
"LockReturned(address,uint256)": EventFragment;
"OwnerUpdated(address,address)": EventFragment;
"ReputationUpdated(address)": EventFragment;
"RootUpdated(address,bytes32)": EventFragment;
"ValidSet(address,address,bool)": EventFragment;
"ValidSignersUpdated(address[])": EventFragment;
};
getEvent(nameOrSignatureOrTopic: "AllowedERC20Updated"): EventFragment;
getEvent(nameOrSignatureOrTopic: "DepositAdded"): EventFragment;
getEvent(nameOrSignatureOrTopic: "DepositWithdrawn"): EventFragment;
getEvent(nameOrSignatureOrTopic: "FundsWithdrawn"): EventFragment;
getEvent(nameOrSignatureOrTopic: "LockAdded"): EventFragment;
getEvent(nameOrSignatureOrTopic: "LockBlocksUpdated"): EventFragment;
getEvent(nameOrSignatureOrTopic: "LockReleased"): EventFragment;
getEvent(nameOrSignatureOrTopic: "LockReturned"): EventFragment;
getEvent(nameOrSignatureOrTopic: "OwnerUpdated"): EventFragment;
getEvent(nameOrSignatureOrTopic: "ReputationUpdated"): EventFragment;
getEvent(nameOrSignatureOrTopic: "RootUpdated"): EventFragment;
getEvent(nameOrSignatureOrTopic: "ValidSet"): EventFragment;
getEvent(nameOrSignatureOrTopic: "ValidSignersUpdated"): EventFragment;
}
export interface AllowedERC20UpdatedEventObject {
token: string;
state: boolean;
}
export type AllowedERC20UpdatedEvent = TypedEvent<
[string, boolean],
AllowedERC20UpdatedEventObject
>;
export type AllowedERC20UpdatedEventFilter =
TypedEventFilter<AllowedERC20UpdatedEvent>;
export interface DepositAddedEventObject {
seller: string;
token: string;
amount: BigNumber;
}
export type DepositAddedEvent = TypedEvent<
[string, string, BigNumber],
DepositAddedEventObject
>;
export type DepositAddedEventFilter = TypedEventFilter<DepositAddedEvent>;
export interface DepositWithdrawnEventObject {
seller: string;
token: string;
amount: BigNumber;
}
export type DepositWithdrawnEvent = TypedEvent<
[string, string, BigNumber],
DepositWithdrawnEventObject
>;
export type DepositWithdrawnEventFilter =
TypedEventFilter<DepositWithdrawnEvent>;
export interface FundsWithdrawnEventObject {
owner: string;
amount: BigNumber;
}
export type FundsWithdrawnEvent = TypedEvent<
[string, BigNumber],
FundsWithdrawnEventObject
>;
export type FundsWithdrawnEventFilter = TypedEventFilter<FundsWithdrawnEvent>;
export interface LockAddedEventObject {
buyer: string;
lockID: BigNumber;
seller: BigNumber;
amount: BigNumber;
}
export type LockAddedEvent = TypedEvent<
[string, BigNumber, BigNumber, BigNumber],
LockAddedEventObject
>;
export type LockAddedEventFilter = TypedEventFilter<LockAddedEvent>;
export interface LockBlocksUpdatedEventObject {
blocks: BigNumber;
}
export type LockBlocksUpdatedEvent = TypedEvent<
[BigNumber],
LockBlocksUpdatedEventObject
>;
export type LockBlocksUpdatedEventFilter =
TypedEventFilter<LockBlocksUpdatedEvent>;
export interface LockReleasedEventObject {
buyer: string;
lockId: BigNumber;
amount: BigNumber;
}
export type LockReleasedEvent = TypedEvent<
[string, BigNumber, BigNumber],
LockReleasedEventObject
>;
export type LockReleasedEventFilter = TypedEventFilter<LockReleasedEvent>;
export interface LockReturnedEventObject {
buyer: string;
lockId: BigNumber;
}
export type LockReturnedEvent = TypedEvent<
[string, BigNumber],
LockReturnedEventObject
>;
export type LockReturnedEventFilter = TypedEventFilter<LockReturnedEvent>;
export interface OwnerUpdatedEventObject {
user: string;
newOwner: string;
}
export type OwnerUpdatedEvent = TypedEvent<
[string, string],
OwnerUpdatedEventObject
>;
export type OwnerUpdatedEventFilter = TypedEventFilter<OwnerUpdatedEvent>;
export interface ReputationUpdatedEventObject {
reputation: string;
}
export type ReputationUpdatedEvent = TypedEvent<
[string],
ReputationUpdatedEventObject
>;
export type ReputationUpdatedEventFilter =
TypedEventFilter<ReputationUpdatedEvent>;
export interface RootUpdatedEventObject {
seller: string;
merkleRoot: string;
}
export type RootUpdatedEvent = TypedEvent<
[string, string],
RootUpdatedEventObject
>;
export type RootUpdatedEventFilter = TypedEventFilter<RootUpdatedEvent>;
export interface ValidSetEventObject {
seller: string;
token: string;
state: boolean;
}
export type ValidSetEvent = TypedEvent<
[string, string, boolean],
ValidSetEventObject
>;
export type ValidSetEventFilter = TypedEventFilter<ValidSetEvent>;
export interface ValidSignersUpdatedEventObject {
signers: string[];
}
export type ValidSignersUpdatedEvent = TypedEvent<
[string[]],
ValidSignersUpdatedEventObject
>;
export type ValidSignersUpdatedEventFilter =
TypedEventFilter<ValidSignersUpdatedEvent>;
export interface OwnerSettings extends BaseContract {
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: OwnerSettingsInterface;
queryFilter<TEvent extends TypedEvent>(
event: TypedEventFilter<TEvent>,
fromBlockOrBlockhash?: string | number | undefined,
toBlock?: string | number | undefined
): Promise<Array<TEvent>>;
listeners<TEvent extends TypedEvent>(
eventFilter?: TypedEventFilter<TEvent>
): Array<TypedListener<TEvent>>;
listeners(eventName?: string): Array<Listener>;
removeAllListeners<TEvent extends TypedEvent>(
eventFilter: TypedEventFilter<TEvent>
): this;
removeAllListeners(eventName?: string): this;
off: OnEvent<this>;
on: OnEvent<this>;
once: OnEvent<this>;
removeListener: OnEvent<this>;
functions: {
allowedERC20s(
erc20: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<[boolean] & { state: boolean }>;
defaultLockBlocks(overrides?: CallOverrides): Promise<[BigNumber]>;
owner(overrides?: CallOverrides): Promise<[string]>;
reputation(overrides?: CallOverrides): Promise<[string]>;
sellerAllowList(
sellerKey: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<[string] & { root: string }>;
setDefaultLockBlocks(
_blocks: PromiseOrValue<BigNumberish>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
setOwner(
newOwner: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
setReputation(
_reputation: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
setValidSigners(
_validSigners: PromiseOrValue<string>[],
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
tokenSettings(
_tokens: PromiseOrValue<string>[],
_states: PromiseOrValue<boolean>[],
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
validBacenSigners(
signer: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<[boolean] & { valid: boolean }>;
withdrawBalance(
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
};
allowedERC20s(
erc20: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<boolean>;
defaultLockBlocks(overrides?: CallOverrides): Promise<BigNumber>;
owner(overrides?: CallOverrides): Promise<string>;
reputation(overrides?: CallOverrides): Promise<string>;
sellerAllowList(
sellerKey: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<string>;
setDefaultLockBlocks(
_blocks: PromiseOrValue<BigNumberish>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
setOwner(
newOwner: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
setReputation(
_reputation: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
setValidSigners(
_validSigners: PromiseOrValue<string>[],
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
tokenSettings(
_tokens: PromiseOrValue<string>[],
_states: PromiseOrValue<boolean>[],
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
validBacenSigners(
signer: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<boolean>;
withdrawBalance(
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
callStatic: {
allowedERC20s(
erc20: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<boolean>;
defaultLockBlocks(overrides?: CallOverrides): Promise<BigNumber>;
owner(overrides?: CallOverrides): Promise<string>;
reputation(overrides?: CallOverrides): Promise<string>;
sellerAllowList(
sellerKey: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<string>;
setDefaultLockBlocks(
_blocks: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<void>;
setOwner(
newOwner: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<void>;
setReputation(
_reputation: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<void>;
setValidSigners(
_validSigners: PromiseOrValue<string>[],
overrides?: CallOverrides
): Promise<void>;
tokenSettings(
_tokens: PromiseOrValue<string>[],
_states: PromiseOrValue<boolean>[],
overrides?: CallOverrides
): Promise<void>;
validBacenSigners(
signer: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<boolean>;
withdrawBalance(overrides?: CallOverrides): Promise<void>;
};
filters: {
"AllowedERC20Updated(address,bool)"(
token?: PromiseOrValue<string> | null,
state?: PromiseOrValue<boolean> | null
): AllowedERC20UpdatedEventFilter;
AllowedERC20Updated(
token?: PromiseOrValue<string> | null,
state?: PromiseOrValue<boolean> | null
): AllowedERC20UpdatedEventFilter;
"DepositAdded(address,address,uint256)"(
seller?: PromiseOrValue<string> | null,
token?: null,
amount?: null
): DepositAddedEventFilter;
DepositAdded(
seller?: PromiseOrValue<string> | null,
token?: null,
amount?: null
): DepositAddedEventFilter;
"DepositWithdrawn(address,address,uint256)"(
seller?: PromiseOrValue<string> | null,
token?: null,
amount?: null
): DepositWithdrawnEventFilter;
DepositWithdrawn(
seller?: PromiseOrValue<string> | null,
token?: null,
amount?: null
): DepositWithdrawnEventFilter;
"FundsWithdrawn(address,uint256)"(
owner?: null,
amount?: null
): FundsWithdrawnEventFilter;
FundsWithdrawn(owner?: null, amount?: null): FundsWithdrawnEventFilter;
"LockAdded(address,uint256,uint256,uint256)"(
buyer?: PromiseOrValue<string> | null,
lockID?: PromiseOrValue<BigNumberish> | null,
seller?: null,
amount?: null
): LockAddedEventFilter;
LockAdded(
buyer?: PromiseOrValue<string> | null,
lockID?: PromiseOrValue<BigNumberish> | null,
seller?: null,
amount?: null
): LockAddedEventFilter;
"LockBlocksUpdated(uint256)"(blocks?: null): LockBlocksUpdatedEventFilter;
LockBlocksUpdated(blocks?: null): LockBlocksUpdatedEventFilter;
"LockReleased(address,uint256,uint256)"(
buyer?: PromiseOrValue<string> | null,
lockId?: null,
amount?: null
): LockReleasedEventFilter;
LockReleased(
buyer?: PromiseOrValue<string> | null,
lockId?: null,
amount?: null
): LockReleasedEventFilter;
"LockReturned(address,uint256)"(
buyer?: PromiseOrValue<string> | null,
lockId?: null
): LockReturnedEventFilter;
LockReturned(
buyer?: PromiseOrValue<string> | null,
lockId?: null
): LockReturnedEventFilter;
"OwnerUpdated(address,address)"(
user?: PromiseOrValue<string> | null,
newOwner?: PromiseOrValue<string> | null
): OwnerUpdatedEventFilter;
OwnerUpdated(
user?: PromiseOrValue<string> | null,
newOwner?: PromiseOrValue<string> | null
): OwnerUpdatedEventFilter;
"ReputationUpdated(address)"(
reputation?: null
): ReputationUpdatedEventFilter;
ReputationUpdated(reputation?: null): ReputationUpdatedEventFilter;
"RootUpdated(address,bytes32)"(
seller?: PromiseOrValue<string> | null,
merkleRoot?: PromiseOrValue<BytesLike> | null
): RootUpdatedEventFilter;
RootUpdated(
seller?: PromiseOrValue<string> | null,
merkleRoot?: PromiseOrValue<BytesLike> | null
): RootUpdatedEventFilter;
"ValidSet(address,address,bool)"(
seller?: PromiseOrValue<string> | null,
token?: null,
state?: null
): ValidSetEventFilter;
ValidSet(
seller?: PromiseOrValue<string> | null,
token?: null,
state?: null
): ValidSetEventFilter;
"ValidSignersUpdated(address[])"(
signers?: null
): ValidSignersUpdatedEventFilter;
ValidSignersUpdated(signers?: null): ValidSignersUpdatedEventFilter;
};
estimateGas: {
allowedERC20s(
erc20: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<BigNumber>;
defaultLockBlocks(overrides?: CallOverrides): Promise<BigNumber>;
owner(overrides?: CallOverrides): Promise<BigNumber>;
reputation(overrides?: CallOverrides): Promise<BigNumber>;
sellerAllowList(
sellerKey: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;
setDefaultLockBlocks(
_blocks: PromiseOrValue<BigNumberish>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
setOwner(
newOwner: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
setReputation(
_reputation: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
setValidSigners(
_validSigners: PromiseOrValue<string>[],
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
tokenSettings(
_tokens: PromiseOrValue<string>[],
_states: PromiseOrValue<boolean>[],
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
validBacenSigners(
signer: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;
withdrawBalance(
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
};
populateTransaction: {
allowedERC20s(
erc20: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
defaultLockBlocks(overrides?: CallOverrides): Promise<PopulatedTransaction>;
owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
reputation(overrides?: CallOverrides): Promise<PopulatedTransaction>;
sellerAllowList(
sellerKey: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
setDefaultLockBlocks(
_blocks: PromiseOrValue<BigNumberish>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
setOwner(
newOwner: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
setReputation(
_reputation: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
setValidSigners(
_validSigners: PromiseOrValue<string>[],
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
tokenSettings(
_tokens: PromiseOrValue<string>[],
_states: PromiseOrValue<boolean>[],
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
validBacenSigners(
signer: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
withdrawBalance(
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
};
}

6
src/types/core/index.ts Normal file
View File

@ -0,0 +1,6 @@
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
export type { BaseUtils } from "./BaseUtils";
export type { EventAndErrors } from "./EventAndErrors";
export type { OwnerSettings } from "./OwnerSettings";

View File

@ -0,0 +1,618 @@
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import { Contract, Signer, utils } from "ethers";
import type { Provider } from "@ethersproject/providers";
import type { BaseUtils, BaseUtilsInterface } from "../../core/BaseUtils";
const _abi = [
{
inputs: [],
name: "AddressDenied",
type: "error",
},
{
inputs: [],
name: "AlreadyReleased",
type: "error",
},
{
inputs: [],
name: "AmountNotAllowed",
type: "error",
},
{
inputs: [],
name: "DecOverflow",
type: "error",
},
{
inputs: [],
name: "EmptyPixTarget",
type: "error",
},
{
inputs: [],
name: "InvalidDeposit",
type: "error",
},
{
inputs: [],
name: "InvalidSigner",
type: "error",
},
{
inputs: [],
name: "LengthMismatch",
type: "error",
},
{
inputs: [],
name: "LockExpired",
type: "error",
},
{
inputs: [],
name: "LoopOverflow",
type: "error",
},
{
inputs: [],
name: "MaxBalExceeded",
type: "error",
},
{
inputs: [],
name: "NoTokens",
type: "error",
},
{
inputs: [],
name: "NotEnoughTokens",
type: "error",
},
{
inputs: [],
name: "NotExpired",
type: "error",
},
{
inputs: [],
name: "NotInitialized",
type: "error",
},
{
inputs: [],
name: "OnlySeller",
type: "error",
},
{
inputs: [],
name: "StaticCallFailed",
type: "error",
},
{
inputs: [],
name: "TokenDenied",
type: "error",
},
{
inputs: [],
name: "TxAlreadyUsed",
type: "error",
},
{
inputs: [],
name: "Unauthorized",
type: "error",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "token",
type: "address",
},
{
indexed: true,
internalType: "bool",
name: "state",
type: "bool",
},
],
name: "AllowedERC20Updated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "seller",
type: "address",
},
{
indexed: false,
internalType: "address",
name: "token",
type: "address",
},
{
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: "address",
name: "token",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "DepositWithdrawn",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "address",
name: "owner",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "FundsWithdrawn",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "buyer",
type: "address",
},
{
indexed: true,
internalType: "uint256",
name: "lockID",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "seller",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "LockAdded",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "uint256",
name: "blocks",
type: "uint256",
},
],
name: "LockBlocksUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "buyer",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "lockId",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "LockReleased",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "buyer",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "lockId",
type: "uint256",
},
],
name: "LockReturned",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "user",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "OwnerUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "address",
name: "reputation",
type: "address",
},
],
name: "ReputationUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "seller",
type: "address",
},
{
indexed: true,
internalType: "bytes32",
name: "merkleRoot",
type: "bytes32",
},
],
name: "RootUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "seller",
type: "address",
},
{
indexed: false,
internalType: "address",
name: "token",
type: "address",
},
{
indexed: false,
internalType: "bool",
name: "state",
type: "bool",
},
],
name: "ValidSet",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "address[]",
name: "signers",
type: "address[]",
},
],
name: "ValidSignersUpdated",
type: "event",
},
{
inputs: [
{
internalType: "address",
name: "_addr",
type: "address",
},
],
name: "_castAddrToKey",
outputs: [
{
internalType: "uint256",
name: "_key",
type: "uint256",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "_key",
type: "uint256",
},
],
name: "_castKeyToAddr",
outputs: [
{
internalType: "address",
name: "_addr",
type: "address",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{
internalType: "contract ERC20",
name: "erc20",
type: "address",
},
],
name: "allowedERC20s",
outputs: [
{
internalType: "bool",
name: "state",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "defaultLockBlocks",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "owner",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "reputation",
outputs: [
{
internalType: "contract IReputation",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "sellerKey",
type: "uint256",
},
],
name: "sellerAllowList",
outputs: [
{
internalType: "bytes32",
name: "root",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "_blocks",
type: "uint256",
},
],
name: "setDefaultLockBlocks",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "setOwner",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "contract IReputation",
name: "_reputation",
type: "address",
},
],
name: "setReputation",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address[]",
name: "_validSigners",
type: "address[]",
},
],
name: "setValidSigners",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address[]",
name: "_tokens",
type: "address[]",
},
{
internalType: "bool[]",
name: "_states",
type: "bool[]",
},
],
name: "tokenSettings",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "message",
type: "bytes32",
},
],
name: "usedTransactions",
outputs: [
{
internalType: "bool",
name: "used",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "signer",
type: "uint256",
},
],
name: "validBacenSigners",
outputs: [
{
internalType: "bool",
name: "valid",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "withdrawBalance",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
];
export class BaseUtils__factory {
static readonly abi = _abi;
static createInterface(): BaseUtilsInterface {
return new utils.Interface(_abi) as BaseUtilsInterface;
}
static connect(
address: string,
signerOrProvider: Signer | Provider
): BaseUtils {
return new Contract(address, _abi, signerOrProvider) as BaseUtils;
}
}

View File

@ -7,7 +7,7 @@ import type { Provider } from "@ethersproject/providers";
import type {
EventAndErrors,
EventAndErrorsInterface,
} from "../EventAndErrors";
} from "../../core/EventAndErrors";
const _abi = [
{

View File

@ -0,0 +1,564 @@
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import { Contract, Signer, utils } from "ethers";
import type { Provider } from "@ethersproject/providers";
import type {
OwnerSettings,
OwnerSettingsInterface,
} from "../../core/OwnerSettings";
const _abi = [
{
inputs: [],
name: "AddressDenied",
type: "error",
},
{
inputs: [],
name: "AlreadyReleased",
type: "error",
},
{
inputs: [],
name: "AmountNotAllowed",
type: "error",
},
{
inputs: [],
name: "DecOverflow",
type: "error",
},
{
inputs: [],
name: "EmptyPixTarget",
type: "error",
},
{
inputs: [],
name: "InvalidDeposit",
type: "error",
},
{
inputs: [],
name: "InvalidSigner",
type: "error",
},
{
inputs: [],
name: "LengthMismatch",
type: "error",
},
{
inputs: [],
name: "LockExpired",
type: "error",
},
{
inputs: [],
name: "LoopOverflow",
type: "error",
},
{
inputs: [],
name: "MaxBalExceeded",
type: "error",
},
{
inputs: [],
name: "NoTokens",
type: "error",
},
{
inputs: [],
name: "NotEnoughTokens",
type: "error",
},
{
inputs: [],
name: "NotExpired",
type: "error",
},
{
inputs: [],
name: "NotInitialized",
type: "error",
},
{
inputs: [],
name: "OnlySeller",
type: "error",
},
{
inputs: [],
name: "StaticCallFailed",
type: "error",
},
{
inputs: [],
name: "TokenDenied",
type: "error",
},
{
inputs: [],
name: "TxAlreadyUsed",
type: "error",
},
{
inputs: [],
name: "Unauthorized",
type: "error",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "token",
type: "address",
},
{
indexed: true,
internalType: "bool",
name: "state",
type: "bool",
},
],
name: "AllowedERC20Updated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "seller",
type: "address",
},
{
indexed: false,
internalType: "address",
name: "token",
type: "address",
},
{
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: "address",
name: "token",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "DepositWithdrawn",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "address",
name: "owner",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "FundsWithdrawn",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "buyer",
type: "address",
},
{
indexed: true,
internalType: "uint256",
name: "lockID",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "seller",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "LockAdded",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "uint256",
name: "blocks",
type: "uint256",
},
],
name: "LockBlocksUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "buyer",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "lockId",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "LockReleased",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "buyer",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "lockId",
type: "uint256",
},
],
name: "LockReturned",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "user",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "OwnerUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "address",
name: "reputation",
type: "address",
},
],
name: "ReputationUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "seller",
type: "address",
},
{
indexed: true,
internalType: "bytes32",
name: "merkleRoot",
type: "bytes32",
},
],
name: "RootUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "seller",
type: "address",
},
{
indexed: false,
internalType: "address",
name: "token",
type: "address",
},
{
indexed: false,
internalType: "bool",
name: "state",
type: "bool",
},
],
name: "ValidSet",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "address[]",
name: "signers",
type: "address[]",
},
],
name: "ValidSignersUpdated",
type: "event",
},
{
inputs: [
{
internalType: "contract ERC20",
name: "erc20",
type: "address",
},
],
name: "allowedERC20s",
outputs: [
{
internalType: "bool",
name: "state",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "defaultLockBlocks",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "owner",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "reputation",
outputs: [
{
internalType: "contract IReputation",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "sellerKey",
type: "uint256",
},
],
name: "sellerAllowList",
outputs: [
{
internalType: "bytes32",
name: "root",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "_blocks",
type: "uint256",
},
],
name: "setDefaultLockBlocks",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "setOwner",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "contract IReputation",
name: "_reputation",
type: "address",
},
],
name: "setReputation",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address[]",
name: "_validSigners",
type: "address[]",
},
],
name: "setValidSigners",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address[]",
name: "_tokens",
type: "address[]",
},
{
internalType: "bool[]",
name: "_states",
type: "bool[]",
},
],
name: "tokenSettings",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "signer",
type: "uint256",
},
],
name: "validBacenSigners",
outputs: [
{
internalType: "bool",
name: "valid",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "withdrawBalance",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
];
export class OwnerSettings__factory {
static readonly abi = _abi;
static createInterface(): OwnerSettingsInterface {
return new utils.Interface(_abi) as OwnerSettingsInterface;
}
static connect(
address: string,
signerOrProvider: Signer | Provider
): OwnerSettings {
return new Contract(address, _abi, signerOrProvider) as OwnerSettings;
}
}

View File

@ -0,0 +1,6 @@
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
export { BaseUtils__factory } from "./BaseUtils__factory";
export { EventAndErrors__factory } from "./EventAndErrors__factory";
export { OwnerSettings__factory } from "./OwnerSettings__factory";

View File

@ -1,7 +1,7 @@
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
export * as core from "./core";
export * as lib from "./lib";
export * as p2PixSol from "./p2pix.sol";
export { EventAndErrors__factory } from "./EventAndErrors__factory";
export { Reputation__factory } from "./Reputation__factory";

File diff suppressed because one or more lines are too long

View File

@ -12,10 +12,18 @@ import * as Contracts from ".";
declare module "hardhat/types/runtime" {
interface HardhatEthersHelpers extends HardhatEthersHelpersBase {
getContractFactory(
name: "BaseUtils",
signerOrOptions?: ethers.Signer | FactoryOptions
): Promise<Contracts.BaseUtils__factory>;
getContractFactory(
name: "EventAndErrors",
signerOrOptions?: ethers.Signer | FactoryOptions
): Promise<Contracts.EventAndErrors__factory>;
getContractFactory(
name: "OwnerSettings",
signerOrOptions?: ethers.Signer | FactoryOptions
): Promise<Contracts.OwnerSettings__factory>;
getContractFactory(
name: "Owned",
signerOrOptions?: ethers.Signer | FactoryOptions
@ -57,11 +65,21 @@ declare module "hardhat/types/runtime" {
signerOrOptions?: ethers.Signer | FactoryOptions
): Promise<Contracts.Reputation__factory>;
getContractAt(
name: "BaseUtils",
address: string,
signer?: ethers.Signer
): Promise<Contracts.BaseUtils>;
getContractAt(
name: "EventAndErrors",
address: string,
signer?: ethers.Signer
): Promise<Contracts.EventAndErrors>;
getContractAt(
name: "OwnerSettings",
address: string,
signer?: ethers.Signer
): Promise<Contracts.OwnerSettings>;
getContractAt(
name: "Owned",
address: string,

View File

@ -1,14 +1,20 @@
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import type * as core from "./core";
export type { core };
import type * as lib from "./lib";
export type { lib };
import type * as p2PixSol from "./p2pix.sol";
export type { p2PixSol };
export type { EventAndErrors } from "./EventAndErrors";
export type { Reputation } from "./Reputation";
export * as factories from "./factories";
export { EventAndErrors__factory } from "./factories/EventAndErrors__factory";
export type { BaseUtils } from "./core/BaseUtils";
export { BaseUtils__factory } from "./factories/core/BaseUtils__factory";
export type { EventAndErrors } from "./core/EventAndErrors";
export { EventAndErrors__factory } from "./factories/core/EventAndErrors__factory";
export type { OwnerSettings } from "./core/OwnerSettings";
export { OwnerSettings__factory } from "./factories/core/OwnerSettings__factory";
export type { Owned } from "./lib/auth/Owned";
export { Owned__factory } from "./factories/lib/auth/Owned__factory";
export type { IReputation } from "./lib/interfaces/IReputation";