Skip to content

Commit

Permalink
Add transcoder for Unlock stake txn type. Add support for approve UI …
Browse files Browse the repository at this point in the history
…for this new txn type
  • Loading branch information
Lazy Nina committed Jan 5, 2024
1 parent 0b283ef commit 7ef6db2
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 0 deletions.
12 changes: 12 additions & 0 deletions src/app/approve/approve.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ import {
TransactionMetadataUnregisterAsValidator,
TransactionMetadataStake,
TransactionMetadataUnstake,
TransactionMetadataUnlockStake,
} from '../../lib/deso/transaction';
import { ExtraData } from '../../types/identity';
import { AccountService } from '../account.service';
Expand Down Expand Up @@ -623,6 +624,17 @@ export class ApproveComponent implements OnInit {
);
description = `unstake ${unstakeAmountNanos} $DESO from ${unstakeValidatorPublicKey}`;
break;
case TransactionMetadataUnlockStake:
const unlockStakeMetadata = this.transaction
.metadata as TransactionMetadataUnlockStake;
const unlockStakeValidatorPublicKey = this.base58KeyCheck(
unlockStakeMetadata.validatorPublicKey
);
publicKeys = [unlockStakeValidatorPublicKey];
description =
`unlock stake from ${unlockStakeValidatorPublicKey}, ` +
`starting from epochs ${unlockStakeMetadata.startEpochNumber} to ${unlockStakeMetadata.endEpochNumber}`;
break;
}

// Set the transaction description based on the description populated with public keys.
Expand Down
2 changes: 2 additions & 0 deletions src/app/identity.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ import {
TransactionMetadataUnregisterAsValidator,
TransactionMetadataStake,
TransactionMetadataUnstake,
TransactionMetadataUnlockStake,
} from '../lib/deso/transaction';
import { SwalHelper } from '../lib/helpers/swal-helper';
import { AccessLevel, PublicUserInfo } from '../types/identity';
Expand Down Expand Up @@ -526,6 +527,7 @@ export class IdentityService {
case TransactionMetadataUnregisterAsValidator:
case TransactionMetadataStake:
case TransactionMetadataUnstake:
case TransactionMetadataUnlockStake:
return AccessLevel.Full;

case TransactionMetadataFollow:
Expand Down
12 changes: 12 additions & 0 deletions src/lib/deso/transaction.ts
Original file line number Diff line number Diff line change
Expand Up @@ -630,6 +630,17 @@ export class TransactionMetadataUnstake extends TransactionMetadata {
unstakeAmountNanos: Buffer = Buffer.alloc(0);
}

export class TransactionMetadataUnlockStake extends TransactionMetadata {
@Transcode(VarBuffer)
validatorPublicKey: Buffer = Buffer.alloc(0);

@Transcode(Uvarint64)
startEpochNumber: number = 0;

@Transcode(Uvarint64)
endEpochNumber: number = 0;
}

export const TransactionTypeMetadataMap = {
1: TransactionMetadataBlockReward,
2: TransactionMetadataBasicTransfer,
Expand Down Expand Up @@ -667,6 +678,7 @@ export const TransactionTypeMetadataMap = {
35: TransactionMetadataUnregisterAsValidator,
36: TransactionMetadataStake,
37: TransactionMetadataUnstake,
38: TransactionMetadataUnlockStake,
};

export class Transaction extends BinaryRecord {
Expand Down

0 comments on commit 7ef6db2

Please sign in to comment.