From 3c0bd487f3e7b2a3ef1c8b211d740bafcaa35ff8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Zieli=C5=84ski?= Date: Wed, 16 Jul 2025 19:20:48 +0200 Subject: [PATCH] Update to odra 2.2.0 --- Cargo.toml | 14 ++-- casper-name-cli/src/odra_cli/deploy.rs | 88 ++++++++++++-------------- 2 files changed, 49 insertions(+), 53 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index f9ffcbd..cb7eef4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,13 +7,13 @@ members = [ resolver = "2" [workspace.dependencies] -odra = { version = "2.1.0" } -odra-cli = { version = "2.1.0" } -odra-modules = { version = "2.1.0" } -odra-test = { version = "2.1.0" } -odra-build = { version = "2.1.0" } -odra-bdd = { version = "2.1.0" } -odra-casper-livenet-env = { version = "2.1.0" } +odra = { version = "2.2.0" } +odra-cli = { version = "2.2.0" } +odra-modules = { version = "2.2.0" } +odra-test = { version = "2.2.0" } +odra-build = { version = "2.2.0" } +odra-bdd = { version = "2.2.0" } +odra-casper-livenet-env = { version = "2.2.0" } [profile.release] codegen-units = 1 diff --git a/casper-name-cli/src/odra_cli/deploy.rs b/casper-name-cli/src/odra_cli/deploy.rs index 8d7c728..77f80bd 100644 --- a/casper-name-cli/src/odra_cli/deploy.rs +++ b/casper-name-cli/src/odra_cli/deploy.rs @@ -5,9 +5,9 @@ use casper_name_contracts::contracts::{ resolver::{DefaultResolver, DefaultResolverInitArgs}, reverse_resolver::{ReverseResolver, ReverseResolverInitArgs}, }; -use odra::host::{Deployer, HostEnv, OdraConfig}; +use odra::{contract_def::HasIdent, host::{HostEnv, InstallConfig}}; use odra::prelude::*; -use odra_cli::{deploy::Error, DeployedContractsContainer}; +use odra_cli::{deploy::Error, DeployedContractsContainer, DeployerExt}; pub struct DeployScript; @@ -19,84 +19,80 @@ impl odra_cli::deploy::DeployScript for DeployScript { ) -> Result<(), Error> { let admin = env.get_account(0); - env.set_gas(400_000_000_000); - let token = NameToken::try_deploy_with_cfg( + let token = NameToken::load_or_deploy_with_cfg( &env, NameTokenInitArgs { name: "CSPR.name".to_string(), symbol: "NAME".to_string(), max_supply: 1_000_000_000, }, - Cfg::new("NameToken"), + InstallConfig { + package_named_key: NameToken::ident(), + is_upgradable: true, + allow_key_override: true, + }, + container, + 400_000_000_000 )?; - container.add_contract(&token)?; - env.set_gas(300_000_000_000); - let resolver = DefaultResolver::try_deploy_with_cfg( + let _resolver = DefaultResolver::load_or_deploy_with_cfg( &env, DefaultResolverInitArgs { name_token: token.address(), }, - Cfg::new("DefaultResolver"), + InstallConfig { + package_named_key: DefaultResolver::ident(), + is_upgradable: true, + allow_key_override: true, + }, + container, + 300_000_000_000 )?; - container.add_contract(&resolver)?; - env.set_gas(400_000_000_000); - let registrar = Registrar::try_deploy_with_cfg( + let registrar = Registrar::load_or_deploy_with_cfg( &env, RegistrarInitArgs { name_token: token.address(), }, - Cfg::new("Registrar"), + InstallConfig { + package_named_key: Registrar::ident(), + is_upgradable: true, + allow_key_override: true, + }, + container, + 400_000_000_000 )?; - container.add_contract(®istrar)?; - env.set_gas(400_000_000_000); - let controller = Controller::try_deploy_with_cfg( + let _controller = Controller::load_or_deploy_with_cfg( &env, ControllerInitArgs { registrar: registrar.address(), treasury: admin, signer: env.public_key(&admin), }, - Cfg::new("Controller"), + InstallConfig { + package_named_key: Controller::ident(), + is_upgradable: true, + allow_key_override: true, + }, + container, + 400_000_000_000 )?; - container.add_contract(&controller)?; - env.set_gas(300_000_000_000); - let reverse_resolver = ReverseResolver::try_deploy_with_cfg( + let _reverse_resolver = ReverseResolver::load_or_deploy_with_cfg( &env, ReverseResolverInitArgs { name_token: token.address(), }, - Cfg::new("ReverseResolver"), + InstallConfig { + package_named_key: ReverseResolver::ident(), + is_upgradable: true, + allow_key_override: true, + }, + container, + 300_000_000_000 )?; - container.add_contract(&reverse_resolver)?; Ok(()) } } - -struct Cfg { - name: &'static str, -} - -impl Cfg { - fn new(name: &'static str) -> Self { - Cfg { name } - } -} - -impl OdraConfig for Cfg { - fn package_hash(&self) -> String { - String::from(self.name) - } - - fn is_upgradable(&self) -> bool { - true - } - - fn allow_key_override(&self) -> bool { - true - } -} \ No newline at end of file