@@ -117,6 +117,9 @@ private static async Task RunAsync(object obj)
117117 case Sentinel . Collect sec :
118118 await ProcessAsync ( sec ) ;
119119 break ;
120+ case Sentinel . DepositQsr sedq :
121+ await ProcessAsync ( sedq ) ;
122+ break ;
120123 case Sentinel . WithdrawQsr sewq :
121124 await ProcessAsync ( sewq ) ;
122125 break ;
@@ -152,6 +155,9 @@ private static async Task RunAsync(object obj)
152155 case Pillar . Collect pc :
153156 await ProcessAsync ( pc ) ;
154157 break ;
158+ case Pillar . DepositQsr pd :
159+ await ProcessAsync ( pd ) ;
160+ break ;
155161 case Pillar . WithdrawQsr pw :
156162 await ProcessAsync ( pw ) ;
157163 break ;
@@ -828,6 +834,44 @@ static async Task ProcessAsync(Sentinel.Collect options)
828834 WriteInfo ( $ "Use receiveAll to collect your Sentinel reward(s) after 1 momentum") ;
829835 }
830836
837+ static async Task ProcessAsync ( Sentinel . DepositQsr options )
838+ {
839+ var tokenStandard = TokenStandard . QsrZts ;
840+ var address = Znn . Instance . DefaultKeyPair . Address ;
841+
842+ if ( options . Amount <= 0 )
843+ {
844+ WriteError ( $ "The amount must be positive") ;
845+ return ;
846+ }
847+
848+ var account = await Znn . Instance . Ledger
849+ . GetAccountInfoByAddress ( address ) ;
850+
851+ var balance = account . BalanceInfoList
852+ . FirstOrDefault ( x => x . Token . TokenStandard == tokenStandard ) ;
853+
854+ if ( balance == null )
855+ {
856+ WriteError ( $ "You only have { FormatAmount ( 0 , 0 ) } { tokenStandard } tokens") ;
857+ return ;
858+ }
859+
860+ var amount = options . Amount * balance . Token . DecimalsExponent ;
861+
862+ if ( balance . Balance < amount )
863+ {
864+ WriteError ( $ "You only have { FormatAmount ( balance . Balance . Value , balance . Token . Decimals ) } { balance . Token . Symbol } tokens") ;
865+ return ;
866+ }
867+
868+ WriteInfo ( $ "Depositing { FormatAmount ( amount , balance . Token . Decimals ) } { balance . Token . Symbol } ...") ;
869+
870+ await Znn . Instance . Send ( Znn . Instance . Embedded . Sentinel . DepositQsr ( amount ) ) ;
871+
872+ WriteInfo ( "Done" ) ;
873+ }
874+
831875 static async Task ProcessAsync ( Sentinel . WithdrawQsr options )
832876 {
833877 var address = Znn . Instance . DefaultKeyPair . Address ;
@@ -1112,6 +1156,44 @@ static async Task ProcessAsync(Pillar.Collect options)
11121156 WriteInfo ( $ "Use receiveAll to collect your Pillar reward(s) after 1 momentum") ;
11131157 }
11141158
1159+ static async Task ProcessAsync ( Pillar . DepositQsr options )
1160+ {
1161+ var tokenStandard = TokenStandard . QsrZts ;
1162+ var address = Znn . Instance . DefaultKeyPair . Address ;
1163+
1164+ if ( options . Amount <= 0 )
1165+ {
1166+ WriteError ( $ "The amount must be positive") ;
1167+ return ;
1168+ }
1169+
1170+ var account = await Znn . Instance . Ledger
1171+ . GetAccountInfoByAddress ( address ) ;
1172+
1173+ var balance = account . BalanceInfoList
1174+ . FirstOrDefault ( x => x . Token . TokenStandard == tokenStandard ) ;
1175+
1176+ if ( balance == null )
1177+ {
1178+ WriteError ( $ "You only have { FormatAmount ( 0 , 0 ) } { tokenStandard } tokens") ;
1179+ return ;
1180+ }
1181+
1182+ var amount = options . Amount * balance . Token . DecimalsExponent ;
1183+
1184+ if ( balance . Balance < amount )
1185+ {
1186+ WriteError ( $ "You only have { FormatAmount ( balance . Balance . Value , balance . Token . Decimals ) } { balance . Token . Symbol } tokens") ;
1187+ return ;
1188+ }
1189+
1190+ WriteInfo ( $ "Depositing { FormatAmount ( amount , balance . Token . Decimals ) } { balance . Token . Symbol } ...") ;
1191+
1192+ await Znn . Instance . Send ( Znn . Instance . Embedded . Pillar . DepositQsr ( amount ) ) ;
1193+
1194+ WriteInfo ( "Done" ) ;
1195+ }
1196+
11151197 static async Task ProcessAsync ( Pillar . WithdrawQsr options )
11161198 {
11171199 var address = Znn . Instance . DefaultKeyPair . Address ;
0 commit comments