Files
smom-dbis-138/artifacts/contracts/vault/Liquidation.sol/Liquidation.json
2026-03-02 12:14:09 -08:00

493 lines
25 KiB
JSON

{
"_format": "hh-sol-artifact-1",
"contractName": "Liquidation",
"sourceName": "contracts/vault/Liquidation.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "admin",
"type": "address"
},
{
"internalType": "address",
"name": "ledger_",
"type": "address"
},
{
"internalType": "address",
"name": "collateralAdapter_",
"type": "address"
},
{
"internalType": "address",
"name": "eMoneyJoin_",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "AccessControlBadConfirmation",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "bytes32",
"name": "neededRole",
"type": "bytes32"
}
],
"name": "AccessControlUnauthorizedAccount",
"type": "error"
},
{
"inputs": [],
"name": "ReentrancyGuardReentrantCall",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "previousAdminRole",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "newAdminRole",
"type": "bytes32"
}
],
"name": "RoleAdminChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "RoleGranted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "RoleRevoked",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "vault",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "currency",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "seizedCollateral",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "repaidDebt",
"type": "uint256"
},
{
"indexed": true,
"internalType": "address",
"name": "liquidator",
"type": "address"
}
],
"name": "VaultLiquidated",
"type": "event"
},
{
"inputs": [],
"name": "BASIS_POINTS",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "DEFAULT_ADMIN_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "LIQUIDATOR_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "vault",
"type": "address"
}
],
"name": "canLiquidate",
"outputs": [
{
"internalType": "bool",
"name": "canLiquidate",
"type": "bool"
},
{
"internalType": "uint256",
"name": "healthRatio",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "collateralAdapter",
"outputs": [
{
"internalType": "contract ICollateralAdapter",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "eMoneyJoin",
"outputs": [
{
"internalType": "contract IeMoneyJoin",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
}
],
"name": "getRoleAdmin",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "grantRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "hasRole",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "ledger",
"outputs": [
{
"internalType": "contract ILedger",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "vault",
"type": "address"
},
{
"internalType": "address",
"name": "currency",
"type": "address"
},
{
"internalType": "uint256",
"name": "maxDebt",
"type": "uint256"
}
],
"name": "liquidate",
"outputs": [
{
"internalType": "uint256",
"name": "seizedCollateral",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "repaidDebt",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "liquidationBonus",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "callerConfirmation",
"type": "address"
}
],
"name": "renounceRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "revokeRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "collateralAdapter_",
"type": "address"
}
],
"name": "setCollateralAdapter",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "eMoneyJoin_",
"type": "address"
}
],
"name": "setEMoneyJoin",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "ledger_",
"type": "address"
}
],
"name": "setLedger",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "bonus",
"type": "uint256"
}
],
"name": "setLiquidationBonus",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x608034620000dc57601f62000fa538819003918201601f19168301916001600160401b03831184841017620000e157808492608094604052833981010312620000dc576200004d81620000f7565b906200005c60208201620000f7565b916200009a6200007d60606200007560408601620000f7565b9401620000f7565b91600180556101f460055562000093816200010c565b506200018c565b5060018060a01b0380928160018060a01b031995168560025416176002551683600354161760035516906004541617600455604051610d5690816200022f8239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620000dc57565b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff166200018857818052816020526040822081835260205260408220600160ff19825416179055339160008051602062000f858339815191528180a4600190565b5090565b6001600160a01b031660008181527fbcea842b576603bd7a3cd6bbb61cb6c1908ae113af80c7a38f32f896fbaa454460205260408120549091907f5e17fc5225d4a099df75359ce1f405503ca79498a8dc46a7d583235a0ee45c169060ff166200022957808352826020526040832082845260205260408320600160ff1982541617905560008051602062000f85833981519152339380a4600190565b50509056fe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a714610a6a5750816316d8887a14610a2f578163246786e214610a06578163248a9ca3146109dc57816326c01303146104a257816328842d4f146104305781632f2ff15d146104065781633246887d146103b557816336568abe1461036f57816346bfe10f1461031e57816356397c35146102f55781635b5d3280146102ac5781637b7c1f4c1461028d57816391d1485414610248578163a217fddf1461022d578163ae9c788a14610205578163b9f4ff5514610158578163d547741f14610115575063e1f1c4a7146100f657600080fd5b34610111578160031936011261011157602090516127108152f35b5080fd5b91905034610154578060031936011261015457610150913561014b600161013a610ad8565b938387528660205286200154610c07565b610cab565b5080f35b8280fd5b83915034610111576020366003190112610111576060610176610abd565b6002548551634a83cf4960e01b81526001600160a01b039283169481019490945283916024918391165afa9182156101fa5780926101c2575b5050815190612af8811082526020820152f35b9091506060823d6060116101f2575b816101de60609383610b18565b810103126101ef57505182806101af565b80fd5b3d91506101d1565b8351903d90823e3d90fd5b9050346101545782600319360112610154575490516001600160a01b03909116815260209150f35b50503461011157816003193601126101115751908152602090f35b90503461015457816003193601126101545781602093610266610ad8565b92358152808552209060018060a01b0316600052825260ff81600020541690519015158152f35b5050346101115781600319360112610111576020906005549051908152f35b839034610111576020366003190112610111576102c7610abd565b6102cf610baf565b6001600160a01b03166102e3811515610b63565b81546001600160a01b03191617905580f35b50503461011157816003193601126101115760025490516001600160a01b039091168152602090f35b83346101ef5760203660031901126101ef57610338610abd565b610340610baf565b6001600160a01b0316610354811515610b63565b6bffffffffffffffffffffffff60a01b600354161760035580f35b838334610111578060031936011261011157610389610ad8565b90336001600160a01b038316036103a65750610150919235610cab565b5163334bd91960e11b81528390fd5b83346101ef5760203660031901126101ef576103cf610abd565b6103d7610baf565b6001600160a01b03166103eb811515610b63565b6bffffffffffffffffffffffff60a01b600254161760025580f35b91905034610154578060031936011261015457610150913561042b600161013a610ad8565b610c2d565b9050346101545760203660031901126101545780359161044e610baf565b6103e8831161045f57505060055580f35b906020606492519162461bcd60e51b8352820152601b60248201527f4c69717569646174696f6e3a20626f6e757320746f6f206869676800000000006044820152fd5b905082346101ef5760603660031901126101ef576104be610abd565b906104c7610ad8565b92604435936002600154146109cd5760026001557f5e17fc5225d4a099df75359ce1f405503ca79498a8dc46a7d583235a0ee45c1692838152602093818552878220338352855260ff8883205416156109af5750865163b9f4ff5560e01b81526001600160a01b0395861684820181905293908881602481305afa9081156109a557839161096f575b5015610920578560025416968689519463d449300d60e01b86528684870152169384602482015286816044818c5afa90811561077a5784916108f3575b5080156108b957808210156108b15750955b868951631dffddf160e11b8152858482015287816024818d5afa9081156108a7578591610876575b50600554918261271001612710116108265790886305f5e1006105fa836105f5604496886127100190610b3a565b610b3a565b049b8d5193848092636610c76760e11b82528c8a8301528a60248301525afa91821561086c578692610839575b50818b116107ae575b50505080825416803b156107845783809160648c5180948193633dae446f60e21b83528a898401523360248401528d60448401525af1801561077a5761079b575b506002548116600160ff1b881461078857803b156107845783809160648c51809481936302db19b960e31b83528b898401528a60248401528d820360448401525af1801561077a57908491610766575b50506003541690813b15610154578460848492838c519586948593631461023960e31b85528401528160248401528c60448401523360648401525af1801561075c57610748575b505085519185835284848401527f64defbe4c90e3ee990bb6b44e3d0264514bb94c51924c23a0a02d88676caa2e8873394a4600180558351928352820152f35b6107528291610aee565b6101ef5780610708565b88513d84823e3d90fd5b61076f90610aee565b61015457828a6106c1565b8a513d86823e3d90fd5b8380fd5b634e487b7160e01b845260118352602484fd5b6107a790939193610aee565b9189610671565b91995080929850986127108302928084046127101481151715610826576305f5e1000292808404612710149015171561081357906107ef9161271001610b3a565b908115610800570495898080610630565b634e487b7160e01b845260128352602484fd5b634e487b7160e01b855260118452602485fd5b634e487b7160e01b865260118552602486fd5b9091508881813d8311610865575b6108518183610b18565b810103126108615751908c610627565b8580fd5b503d610847565b8c513d88823e3d90fd5b90508781813d83116108a0575b61088d8183610b18565b8101031261089c57518b6105c7565b8480fd5b503d610883565b8b513d87823e3d90fd5b90509561059f565b895162461bcd60e51b81528084018890526014602482015273131a5c5d5a59185d1a5bdb8e881b9bc81919589d60621b6044820152606490fd5b90508681813d8311610919575b61090a8183610b18565b8101031261078457518a61058d565b503d610900565b875162461bcd60e51b8152908101859052602360248201527f4c69717569646174696f6e3a207661756c74206e6f74206c6971756964617461604482015262626c6560e81b6064820152608490fd5b90508881813d831161099e575b6109868183610b18565b81010312610154575180151581036101545789610550565b503d61097c565b89513d85823e3d90fd5b875163e2517d3f60e01b815233818601526024810191909152604490fd5b508451633ee5aeb560e01b8152fd5b90503461015457602036600319011261015457816020936001923581528085522001549051908152f35b50503461011157816003193601126101115760035490516001600160a01b039091168152602090f35b505034610111578160031936011261011157602090517f5e17fc5225d4a099df75359ce1f405503ca79498a8dc46a7d583235a0ee45c168152f35b849134610154576020366003190112610154573563ffffffff60e01b81168091036101545760209250637965db0b60e01b8114908115610aac575b5015158152f35b6301ffc9a760e01b14905083610aa5565b600435906001600160a01b0382168203610ad357565b600080fd5b602435906001600160a01b0382168203610ad357565b67ffffffffffffffff8111610b0257604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610b0257604052565b81810292918115918404141715610b4d57565b634e487b7160e01b600052601160045260246000fd5b15610b6a57565b60405162461bcd60e51b815260206004820152601960248201527f4c69717569646174696f6e3a207a65726f2061646472657373000000000000006044820152606490fd5b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205460ff1615610be95750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600060205260406000203360005260205260ff6040600020541615610be95750565b9060009180835282602052604083209160018060a01b03169182845260205260ff60408420541615600014610ca657808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416600014610ca65780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a460019056fea264697066735822122026505631c08ebbec6241b88822ad6687d1c28e7df8ba5522993ac12ec979eec664736f6c634300081600332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
"deployedBytecode": "0x608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a714610a6a5750816316d8887a14610a2f578163246786e214610a06578163248a9ca3146109dc57816326c01303146104a257816328842d4f146104305781632f2ff15d146104065781633246887d146103b557816336568abe1461036f57816346bfe10f1461031e57816356397c35146102f55781635b5d3280146102ac5781637b7c1f4c1461028d57816391d1485414610248578163a217fddf1461022d578163ae9c788a14610205578163b9f4ff5514610158578163d547741f14610115575063e1f1c4a7146100f657600080fd5b34610111578160031936011261011157602090516127108152f35b5080fd5b91905034610154578060031936011261015457610150913561014b600161013a610ad8565b938387528660205286200154610c07565b610cab565b5080f35b8280fd5b83915034610111576020366003190112610111576060610176610abd565b6002548551634a83cf4960e01b81526001600160a01b039283169481019490945283916024918391165afa9182156101fa5780926101c2575b5050815190612af8811082526020820152f35b9091506060823d6060116101f2575b816101de60609383610b18565b810103126101ef57505182806101af565b80fd5b3d91506101d1565b8351903d90823e3d90fd5b9050346101545782600319360112610154575490516001600160a01b03909116815260209150f35b50503461011157816003193601126101115751908152602090f35b90503461015457816003193601126101545781602093610266610ad8565b92358152808552209060018060a01b0316600052825260ff81600020541690519015158152f35b5050346101115781600319360112610111576020906005549051908152f35b839034610111576020366003190112610111576102c7610abd565b6102cf610baf565b6001600160a01b03166102e3811515610b63565b81546001600160a01b03191617905580f35b50503461011157816003193601126101115760025490516001600160a01b039091168152602090f35b83346101ef5760203660031901126101ef57610338610abd565b610340610baf565b6001600160a01b0316610354811515610b63565b6bffffffffffffffffffffffff60a01b600354161760035580f35b838334610111578060031936011261011157610389610ad8565b90336001600160a01b038316036103a65750610150919235610cab565b5163334bd91960e11b81528390fd5b83346101ef5760203660031901126101ef576103cf610abd565b6103d7610baf565b6001600160a01b03166103eb811515610b63565b6bffffffffffffffffffffffff60a01b600254161760025580f35b91905034610154578060031936011261015457610150913561042b600161013a610ad8565b610c2d565b9050346101545760203660031901126101545780359161044e610baf565b6103e8831161045f57505060055580f35b906020606492519162461bcd60e51b8352820152601b60248201527f4c69717569646174696f6e3a20626f6e757320746f6f206869676800000000006044820152fd5b905082346101ef5760603660031901126101ef576104be610abd565b906104c7610ad8565b92604435936002600154146109cd5760026001557f5e17fc5225d4a099df75359ce1f405503ca79498a8dc46a7d583235a0ee45c1692838152602093818552878220338352855260ff8883205416156109af5750865163b9f4ff5560e01b81526001600160a01b0395861684820181905293908881602481305afa9081156109a557839161096f575b5015610920578560025416968689519463d449300d60e01b86528684870152169384602482015286816044818c5afa90811561077a5784916108f3575b5080156108b957808210156108b15750955b868951631dffddf160e11b8152858482015287816024818d5afa9081156108a7578591610876575b50600554918261271001612710116108265790886305f5e1006105fa836105f5604496886127100190610b3a565b610b3a565b049b8d5193848092636610c76760e11b82528c8a8301528a60248301525afa91821561086c578692610839575b50818b116107ae575b50505080825416803b156107845783809160648c5180948193633dae446f60e21b83528a898401523360248401528d60448401525af1801561077a5761079b575b506002548116600160ff1b881461078857803b156107845783809160648c51809481936302db19b960e31b83528b898401528a60248401528d820360448401525af1801561077a57908491610766575b50506003541690813b15610154578460848492838c519586948593631461023960e31b85528401528160248401528c60448401523360648401525af1801561075c57610748575b505085519185835284848401527f64defbe4c90e3ee990bb6b44e3d0264514bb94c51924c23a0a02d88676caa2e8873394a4600180558351928352820152f35b6107528291610aee565b6101ef5780610708565b88513d84823e3d90fd5b61076f90610aee565b61015457828a6106c1565b8a513d86823e3d90fd5b8380fd5b634e487b7160e01b845260118352602484fd5b6107a790939193610aee565b9189610671565b91995080929850986127108302928084046127101481151715610826576305f5e1000292808404612710149015171561081357906107ef9161271001610b3a565b908115610800570495898080610630565b634e487b7160e01b845260128352602484fd5b634e487b7160e01b855260118452602485fd5b634e487b7160e01b865260118552602486fd5b9091508881813d8311610865575b6108518183610b18565b810103126108615751908c610627565b8580fd5b503d610847565b8c513d88823e3d90fd5b90508781813d83116108a0575b61088d8183610b18565b8101031261089c57518b6105c7565b8480fd5b503d610883565b8b513d87823e3d90fd5b90509561059f565b895162461bcd60e51b81528084018890526014602482015273131a5c5d5a59185d1a5bdb8e881b9bc81919589d60621b6044820152606490fd5b90508681813d8311610919575b61090a8183610b18565b8101031261078457518a61058d565b503d610900565b875162461bcd60e51b8152908101859052602360248201527f4c69717569646174696f6e3a207661756c74206e6f74206c6971756964617461604482015262626c6560e81b6064820152608490fd5b90508881813d831161099e575b6109868183610b18565b81010312610154575180151581036101545789610550565b503d61097c565b89513d85823e3d90fd5b875163e2517d3f60e01b815233818601526024810191909152604490fd5b508451633ee5aeb560e01b8152fd5b90503461015457602036600319011261015457816020936001923581528085522001549051908152f35b50503461011157816003193601126101115760035490516001600160a01b039091168152602090f35b505034610111578160031936011261011157602090517f5e17fc5225d4a099df75359ce1f405503ca79498a8dc46a7d583235a0ee45c168152f35b849134610154576020366003190112610154573563ffffffff60e01b81168091036101545760209250637965db0b60e01b8114908115610aac575b5015158152f35b6301ffc9a760e01b14905083610aa5565b600435906001600160a01b0382168203610ad357565b600080fd5b602435906001600160a01b0382168203610ad357565b67ffffffffffffffff8111610b0257604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610b0257604052565b81810292918115918404141715610b4d57565b634e487b7160e01b600052601160045260246000fd5b15610b6a57565b60405162461bcd60e51b815260206004820152601960248201527f4c69717569646174696f6e3a207a65726f2061646472657373000000000000006044820152606490fd5b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205460ff1615610be95750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600060205260406000203360005260205260ff6040600020541615610be95750565b9060009180835282602052604083209160018060a01b03169182845260205260ff60408420541615600014610ca657808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416600014610ca65780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a460019056fea264697066735822122026505631c08ebbec6241b88822ad6687d1c28e7df8ba5522993ac12ec979eec664736f6c63430008160033",
"linkReferences": {},
"deployedLinkReferences": {}
}