-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ICON Security Token Standard #16
Comments
|
https://github.com/icon-project/IIPs/blob/master/IIPS/iip-16.md#1-partially-fungible-token-interface The code snippet in the Partially Fungible Token Interface and the methods description below does not conform. |
Also the description of |
Update template to include header taken from example: #16 Update body of template to include 'Abstract' and 'Motivation' The updates to the IIP process based off of these changes should be as such: - Pull IIPs repository - Modify iip-X.MD file with your proposal and store changes in the IIPS folder - Submit a Pull Request with the proposed changes in an appropriately named branch - Raise an Issue using the updated template, with the 'discussions-to' link pointing to the Pull Request. Title the Issue appropriately. For example: "Discussion for IRC-XXX", where 'XXX' is the number of the Pull Request
Simple Summary
This document represents the standard protocol specification for the security token of ICON network.
Abstract
The security token standard describes how to represent full ownership or split ownership of a particular asset.
This standard is compatible with standard IRC2 token IIP-2 and inspired by several security token standards such as EIP-1400, EIP-1410.
A standard for the Partially Fungible Token (PFT) was additionally written for grouping tokens into partition sets, and each partition is represented by a key-value format consisting of a unique key and balance.
Through this standard, ownership of certain assets can be divided and represented, tracked, viewed, privately owned and transferred. It may also be entrusted to a third party provider and may be controlled under strict authorization.
Motivation
The objective is to securitize and liquidate assets on the ICON block chain, by issuing and managing security tokens.
The standard supports legal document asserting the rights of tokenized assets on a block chain, partition management with partially fungible tokens in tranche, and interfaces for managing operator privileges.
Specification
1. Partially Fungible Token Interface
Methods
name
Returns the name of the token.
symbol
Returns the symbol of the token.
decimals
Returns the number of decimals toe the token uses
totalSupply
Returns the total token supply
balanceOf
Retruns the account balance of an account with address
_owner
.balanceOfPartition
Returns the balance of the partition with
_partition
.partitionsOf
Returns the partition information of an account with address
_owner
. The information of partition consists of a unique key with_name
and token amount in partition with_amount
transfer
Transfers or splits
_partition
to a specific account with_to
. You should callself.msg.sender
when the_amount
of the_partition
is sufficient. The@eventlog
should be called ontransfer
call. ( See implementation as below). The transfer method can be managed by the operator specified in the Security Token Standard below.2. Security Token Standard Interface
Methods
setDocument
Sets information of document identified by the unique with
_name
. Raw documentation is organized in offchain._uri
and_document_hash
are stored in blockchain to prevent forgery and falsification.getDocument
Returns information of document with
_name
.isControllable
Returns whether token is controllable.
isIssuable
Returns whether token is issuable.
issue
Distributes the issued token to _investors through
_partition
as_amount
. Specific metadata can be treated with_data
._partition
should be issued as_amount
within thetotalSupply
quantity, The_partition
and balance quantity of the_investor
must be changed together. Theissue
method must be controlled by the Operator as below.The
@eventlog
for this method should be triggered when calling theissue
method.redeem
Redeems the
_partition
of a specific account by_amount
. At the time of redemption,_investor
’s __partitions should be reimbursed by_amount
and_investor
’s total balance should also be changed. Theredeem
method must be controlled and issued by the operator. When invoking theredeem
method,@eventlog
for this method should be triggered.authorizeOperator
Grants
_operator
access control to issued token. The_operator
andself.owner
can control the token. The@eventlog
must be triggered when granting access control.authorizeOperatorForPartition
Grants
_operator
the_partition
access control of_owner
. The@eventlog
must be triggered when granting access control.revokeOperator
Revokes the access granted from
_operator
. Onlyself.owner
and_operator
can call this method. The@eventlog
must be triggered when revoking access control.revokeOperatorForPartition
Revokes the
_partition
access control of_owner
from_operator
. Onlyself.owner
and_operator
can call this method. The@eventlog
must be triggered when revoking access control.isOperator
Returns whether
_operator
has access control to token.isOperatorForPartition
Returns whether
_operator
has access control to_partition
of `_owner.Implementaion
https://repo.theloop.co.kr/sto/icon-sto-standard/tree/master/score
Copyright
Copyright and related rights waived via CC0.
The text was updated successfully, but these errors were encountered: