trident_svm/
utils.rs

1use std::time::UNIX_EPOCH;
2
3use solana_account::Account;
4use solana_account::AccountSharedData;
5use solana_account::InheritableAccountFields;
6use solana_account::DUMMY_INHERITABLE_ACCOUNT_FIELDS;
7
8pub(crate) fn get_current_timestamp() -> u64 {
9    std::time::SystemTime::now()
10        .duration_since(UNIX_EPOCH)
11        .expect("Time went backwards!")
12        .as_secs()
13}
14
15pub(crate) fn create_loadable_account_with_fields(
16    name: &str,
17    (lamports, rent_epoch): InheritableAccountFields,
18) -> AccountSharedData {
19    AccountSharedData::from(Account {
20        lamports,
21        owner: solana_sdk_ids::native_loader::id(),
22        data: name.as_bytes().to_vec(),
23        executable: true,
24        rent_epoch,
25    })
26}
27
28pub(crate) fn create_loadable_account_for_test(name: &str) -> AccountSharedData {
29    create_loadable_account_with_fields(name, DUMMY_INHERITABLE_ACCOUNT_FIELDS)
30}