Skip to content

Instantly share code, notes, and snippets.

// SPDX-License-Identifier: MIT
pragma solidity >=0.6.0 <0.7.0;
pragma experimental ABIEncoderV2;
import "../lib/ECDSA.sol";
import "../wallet/MetaTxUtils.sol";
// todo: add signature expiry
// todo: add enumeration
// todo: add ERC1616

Keybase proof

I hereby claim:

  • I am thegostep on github.
  • I am thegostep (https://keybase.io/thegostep) on keybase.
  • I have a public key ASBPCKkE0cKUDOciZsJxoEDLrre9DfSsRpJvsGCbTB64lwo

To claim this, I am signing this object:

ERC-1400 Base

This base transfer check provides a method for checking static restrictions as well as transfer restrictions. This is in line with ERC-902 proposal.

function canSend(address tokenHolder, uint256 amount) external view returns (byte ESC, bytes32 reason);
function canSend(address from, address to, uint256 amount, bytes data) external view returns (byte ESC, bytes32 reason);

ERC-1400 Extension for differentiated ownership

@thegostep
thegostep / TrancheFirst.sol
Created August 21, 2018 20:22
Comparison of _tranche as first parameter vs after _from address
interface ERC777Token {
function name() public view returns (string);
function symbol() public view returns (string);
function totalSupply() public view returns (uint256);
function balanceOf(address owner) public view returns (uint256);
function granularity() public view returns (uint256);
function defaultOperators() public view returns (address[]);
function authorizeOperator(address operator) public;
function revokeOperator(address operator) public;