Skip to content

Instantly share code, notes, and snippets.

@StEvUgnIn
Last active February 4, 2023 12:27
Show Gist options
  • Save StEvUgnIn/ec6c143621e60fca3c60d5b8b09a2246 to your computer and use it in GitHub Desktop.
Save StEvUgnIn/ec6c143621e60fca3c60d5b8b09a2246 to your computer and use it in GitHub Desktop.
import "./IDataCap.sol";
import "@zondax/filecoin-solidity/contracts/v0.8/DataCapAPI.sol";
import "openzeppelin-contracts/blob/master/contracts/token/ERC721/ERC721.sol";
contract DataCap is IDataCap, ERC165 {
function name() external returns (string memory) {
return DataCapAPI.name();
}
function symbol() external returns (string memory) {
return DataCapAPI.symbol();
}
function totalSupply() external returns (BigInt memory) {
DataCapAPI.totalSupply();
}
function balance(bytes calldata addr) external returns (BigInt memory) {
DataCapAPI.balance(addr);
}
function allowance(DataCapTypes.GetAllowanceParams calldata params) external returns (BigInt memory) {
return DataCapAPI.allowance(params);
}
function transfer(DataCapTypes.TransferParams calldata params) external returns (DataCapTypes.TransferReturn memory) {
return DataCapAPI.transfer(params);
}
function transferFrom(DataCapTypes.TransferFromParams calldata params) external returns (DataCapTypes.TransferFromReturn memory) {
return DataCapAPI.transferFrom(params);
}
function increaseAllowance(DataCapTypes.IncreaseAllowanceParams calldata params) external returns (BigInt memory) {
return DataCapAPI.increaseAllowance(params);
}
function decreaseAllowance(DataCapTypes.DecreaseAllowanceParams calldata params) external returns (BigInt memory) {
return DataCapAPI.decreaseAllowance(params);
}
function revokeAllowance(DataCapTypes.RevokeAllowanceParams calldata params) external returns (BigInt memory) {
return DataCapAPI.revokeAllowance(params);
}
function burn(DataCapTypes.BurnParams calldata params) external returns (DataCapTypes.BurnReturn memory) {
return DataCapAPI.burn(params);
}
function burnFrom(DataCapTypes.BurnFromParams calldata params) external returns (DataCapTypes.BurnFromReturn memory) {
return DataCapAPI.burnFrom(params);
}
function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
return interfaceId == type(IDataCap).interfaceId || super.supportsInterface(interfaceId);
}
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;
import "@zondax/filecoin-solidity/contracts/v0.8/types/DataCapTypes.sol";
interface IDataCap {
function name() external returns (string memory);
function symbol() external returns (string memory);
function totalSupply() external returns (BigInt memory);
function balance(bytes memory addr) external returns (BigInt memory);
function allowance(DataCapTypes.GetAllowanceParams memory params) external returns (BigInt memory);
function transfer(DataCapTypes.TransferParams memory params) external returns (DataCapTypes.TransferReturn memory);
function transferFrom(DataCapTypes.TransferFromParams memory params) external returns (DataCapTypes.TransferFromReturn memory);
function increaseAllowance(DataCapTypes.IncreaseAllowanceParams memory params) external returns (BigInt memory);
function decreaseAllowance(DataCapTypes.DecreaseAllowanceParams memory params) external returns (BigInt memory);
function revokeAllowance(DataCapTypes.RevokeAllowanceParams memory params) external returns (BigInt memory);
function burn(DataCapTypes.BurnParams memory params) external returns (DataCapTypes.BurnReturn memory);
function burnFrom(DataCapTypes.BurnFromParams memory params) external returns (DataCapTypes.BurnFromReturn memory);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment