// SPDX-License-Identifier: MIT
// SPDX-FileCopyrightText: Copyright (C) 2022 Spanning Labs Inc.
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
import "@openzeppelin/contracts/utils/Context.sol";
import "../token/ERC20/SpanningERC20Container.sol";
/**
* This contract is for duringToken functions
* @dev Implementation of the {ISpanningERC20} interface.
*/
contract MockSpanningERC20Container is SpanningERC20Container {
// This allows us to efficiently unpack data in our address specification.
using SpanningAddress for bytes32;
/**
* @dev Creates the instance and assigns required values.
*
* @param name - Desired name for the token
* @param symbol - Desired symbol for the token
* @param delegate - Legacy (local) address for the Spanning Delegate
*/
constructor(
string memory name,
string memory symbol,
address delegate
) SpanningERC20Container(name, symbol, delegate) {}
function mint(bytes32 receiverAddress, uint256 amount) public {
_mint(receiverAddress, amount);
}
function duringTokenMint(
bytes32 senderAddress,
bytes32 receiverAddress,
uint256 amount
) public {
_duringTokenMint(senderAddress, receiverAddress, amount);
}
function duringTokenBurn(
bytes32 senderAddress,
bytes32 receiverAddress,
uint256 amount
) public {
_duringTokenBurn(senderAddress, receiverAddress, amount);
}
function duringTokenTransfer(
bytes32 senderAddress,
bytes32 receiverAddress,
uint256 amount
) public {
_duringTokenTransfer(senderAddress, receiverAddress, amount);
}
function duringTokenApprove(
bytes32 senderAddress,
bytes32 receiverAddress,
uint256 amount
) public {
_duringTokenApprove(senderAddress, receiverAddress, amount);
}
}
|