diff --git a/listings/applications/crowdfunding/src/campaign.cairo b/listings/applications/crowdfunding/src/campaign.cairo index 2a8063f9..b598084a 100644 --- a/listings/applications/crowdfunding/src/campaign.cairo +++ b/listings/applications/crowdfunding/src/campaign.cairo @@ -29,6 +29,7 @@ pub trait ICampaign { fn claim(ref self: TContractState); fn close(ref self: TContractState, reason: ByteArray); fn contribute(ref self: TContractState, amount: u256); + fn get_contribution(self: @TContractState, contributor: ContractAddress) -> u256; fn get_contributions(self: @TContractState) -> Array<(ContractAddress, u256)>; fn get_details(self: @TContractState) -> Details; fn start(ref self: TContractState); @@ -217,6 +218,10 @@ pub mod Campaign { self.emit(Event::ContributionMade(ContributionMade { contributor, amount })); } + fn get_contribution(self: @ContractState, contributor: ContractAddress) -> u256 { + self.contributions.get(contributor) + } + fn get_contributions(self: @ContractState) -> Array<(ContractAddress, u256)> { self.contributions.get_contributions_as_arr() }