use ic_cdk::api::time;
use ic_cdk::{heartbeat, init, post_upgrade, pre_upgrade};
use crate::infrastructure::repositories::account_repository_impl::AccountRepositoryImpl;
use crate::infrastructure::repositories::signer_repository_impl::SignerRepositoryImpl;
use crate::utils::config::KEY_ID;
#[init]
fn init() {
ic_cdk::println!("[{}] Initializing canister", time());
SignerRepositoryImpl::init(KEY_ID.to_string());
AccountRepositoryImpl::init().expect("Failed to initialize account repository");
ic_cdk::println!("[{}] Canister initialized successfully", time());
}
#[pre_upgrade]
fn pre_upgrade() {
ic_cdk::println!("[{}] Preparing for canister upgrade", time());
ic_cdk::println!("[{}] Pre-upgrade completed", time());
}
#[post_upgrade]
fn post_upgrade() {
ic_cdk::println!("[{}] Restoring after canister upgrade", time());
SignerRepositoryImpl::init(KEY_ID.to_string());
AccountRepositoryImpl::init().expect("Failed to initialize account repository");
ic_cdk::println!("[{}] Post-upgrade completed successfully", time());
}
#[heartbeat]
fn heartbeat() {
}