File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -38,6 +38,14 @@ impl Balances<UncheckedState> {
3838}
3939
4040impl < S : BalancesState > Balances < S > {
41+ pub fn new ( ) -> Balances < CheckedState > {
42+ Balances {
43+ earners : Default :: default ( ) ,
44+ spenders : Default :: default ( ) ,
45+ state : Default :: default ( ) ,
46+ }
47+ }
48+
4149 pub fn spend (
4250 & mut self ,
4351 spender : Address ,
@@ -78,6 +86,16 @@ impl<S: BalancesState> Balances<S> {
7886 state : PhantomData :: default ( ) ,
7987 }
8088 }
89+
90+ /// Returns a tuple of the sum of `(earners, spenders)`
91+ pub fn sum ( & self ) -> Option < ( UnifiedNum , UnifiedNum ) > {
92+ self . spenders . values ( ) . sum :: < Option < UnifiedNum > > ( ) . map ( |spenders| {
93+ let earners = self . earners . values ( ) . sum :: < Option < UnifiedNum > > ( ) ?;
94+
95+ Some ( ( earners, spenders) )
96+ } )
97+ . flatten ( )
98+ }
8199}
82100
83101#[ derive( Debug , Error ) ]
You can’t perform that action at this time.
0 commit comments