Skip to content

Decentralized Identity on Aptos, the underlying account system of ComingChat

License

Notifications You must be signed in to change notification settings

coming-chat/aptos-cid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aptos-cid

Decentralized identity on Aptos, the underlying account system of ComingChat

Intro

ComingChat 4-digit cid is abbreviated as aptos-cid on aptos

  • (1) aptos-cid ends with ".aptos", such as "1234.aptos".

  • (2) aptos-cid is Aptos Token (equivalent to ERC721), which can be freely circulated in the NFT market.

  • (3) Limited release, the total amount is limited, only 9000 ([1000, 9999]), first come first registration, the later the fee is higher.

  • (4) Each cid is valid for 2 years. After it expires, anyone can register it again.

  • (5) When the validity period of each cid is less than 6 months, each cid can be renewed for 2 years.

Features

  • (1) Each cid can log in to ComingChat.
  • (2) Each cid holder can enjoy preferential prices from ComingChat NFT partners.

Price function

register_at_month = seconds_to_months((now - start_time_sec))
price = base_price * sqrt(register_at_month)

Validity period

  • Each cid is only valid for 2 years.
  • Each registration and renewal adds 2 years of validity.

Roles

  • owner: aptos-cid contract deployer.
  • admin: aptos-cid admin.
  • foundation: aptos-cid contract revenue account.
  • user: any user registered with aptos-cid.

Entry functions

cid module:

  • (1) initialize(owner): execute once to complete the contract configuration.
  • (2) register(user): register aptos-cid and bind the address, valid for 2 years.
  • (3) renew(user): the validity period is less than 6 months to operate, and the validity period is increased by 2 years.
  • (4) set_cid_address(user): rebind aptos-cid and address.
  • (5) clear_cid_address(user): unbind aptos-cid and address.
  • (6) allow_direct_transfer(user): allow sender transfer any nft to self.
  • (7) cid_token_transfer(user): send cid nft to receiver.
  • (8) token_transfer(user): send any nft to receiver.

config module:

  • (1) set_is_enabled(owner/admin): whether to stop aptos-cid register and renew.
  • (2) set_fundation_address(owner/admin): set the aptos-cid nft fundation address.
  • (3) set_admin_address(owner/admin): set aptos-cid nft admin address.
  • (4) set_tokendata_description(owner/admin): set aptos-cid nft description.
  • (5) set_tokendata_url_prefix(owner/admin): set aptos-cid nft url prefix.
  • (6) set_cid_price(owner/admin): set the base price of aptos-cid nft.

Important notes

  • (1) Only users holding cid can bind address, and can bind any address. If the address of owner does not want to be bound to cid, then call clear_cid_address.

  • (2) Users can complete the transfer of cid through aptos_token. After the transfer, the new owner of the cid should call clear_cid_address or set_cid_address to complete the binding with the address.

  • (3) Call unchecked_cid_resolved_address returns the address bound to cid, this return value is not timely, because clear_cid_address or set_cid_address may not be called in time.

About

Decentralized Identity on Aptos, the underlying account system of ComingChat

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages