Module 0x2::timelock
A timelock implementation.
- Resource
TimeLock
- Constants
- Function
lock
- Function
lock_with_label
- Function
lock_and_transfer
- Function
lock_with_label_and_transfer
- Function
unlock
- Function
unlock_with_clock
- Function
join
- Function
join_vec
- Function
split
- Function
split_balance
- Function
transfer_to_sender
- Function
system_pack
- Function
system_unpack
- Function
type_name
- Function
expiration_timestamp_ms
- Function
is_locked
- Function
remaining_time
- Function
is_locked_with_clock
- Function
remaining_time_with_clock
- Function
locked
- Function
label
- Function
is_labeled_with
- Function
pack
- Function
unpack
- Function
transfer
- Function
remaining_time_with_timestamp
use 0x1::ascii;
use 0x1::option;
use 0x1::string;
use 0x1::type_name;
use 0x2::balance;
use 0x2::clock;
use 0x2::labeler;
use 0x2::object;
use 0x2::system_admin_cap;
use 0x2::transfer;
use 0x2::tx_context;
Resource TimeLock
TimeLock
struct that holds a locked object.
struct TimeLock<T: store> has key
Fields
id: object::UID
locked: T
The locked object.
expiration_timestamp_ms: u64
This is the epoch time stamp of when the lock expires.
label: option::Option<string::String>
Timelock related label.
Constants
For when trying to join two time-locked balances with different expiration time.
const EDifferentExpirationTime: u64 = 2;
For when trying to join two time-locked balances with different labels.
const EDifferentLabels: u64 = 3;
The lock has not expired yet.
const ENotExpiredYet: u64 = 1;