Class: TokenLocking
Constructors
constructor
• new TokenLocking(colonyNetwork
, address
)
Parameters
Name | Type |
---|---|
colonyNetwork | ColonyNetwork |
address | string |
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
Name | Type | Description |
---|---|---|
tokenAddress | string | Token to be deposited |
amount | BigNumberish | Amount 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
Property | Type | Description |
---|---|---|
token | string | The address of the Colony's native token |
user | string | The address that deposited the tokens from their wallet |
amount | BigNumber | Amount 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
Name | Type | Description |
---|---|---|
tokenAddress | string | Token to check |
user | string | The wallet address that we want to check the approved amount of |
obligator | string | The 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
Name | Type | Description |
---|---|---|
tokenAddress | string | Token to check |
user | string | The 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
Name | Type | Description |
---|---|---|
tokenAddress | string | Token to be withdrawn |
amount | BigNumberish | Amount 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
Property | Type | Description |
---|---|---|
token | string | The address of the Colony's native token |
user | string | The address that withdrew the tokens from their wallet |
amount | BigNumber | Amount that was withdrawn |