Last Look Compensation

Contract info

Contract name: Quoter Penalty Manager

Contract addresses:

Harmony Mainnet: 0xbb73027ba3D0e04781eE0d43761A9Ae8EC54246B

Binance Smart Chain Mainnet: 0x9F60B30BbBd213f966AfBF538900154F61D0EC5b

Harmony Testnet: 0x70591769C2c3b0594f98be31c34B6815aCE06e38

Functions

DepositToken

function depositToken(uint256 amount) external returns (uint256);

Deposits Quoter token to penalty manager

Parameters:

NameTypeDescription

amount

uint256

amount of tokens to deposit

Returns:

TypeDescription

uint256

Balance after depositing the tokens

WithdrawToken

function withdrawToken(uint256 amount) external returns (uint256);

Withdraws Quoter token from penalty manager to msg sender

Parameters:

NameTypeDescription

amount

uint256

Amount of tokens to withdraw

Returns:

TypeDescription

uint256

balance after withdrawing the tokens

WithdrawTokenTo

function withdrawTokenTo(address to, uint256 amount) external returns (uint256);

Withdraws Quoter token from penalty manager to @to

Parameters:

NameTypeDescription

to

address

Address of the recepient's wallet

amount

uint256

Amount of tokens to withdraw

Returns:

TypeDescription

uint256

Balance after withdrawing the tokens

TransferTo

function transferTo(address to, uint256 amount) 
        external returns (uint256 balanceSender, uint256 balanceRecipient);

Transfer amount of balance of msg.sender to @to address

Parameters:

NameTypeDescription

to

address

Address of sender's balance recipient

amount

uint256

Amount of tokens to transfer

Returns:

NameTypeDescription

balanceSender

uint256

Sender balance after transfer

balanceRecipient

uint256

Recipient balance after transfer

IssuePenalty

function issuePenalty(address to, uint256 amount) external returns (uint256);

Transfer @amount of balance of @to address to PM owner and to split

Parameters:

NameTypeDescription

to

address

Penalized maker address

amount

uint256

Penalty amount

Returns:

TypeDescription

uint256

Balance of @to after penalty

IssuePenaltySplit

function issuePenaltySplit(address to, address splitRecipient, uint256 amount) 
        external returns (uint256);

Transfer amount of balance of to address to PM owner and to split

Parameters:

NameTypeDescription

to

address

Penalized maker address

splitRecipient

address

Secondary wallet that should receive some amount of @amount based on current split percentage of PM

amount

uint256

Penalty amount

Returns:

TypeDescription

uint256

Balance of @to after penalty

AddCollector

function addCollector(address collector) external;

Adds new address that can issue penalties to makers

Parameters:

NameTypeDescription

collector

address

New collector address

RemoveCollector

function removeCollector(address collector) external;

Removes collector, @collector address will not be able to issue penalties anymore

Parameters:

NameTypeDescription

collector

address

Collector address to remove

isCollector

function isCollector(address addr) external returns(bool);

Checks if given address is colector

Parameters:

NameTypeDescription

addr

address

Address to check

balanceOf

function balanceOf(address addr) external returns (uint256);

Returns balance of Quoter token available for use as penalty

Parameters:

NameTypeDescription

addr

address

Address of wallet to check balance of

Returns:

TypeDescription

uint256

Balance of given token

Heading

function transferOwnership(address to) 
        external returns (address oldOwner, address newOwner);

Transfer ownership of penalty manager to @to address

Parameters:

NameTypeDescription

to

address

Address of wallet that will receive ownership

Returns:

NameTypeDescription

oldOwner

address

Address of previous owner

newOwner

address

Address of new owner

Events

TokenDeposited

event TokenDeposited(
        address indexed sender,
        uint256 amount,
        uint256 balance
    );

Event emitted on successful deposit of Quoter token

Parameters:

NameTypeDescription

sender

address

The address of wallet depositing token

amount

uint256

Deposit amount

balance

uint256

Sender balance after deposit

TokenWithdrawn

event TokenWithdrawn(
        address indexed sender,
        uint256 amount,
        uint256 balance
    );

Event emitted on successful withdrawn of Quoter token

Parameters:

NameTypeDescription

sender

address

The address of wallet withdrawing token

amount

uint256

Withdraw amount

balance

uint256

Sender balance after withdraw

BalanceTransfered

 event BalanceTransfered(
        address indexed from,
        address indexed to,
        uint256 amount,
        uint256 balanceFrom,
        uint256 balanceTo
    );

Event emitted on successful balance transfer

Parameters:

NameTypeDescription

from

address

Address of wallet transfering balance

to

address

Address of wallet receiving balance

amount

uint256

Amount of balance transfered

balance

uint256

Balance of sender after transfer

balanceTo

uint256

Balance of recipient after transfer

PenaltyIssued

event PenaltyIssued(
        address indexed receiver,
        uint256 amount,
        uint256 balance
    );

Event emitted on penalty issued by collector

Parameters:

NameTypeDescription

receiver

address

Address of wallet that received penalty

amount

uint256

Penalty amount

balance

uint256

Balance after penalty

SplitPenaltyIssued

event SplitPenaltyIssued(
        address indexed receiver,
        address indexed splitTo,
        uint256 splitPercentage,
        uint256 amount,
        uint256 balance
    );

Event emitted on penalty issued by collector

NameTypeDescription

receiver

address

Address of wallet that received penalty

splitTo

address

Address of wallet that received penalty

splitPercentage

uint256

Split percentage, i.e. how much should go to @splitTo address and to PM owner address

amount

uint256

Penalty amount

balance

uint256

Balance after penalty

Last updated