cic-contracts/TransferApproval.sol

21 lines
771 B
Solidity

pragma solidity >=0.6.12;
// Author: Louis Holbrook <dev@holbrook.no> 0826EDA1702D1E87C6E2875121D2E7BB88C2A746
// SPDX-License-Identifier: GPL-3.0-or-later
// File-version: 1
abstract contract TransferApproval {
uint256 public serial;
mapping(uint256 => address) public requests;
mapping(address => bool) public approvers;
event NewRequest(address indexed _sender, address indexed _recipient, address indexed _token, uint256 _value, uint256 _serial);
event NewExecution(uint256 serial);
event NewRejection(uint256 serial);
function request(address _recipient, address _token, uint256 _value) public virtual returns (uint256);
function execute(uint256 _serial) public virtual returns (bool);
function reject(uint256 _serial) public virtual returns (bool);
}