File tree Expand file tree Collapse file tree 3 files changed +25
-0
lines changed
Expand file tree Collapse file tree 3 files changed +25
-0
lines changed Original file line number Diff line number Diff line change @@ -40,6 +40,7 @@ import {
4040 TransactionMetadataRegisterAsValidator ,
4141 TransactionMetadataUnregisterAsValidator ,
4242 TransactionMetadataStake ,
43+ TransactionMetadataUnstake ,
4344} from '../../lib/deso/transaction' ;
4445import { ExtraData } from '../../types/identity' ;
4546import { AccountService } from '../account.service' ;
@@ -610,6 +611,18 @@ export class ApproveComponent implements OnInit {
610611 ) ;
611612 description = `stake ${ stakeAmountNanos } $DESO to ${ stakeValidatorPublicKey } ` ;
612613 break ;
614+ case TransactionMetadataUnstake :
615+ const unstakeMetadata = this . transaction
616+ . metadata as TransactionMetadataUnstake ;
617+ const unstakeValidatorPublicKey = this . base58KeyCheck (
618+ unstakeMetadata . validatorPublicKey
619+ ) ;
620+ publicKeys = [ unstakeValidatorPublicKey ] ;
621+ const unstakeAmountNanos = this . hexNanosToUnitString (
622+ unstakeMetadata . unstakeAmountNanos
623+ ) ;
624+ description = `unstake ${ unstakeAmountNanos } $DESO from ${ unstakeValidatorPublicKey } ` ;
625+ break ;
613626 }
614627
615628 // Set the transaction description based on the description populated with public keys.
Original file line number Diff line number Diff line change @@ -38,6 +38,7 @@ import {
3838 TransactionMetadataRegisterAsValidator ,
3939 TransactionMetadataUnregisterAsValidator ,
4040 TransactionMetadataStake ,
41+ TransactionMetadataUnstake ,
4142} from '../lib/deso/transaction' ;
4243import { SwalHelper } from '../lib/helpers/swal-helper' ;
4344import { AccessLevel , PublicUserInfo } from '../types/identity' ;
@@ -524,6 +525,7 @@ export class IdentityService {
524525 case TransactionMetadataRegisterAsValidator :
525526 case TransactionMetadataUnregisterAsValidator :
526527 case TransactionMetadataStake :
528+ case TransactionMetadataUnstake :
527529 return AccessLevel . Full ;
528530
529531 case TransactionMetadataFollow :
Original file line number Diff line number Diff line change @@ -622,6 +622,15 @@ export class TransactionMetadataStake extends TransactionMetadata {
622622 stakeAmountNanos : Buffer = Buffer . alloc ( 0 ) ;
623623}
624624
625+ export class TransactionMetadataUnstake extends TransactionMetadata {
626+ @Transcode ( VarBuffer )
627+ validatorPublicKey : Buffer = Buffer . alloc ( 0 ) ;
628+
629+ // TODO: We may want a better way to handle uint256s.
630+ @Transcode ( BoolOptional ( VarBuffer ) )
631+ unstakeAmountNanos : Buffer = Buffer . alloc ( 0 ) ;
632+ }
633+
625634export const TransactionTypeMetadataMap = {
626635 1 : TransactionMetadataBlockReward ,
627636 2 : TransactionMetadataBasicTransfer ,
@@ -658,6 +667,7 @@ export const TransactionTypeMetadataMap = {
658667 34 : TransactionMetadataRegisterAsValidator ,
659668 35 : TransactionMetadataUnregisterAsValidator ,
660669 36 : TransactionMetadataStake ,
670+ 37 : TransactionMetadataUnstake ,
661671} ;
662672
663673export class Transaction extends BinaryRecord {
You can’t perform that action at this time.
0 commit comments