Guest User

Untitled

a guest
Feb 17th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.84 KB | None | 0 0
  1. pragma solidity >=0.4.22 <0.6.0;
  2.  
  3. interface IERC1410 {
  4.  
  5. // Token Information
  6. function balanceOf(address _tokenHolder) external view returns (uint256);
  7. function balanceOfByPartition(bytes32 _partition, address _tokenHolder) external view returns (uint256);
  8. function partitionsOf(address _tokenHolder) external view returns (bytes32[] memory);
  9. function totalSupply() external view returns (uint256);
  10.  
  11. // Token Transfers
  12. function transferByPartition(bytes32 _partition, address _to, uint256 _value, bytes calldata _data) external returns (bytes32);
  13. function operatorTransferByPartition(bytes32 _partition, address _from, address _to, uint256 _value, bytes calldata _data, bytes calldata _operatorData) external returns (bytes32);
  14. function canTransferByPartition(address _from, address _to, bytes32 _partition, uint256 _value, bytes calldata _data) external view returns (byte, bytes32, bytes32);
  15.  
  16. // Operator Information
  17. function isOperator(address _operator, address _tokenHolder) external view returns (bool);
  18. function isOperatorForPartition(bytes32 _partition, address _operator, address _tokenHolder) external view returns (bool);
  19.  
  20. // Operator Management
  21. function authorizeOperator(address _operator) external;
  22. function revokeOperator(address _operator) external;
  23. function authorizeOperatorByPartition(bytes32 _partition, address _operator) external;
  24. function revokeOperatorByPartition(bytes32 _partition, address _operator) external;
  25.  
  26. // Issuance / Redemption
  27. function issueByPartition(bytes32 _partition, address _tokenHolder, uint256 _value, bytes calldata _data) external;
  28. function redeemByPartition(bytes32 _partition, uint256 _value, bytes calldata _data) external;
  29. function operatorRedeemByPartition(bytes32 _partition, address _tokenHolder, uint256 _value, bytes calldata _data, bytes calldata _operatorData) external;
  30.  
  31. // Transfer Events
  32. event TransferByPartition(
  33. bytes32 indexed _fromPartition,
  34. address _operator,
  35. address indexed _from,
  36. address indexed _to,
  37. uint256 _value,
  38. bytes _data,
  39. bytes _operatorData
  40. );
  41.  
  42. // Operator Events
  43. event AuthorizedOperator(address indexed operator, address indexed tokenHolder);
  44. event RevokedOperator(address indexed operator, address indexed tokenHolder);
  45. event AuthorizedOperatorByPartition(bytes32 indexed partition, address indexed operator, address indexed tokenHolder);
  46. event RevokedOperatorByPartition(bytes32 indexed partition, address indexed operator, address indexed tokenHolder);
  47.  
  48. // Issuance / Redemption Events
  49. event IssuedByPartition(bytes32 indexed partition, address indexed to, uint256 value, bytes data);
  50. event RedeemedByPartition(bytes32 indexed partition, address indexed operator, address indexed from, uint256 value, bytes data, bytes operatorData);
  51.  
  52. }
Add Comment
Please, Sign In to add comment