Skip to main content

Class: ERC20Token

Hierarchy

Constructors

constructor

new ERC20Token(colonyNetwork, token)

Creates a new instance of an ERC20 Token

Remarks

This does not deploy a new token, only connects to an exisiting one

Parameters

NameTypeDescription
colonyNetworkColonyNetworkA ColonyNetwork instance
tokenstring | TokenERC20A token address or a full contract (like on a colony token client)

Properties

address

address: string

Methods

allowance

allowance(owner, spender): Promise<BigNumber>

Returns the amount which spender is still allowed to withdraw from owner

Parameters

NameType
ownerstring
spenderstring

Returns

Promise<BigNumber>

The allowance amount


approve

approve(amount, spender?): TxCreator<TokenERC20, "approve", { guy?: string ; src?: string ; wad?: BigNumber }, MetadataType>

Approve amount of the wallet owners holdings of the specified token

In order for the wallet owner to stake tokens, that amount has to be approved and deposited into the Colony first. In the dapp the process is called "Activation" of a certain amount of the Colony's native token. The wallet must hold at least the amount of the token that will be approved.

Example

import { w } from '@colony/sdk';

// Immediately executing async function
(async function() {
// Approve 100 tokens to be "activated"
await colony.token.approve(w`100`).tx().mined();
// Deposit the tokens
await colonyNetwork.locking.deposit(token.address, w`100`).tx().mined();
})();

Parameters

NameTypeDescription
amountBigNumberishAmount of the token to be approved
spender?stringSpender to approve the amount for. Defaults to the Colony Network

Returns

TxCreator<TokenERC20, "approve", { guy?: string ; src?: string ; wad?: BigNumber }, MetadataType>

A transaction creator

Event data

PropertyTypeDescription
srcstringThe address that approved the tokens from their wallet
guystringAddress of the TokenLocking contract
wadBigNumberAmount that was approved

balanceOf

balanceOf(owner): Promise<BigNumber>

Returns the account balance of another account with address owner

Parameters

NameType
ownerstring

Returns

Promise<BigNumber>

The account balance of the corresponding address


decimals

decimals(): Promise<number>

Returns the token's decimals

Returns

Promise<number>

The token's decimals (e.g. 18)


name

name(): Promise<string>

Returns the token's name

Returns

Promise<string>

The token's name (e.g. Colony Network Token)


symbol

symbol(): Promise<string>

Returns the token's symbol

Returns

Promise<string>

The token's symbol (e.g. CLNY)


totalSupply

totalSupply(): Promise<BigNumber>

Returns the total token supply

Returns

Promise<BigNumber>

The token's total supply


transfer

transfer(to, value): TxCreator<TokenERC20, "transfer", { dst?: string ; src?: string ; wad?: BigNumber }, MetadataType>

Transfers value amount of tokens to address to from the currently used wallet

Parameters

NameType
tostring
valueBigNumberish

Returns

TxCreator<TokenERC20, "transfer", { dst?: string ; src?: string ; wad?: BigNumber }, MetadataType>

A transaction creator

Event data

PropertyTypeDescription
srcstringThe address that transferred the tokens from their wallet
dststringAddress of the recipient of the tokens
wadBigNumberAmount that was transferred

transferFrom

transferFrom(from, to, value): TxCreator<TokenERC20, "transferFrom", { dst?: string ; src?: string ; wad?: BigNumber }, MetadataType>

Transfers value amount of tokens from address from to address to

The transferFrom method is used for a withdraw workflow, allowing contracts to transfer tokens on your behalf. This can be used for example to allow a contract to transfer tokens on your behalf and/or to charge fees in sub-currencies

Parameters

NameType
fromstring
tostring
valueBigNumberish

Returns

TxCreator<TokenERC20, "transferFrom", { dst?: string ; src?: string ; wad?: BigNumber }, MetadataType>

A transaction creator

Event data

PropertyTypeDescription
srcstringThe address that transferred the tokens from their wallet
dststringAddress of the recipient of the tokens
wadBigNumberAmount that was transferred