diff --git a/examples/src_6/multi_token_vault/src/main.sw b/examples/src_6/multi_token_vault/src/main.sw index 041335a..fa28a41 100644 --- a/examples/src_6/multi_token_vault/src/main.sw +++ b/examples/src_6/multi_token_vault/src/main.sw @@ -151,14 +151,17 @@ fn vault_asset_id(asset: AssetId, sub_id: SubId) -> (AssetId, SubId) { #[storage(read)] fn managed_assets(share_asset: AssetId) -> u64 { - storage.vault_info.get(share_asset).read().managed_assets + match storage.vault_info.get(share_asset).try_read() { + Some(vault_info) => vault_info.managed_assets, + None => 0, + } } #[storage(read)] fn preview_deposit(asset: AssetId, sub_id: SubId, assets: u64) -> (u64, AssetId, SubId) { let (share_asset_id, share_asset_sub_id) = vault_asset_id(asset, sub_id); - let shares_supply = storage.total_supply.get(share_asset_id).read(); + let shares_supply = storage.total_supply.get(share_asset_id).try_read().unwrap_or(0); if shares_supply == 0 { (assets, share_asset_id, share_asset_sub_id) } else { diff --git a/examples/src_6/single_token_single_sub_vault/src/main.sw b/examples/src_6/single_token_single_sub_vault/src/main.sw index 26f8aed..7227f1a 100644 --- a/examples/src_6/single_token_single_sub_vault/src/main.sw +++ b/examples/src_6/single_token_single_sub_vault/src/main.sw @@ -165,12 +165,12 @@ fn vault_assetid() -> AssetId { fn preview_deposit(assets: u64) -> (u64, AssetId) { let share_asset_id = vault_assetid(); - let shares_supply = storage.total_supply.read(); + let shares_supply = storage.total_supply.try_read().unwrap_or(0); if shares_supply == 0 { (assets, share_asset_id) } else { ( - assets * shares_supply / storage.managed_assets.read(), + assets * shares_supply / storage.managed_assets.try_read().unwrap_or(0), share_asset_id, ) } diff --git a/examples/src_6/single_token_vault/src/main.sw b/examples/src_6/single_token_vault/src/main.sw index 443a11e..5790cff 100644 --- a/examples/src_6/single_token_vault/src/main.sw +++ b/examples/src_6/single_token_vault/src/main.sw @@ -171,14 +171,17 @@ fn vault_asset_id(asset: AssetId, sub_id: SubId) -> (AssetId, SubId) { #[storage(read)] fn managed_assets(share_asset: AssetId) -> u64 { - storage.vault_info.get(share_asset).read().managed_assets + match storage.vault_info.get(share_asset).try_read() { + Some(vault_info) => vault_info.managed_assets, + None => 0, + } } #[storage(read)] fn preview_deposit(asset: AssetId, sub_id: SubId, assets: u64) -> (u64, AssetId, SubId) { let (share_asset_id, share_asset_sub_id) = vault_asset_id(asset, sub_id); - let shares_supply = storage.total_supply.get(share_asset_id).read(); + let shares_supply = storage.total_supply.get(share_asset_id).try_read().unwrap_or(0); if shares_supply == 0 { (assets, share_asset_id, share_asset_sub_id) } else {