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