Skip to main content

Class: ColonyToken

Extends​

Constructors​

new ColonyToken()​

new ColonyToken(colonyNetwork, token): ColonyToken

Creates a new instance of a Colony deployed Token

Parameters​

colonyNetwork​

ColonyNetwork

A ColonyNetwork instance

token​

A token address or a full contract (like on a colony token client)

string | MetaTxToken

Returns​

ColonyToken

An ERC20 token abstraction instance

Remarks​

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

Overrides​

ERC20Token.constructor

Properties​

address​

address: string

Inherited from​

ERC20Token.address

Methods​

allowance()​

allowance(owner, spender): Promise\<BigNumber>

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

Parameters​

owner​

string

spender​

string

Returns​

Promise\<BigNumber>

The allowance amount

Inherited from​

ERC20Token.allowance


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.

Parameters​

amount​

BigNumberish

Amount of the token to be approved

spender?​

string

Spender 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

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();
})();

Inherited from​

ERC20Token.approve


balanceOf()​

balanceOf(owner): Promise\<BigNumber>

Returns the account balance of another account with address owner

Parameters​

owner​

string

Returns​

Promise\<BigNumber>

The account balance of the corresponding address

Inherited from​

ERC20Token.balanceOf


decimals()​

decimals(): Promise\<number>

Returns the token's decimals

Returns​

Promise\<number>

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

Inherited from​

ERC20Token.decimals


name()​

name(): Promise\<string>

Returns the token's name

Returns​

Promise\<string>

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

Inherited from​

ERC20Token.name


setAuthority()​

setAuthority(address): MetaTxCreator\<MetaTxToken, "setAuthority", { authority: string; }, MetadataType>

Sets the address of the TokenAuthority for this token

Set the TokenAuthority for this token. Only has to be done once, after the TokenAuthority has been deployed. See Colony.deployTokenAuthority for more information.

Parameters​

address​

string

Address of the TokenAuthority contract

Returns​

MetaTxCreator\<MetaTxToken, "setAuthority", { authority: string; }, MetadataType>

A transaction creator

Event data​

PropertyTypeDescription
authoritystringThe address of the tokenAuthority that has been set

Remarks​

Only works for native tokens deployed with Colony (not imported tokens).

Example​

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

// Immediately executing async function
(async function() {
// Deploy the TokenAuthority contract
// (forced transaction example)
const [{ tokenAuthorityAddress }] = await colony.deployTokenAuthority().tx().mined();
// Set the TokenAuthority for this token
// (forced transaction example)
await colony.token.setAuthority(tokenAuthorityAddress).tx().mined();
})();

setOwner()​

setOwner(address): MetaTxCreator\<MetaTxToken, "setOwner", { owner: string; }, MetadataType>

Sets the owner of the token

Set the owner address for this token. Should usually be the colony. This will allow the Colony to always affect certain token parameters, event without the TokenAuthority deployed or used

Parameters​

address​

string

Address to set as the owner of the token (usually the colony)

Returns​

MetaTxCreator\<MetaTxToken, "setOwner", { owner: string; }, MetadataType>

A transaction creator

Event data​

PropertyTypeDescription
ownerstringThe address of the owner that has been set

Remarks​

Only works for native tokens deployed with Colony (not imported tokens).


symbol()​

symbol(): Promise\<string>

Returns the token's symbol

Returns​

Promise\<string>

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

Inherited from​

ERC20Token.symbol


totalSupply()​

totalSupply(): Promise\<BigNumber>

Returns the total token supply

Returns​

Promise\<BigNumber>

The token's total supply

Inherited from​

ERC20Token.totalSupply


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​

to​

string

value​

BigNumberish

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

Inherited from​

ERC20Token.transfer


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​

from​

string

to​

string

value​

BigNumberish

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

Inherited from​

ERC20Token.transferFrom