How do you transfer tokens from the lockup contract using the CLI?

Viewed 154

If tokens were locked using a lockup contract (docs) what is the process for using the CLI to transfer those tokens once they have reached their unlocking time, either fully or partially?

2 Answers

Before the lockup is fully unlocked, you can call a method transfer on the contract, for example:

near call <yourlockup>.lockup.near transfer '{"amount": "1000000000000000000000000000", "receiver_id": "<receiver_account_id>"}' --accountId=<youraccount> --networkId=mainnet --nodeUrl=https://rpc.mainnet.near.org --gas=200000000000000 --useLedgerKey

Once it is fully unlocked, you can also add a full access key by invoking add_full_access_key with {"new_public_key": "<base58 key>"}, and convert your lockup account into a regular account.

There is a step by step guide here, also includes steps related to stake/unstake:

https://github.com/near/core-contracts/tree/master/lockup#staking-flow

The key steps after unstaking and withdrawing are:

near call lockup1 refresh_staking_pool_balance '{}' --accountId=owner1 --gas=75000000000000

near view lockup1 get_liquid_owners_balance '{}'

near call lockup1 check_transfers_vote '{}' --accountId=owner1 --gas=75000000000000

near call lockup1 transfer '{"amount": "10000000000000000000000000", "receiver_id": "owner-sub-account"}' --accountId=owner1 --gas=50000000000000
Related