LogoLogo
  • Swarm Network
  • Swarm Network
    • Network Governance
      • Getting started
      • Voting App
      • The Swarm Network
        • Powers
        • Governance
        • Members
        • Swarm Council
        • Treasury
      • Initiating Governance Actions
        • Introduction
        • Proposals
        • Ballot Types
        • Submitting a GAP
      • Governance Action Voting Process
        • Ballots
        • Retrieving the text of previous ballots
        • Voting
    • SWM Token
    • SWM Staking
  • Swarm Protocol
    • SRC20
      • SRC20 Token Contract
      • Transfer Rules Contract
      • Featured Contract
      • Roles Contract
      • SRC20 Registry Contract
      • Asset Registry Contract
      • Minter Contract
      • SRC20Factory Contract
    • Swarm Powered Fundraise
      • Uniswap Proxy Contract
      • Currency Registry Contract
      • Affiliate Manager Contract
      • Swarm Powered Fundraise Contract
      • Contributor Restrictions Contract
    • mySwarm.app
    • kovan.mySwarm.app (test version, please use this)
    • Mumbai Testnet
  • Open tools
    • Legacy Masternode Reward Collection
    • VerifiedExistence
    • Market Access Protocol
  • Keep up
    • Blog
    • Twitter
    • Discourse
    • Telegram
    • Voting App
    • FAQ
Powered by GitBook
On this page

Was this helpful?

  1. Swarm Protocol
  2. SRC20

Roles Contract

PreviousFeatured ContractNextSRC20 Registry Contract

Last updated 5 years ago

Was this helpful?

  • Smart Contract: SRC20 specific

  • Created: Step 3 in SRC20 deployment (see )

  • Purpose: Manages the addresses that can perform restricted actions for an SRC20 as defined by the contract owner. SRC20 tokens can have four types of roles: Owner, Authority, Manager and Delegate

  • Example:

Feature Description

Glossary

Item

Description

Owner

Owner is the owner of the Roles smart contract

Delegate

Address responsible for updating the KYA document, Net Asset Value, transfer restrictions and rules and perform bulk transfers that bypass whitelist and greylist. There can be multiple authorities granted

Authority

Address authorized to maintain the white and greylists (add/remove) for a specific SRC20 token, as well as authorize transfers subject to a greylist

Manager

There is one manager, which is a smart contract responsible for minting or burning tokens. It is initially set to be the SRC20 Registry contract where you can increase or decrease the supply of the corresponting SRC20

Read Functions

Function

Description

isDelegate()

Returns true/false whether an address is a Delegate for this contract

isAuthority()

Returns true/false whether an address is an Authority for this contract

manager()

Returns the address of the Manager contract. This is normally the address of the SRC20Registry contract, where staking and minting is executed

owner()

Returns the address of the contract owner

isOwner()

Returns true if the caller is the current owner

isManager()

Returns true if the caller is the current Manager

Write Functions

Function

Description

renounceManagement()

Relinquish the ability to manage this contract. Attention: If a manager renounces management there is no possible way to mint or burn SRC20 tokens anymore

addAuthority()

Adds an address authorized to maintain the white and greylists (add/remove) for a specific SRC20 token, as well as authorize transfers subject to a greylist. Can only be called by the owner

removeDelegate()

Remove an address from being able to perform delegate functions. Can only be called by the owner

renounceOwnership()

Can only be called by the owner and it sets the owner address to 0x0

removeAuthority()

Removes an address authorized to maintain the white and greylists (add/remove) for a specific SRC20 token, as well as authorize transfers subject to a greylist. Can only be called by the owner

transferManagement()

A manager can transfer their role to a new address

addDelegate()

Add an address that is able to perform delegate only functions. Can only be called by the owner

transferOwnership()

An owner can transfer their role to a new address or to a multisig wallet or to a multisig wallet

Swarm Tokenization App
NUVO on Ropsten