Skip to content

Commit

Permalink
Merge pull request #3 from 0xSpaceShard/fix/refacto-and-loop
Browse files Browse the repository at this point in the history
fix: increment index on loop, refacto: add function for profit greate…
  • Loading branch information
0xSacha authored Jan 11, 2024
2 parents 9e9813c + afdb9d9 commit 76511eb
Show file tree
Hide file tree
Showing 4 changed files with 386 additions and 105 deletions.
10 changes: 6 additions & 4 deletions src/factory/factory.cairo
Original file line number Diff line number Diff line change
Expand Up @@ -151,12 +151,14 @@ mod Factory {
)
.expect('failed to deploy tm');


let token_disp = ERC20ABIDispatcher{ contract_address: underlying };
let token_disp = ERC20ABIDispatcher { contract_address: underlying };
let decimals = token_disp.decimals();

let mut constructor_token_calldata = array![
token_manager_deployed_address.into(), token_name.into(), token_symbol.into(), decimals.into()
token_manager_deployed_address.into(),
token_name.into(),
token_symbol.into(),
decimals.into()
];

let (token_deployed_address, _) = deploy_syscall(
Expand All @@ -181,7 +183,7 @@ mod Factory {
(token_manager_deployed_address, token_deployed_address)
}


/// @notice Sets a new class hash for the token manager
/// @dev Only callable by the owner of the contract
/// @param new_token_manager_class_hash The new class hash to be set for the token manager
Expand Down
19 changes: 13 additions & 6 deletions src/pooling_manager/pooling_manager.cairo
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ mod PoolingManager {
component!(path: SRC5Component, storage: src5, event: SRC5Event);

#[abi(embed_v0)]
impl AccessControlImpl = AccessControlComponent::AccessControlImpl<ContractState>;
impl AccessControlImpl =
AccessControlComponent::AccessControlImpl<ContractState>;
impl AccessControlInternalImpl = AccessControlComponent::InternalImpl<ContractState>;

#[storage]
Expand Down Expand Up @@ -444,7 +445,7 @@ mod PoolingManager {
let full_strategy_report_l1 = self._add_pending_strategies_to_initialize(calldata);

let array_len = full_strategy_report_l1.len();
assert(array_len > 0, Errors::EMPTY_ARRAY);
assert(array_len.is_non_zero(), Errors::EMPTY_ARRAY);

let mut ret_array = ArrayTrait::new();
let mut dict_bridge_keys = ArrayTrait::new();
Expand Down Expand Up @@ -776,6 +777,7 @@ mod PoolingManager {
ret_array.append(l1_strategy_u256);
ret_array.append(elem.l1_net_asset_value);
ret_array.append(elem.underlying_bridged_amount);
i += 1;
};
ret_array.span()
}
Expand All @@ -799,6 +801,7 @@ mod PoolingManager {
ret_array.append(l1_strategy_u256);
ret_array.append(elem.action_id);
ret_array.append(elem.amount);
i += 1;
};
ret_array.span()
}
Expand Down Expand Up @@ -833,6 +836,7 @@ mod PoolingManager {
}
let elem = self.pending_strategies_to_initialize.read(i);
ret_array.append(elem);
i += 1;
};
ret_array
}
Expand All @@ -848,18 +852,20 @@ mod PoolingManager {
let pending_strategies_to_initialize = self._pending_strategies_to_initialize().span();
let pending_strategies_to_initialize_len = pending_strategies_to_initialize.len();
let mut i = 0;
let mut j: u256 = 0;
loop {
if (i == calldata_len) {
break ();
}
ret_array.append(*calldata.at(i))
ret_array.append(*calldata.at(i));
i += 1;
};

i = 0;
loop {
if (j == u256 { low: pending_strategies_to_initialize_len.into(), high: 0 }) {
if (i == pending_strategies_to_initialize_len) {
break ();
}
let mut l1_strategy = self.pending_strategies_to_initialize.read(j);
let mut l1_strategy = self.pending_strategies_to_initialize.read(i.into());
let token_manager = self.l1_strategy_to_token_manager.read(l1_strategy);
let token_manager_disp = ITokenManagerDispatcher {
contract_address: token_manager
Expand All @@ -870,6 +876,7 @@ mod PoolingManager {
l1_strategy: l1_strategy, l1_net_asset_value: 0, underlying_bridged_amount: 0
};
ret_array.append(new_elem);
i += 1;
};
ret_array.span()
}
Expand Down
Loading

0 comments on commit 76511eb

Please sign in to comment.