diff --git a/.tool-versions b/.tool-versions index 87039f6..114df33 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,11 +1,2 @@ scarb 2.8.2 starknet-foundry - - - - - - - - - diff --git a/src/escrow/escrow_contract.cairo b/src/escrow/escrow_contract.cairo index 9c4eb44..b4c793d 100644 --- a/src/escrow/escrow_contract.cairo +++ b/src/escrow/escrow_contract.cairo @@ -164,8 +164,8 @@ mod EscrowContract { Event::EscrowRefunded( EscrowRefunded { escrow_id, depositor, amount, timestamp: get_block_timestamp(), - } - ) + }, + ), ); } @@ -301,14 +301,14 @@ mod EscrowContract { isCompleted: false, isApprovedDepositor: false, isApprovedBeneficiary: false, - isPaid: false + isPaid: false, }; self.milestones.write(milestone_id, milestone) } fn request_milestone_payment( - ref self: ContractState, id: u64, token_address: ContractAddress + ref self: ContractState, id: u64, token_address: ContractAddress, ) -> bool { let mut milestone: Milestone = self.milestones.read(id); diff --git a/src/escrow/escrow_factory.cairo b/src/escrow/escrow_factory.cairo index 78a3ec7..5cad684 100644 --- a/src/escrow/escrow_factory.cairo +++ b/src/escrow/escrow_factory.cairo @@ -3,22 +3,7 @@ pub use starknet::{ ContractAddress, class_hash::ClassHash, syscalls::deploy_syscall, SyscallResultTrait, }; use escrownet_contract::interface::iescrow::{IEscrowDispatcher, IEscrowDispatcherTrait}; - -#[starknet::interface] -pub trait IEscrowFactory { - fn deploy_escrow( - ref self: TContractState, - beneficiary: ContractAddress, - depositor: ContractAddress, - arbiter: ContractAddress, - salt: felt252, - milestone_description: ByteArray, - milestone_amount: u256, - milestone_dueDate: u256, - ) -> ContractAddress; - - fn get_escrow_contracts(self: @TContractState) -> Array; -} +use escrownet_contract::interface::iescrowfactory::{IEscrowFactory}; #[starknet::component] pub mod EscrowFactory { @@ -29,6 +14,7 @@ pub mod EscrowFactory { ContractAddress, class_hash::ClassHash, syscalls::deploy_syscall, SyscallResultTrait, storage::{Map}, }; + use core::traits::{TryInto, Into}; const ESCROW_CONTRACT_CLASS_HASH: felt252 = diff --git a/src/escrownet/escrownet.cairo b/src/escrownet/escrownet.cairo index 08ccf67..7dc2b21 100644 --- a/src/escrownet/escrownet.cairo +++ b/src/escrownet/escrownet.cairo @@ -13,7 +13,7 @@ pub mod Escrownet { #[event] #[derive(Drop, starknet::Event)] enum Event { - EscrowFactoryEvent: EscrowFactory::Event + EscrowFactoryEvent: EscrowFactory::Event, } #[storage] diff --git a/src/interface.cairo b/src/interface.cairo index 1f03bf5..f4bb609 100644 --- a/src/interface.cairo +++ b/src/interface.cairo @@ -1,2 +1,3 @@ pub mod iescrow; pub mod ierc20; +pub mod iescrowfactory; diff --git a/src/interface/iescrow.cairo b/src/interface/iescrow.cairo index dfca26a..ced524a 100644 --- a/src/interface/iescrow.cairo +++ b/src/interface/iescrow.cairo @@ -10,11 +10,9 @@ pub trait IEscrow { provider_address: ContractAddress, amount: u256, ); - fn add_milestone( - ref self: TContractState, description: ByteArray, amount: u256, dueDate: u256, - ); + fn add_milestone(ref self: TContractState, description: ByteArray, amount: u256, dueDate: u256); fn request_milestone_payment( - ref self: TContractState, id: u64, token_address: ContractAddress + ref self: TContractState, id: u64, token_address: ContractAddress, ) -> bool; fn get_escrow_details(ref self: TContractState, escrow_id: u64) -> Escrow; fn get_depositor(self: @TContractState) -> ContractAddress; diff --git a/src/interface/iescrowfactory.cairo b/src/interface/iescrowfactory.cairo new file mode 100644 index 0000000..9837d55 --- /dev/null +++ b/src/interface/iescrowfactory.cairo @@ -0,0 +1,17 @@ +use starknet::ContractAddress; + +#[starknet::interface] +pub trait IEscrowFactory { + fn deploy_escrow( + ref self: TContractState, + beneficiary: ContractAddress, + depositor: ContractAddress, + arbiter: ContractAddress, + salt: felt252, + milestone_description: ByteArray, + milestone_amount: u256, + milestone_dueDate: u256, + ) -> ContractAddress; + + fn get_escrow_contracts(self: @TContractState) -> Array; +}