Skip to main content

Class: TokenLocking

Constructors​

constructor​

• new TokenLocking(colonyNetwork, address)

Parameters​

NameType
colonyNetworkColonyNetwork
addressstring

Properties​

address​

• address: string

Methods​

deposit​

▸ deposit(tokenAddress, amount): MetaTxCreator<TokenLockingClient, "deposit(address,uint256,bool)", { amount?: BigNumber ; token?: string ; user?: string }, MetadataType>

Deposit amount of the wallet owners holdings of the Colony's native token into the Colony.

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 deposited.

Example

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

// Immediately executing async function
(async function() {
const token = await colony.getToken();
// Approve 100 tokens for the Colony Network to activate
await token.approve(w`100`).tx().mined();
// Deposit the tokens
await colonyNetwork.locking.deposit(token.address, w`100`).tx().mined();
})();

Parameters​

NameTypeDescription
tokenAddressstringToken to be deposited
amountBigNumberishAmount of the token to be deposited

Returns​

MetaTxCreator<TokenLockingClient, "deposit(address,uint256,bool)", { amount?: BigNumber ; token?: string ; user?: string }, MetadataType>

A transaction creator

Event data​

PropertyTypeDescription
tokenstringThe address of the Colony's native token
userstringThe address that deposited the tokens from their wallet
amountBigNumberAmount that was deposited

getUserApproval​

▸ getUserApproval(tokenAddress, user, obligator): Promise<BigNumber>

Get the wallet owner's approved balance of the Colony's native token for an obliator (i.e. an extension)

This method will show the accumulated amount that was approved using the approve method

Parameters​

NameTypeDescription
tokenAddressstringToken to check
userstringThe wallet address that we want to check the approved amount of
obligatorstringThe address that has been approved to obligate the funds.

Returns​

Promise<BigNumber>

The currently approved balance of the Colony's native token for the obligator


getUserDeposit​

▸ getUserDeposit(tokenAddress, user): Promise<BigNumber>

Get the wallet owner's deposited and locked balance of the Colony's native token.

This method will show the accumulated amount that was deposited using the deposit method

Parameters​

NameTypeDescription
tokenAddressstringToken to check
userstringThe wallet address that we want to check the deposited amount of

Returns​

Promise<BigNumber>

The currently deposited balance of the Colony's native token


withdraw​

▸ withdraw(tokenAddress, amount): MetaTxCreator<TokenLockingClient, "withdraw(address,uint256,bool)", { amount?: BigNumber ; token?: string ; user?: string }, MetadataType>

Withdraw amount of the wallet owners holdings of the Colony's native token from the Colony.

Does the opposite of deposit and frees the deposited tokens back to the wallet address.

Example

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

// Immediately executing async function
(async function() {
const token = await colony.getToken();
// Withdraw 100 tokens that were previously deposited
await colonyNetwork.locking.withdraw(token.address, w`100`).tx().mined();
})();

Parameters​

NameTypeDescription
tokenAddressstringToken to be withdrawn
amountBigNumberishAmount of the token to be withdrawn

Returns​

MetaTxCreator<TokenLockingClient, "withdraw(address,uint256,bool)", { amount?: BigNumber ; token?: string ; user?: string }, MetadataType>

A transaction creator

Event data​

PropertyTypeDescription
tokenstringThe address of the Colony's native token
userstringThe address that withdrew the tokens from their wallet
amountBigNumberAmount that was withdrawn