-
Notifications
You must be signed in to change notification settings - Fork 98
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Incentives: Updates for new heartbeat transaction type and latest con…
…sensus v40 (#661) * Updates for new heartbeat transaction type support. * Sync heartbeat fields with go-algorand, make TxnHeartbeatFields explicit pointer type on Transaction. * Sync consensus version settings with go-algorand.
- Loading branch information
Showing
6 changed files
with
114 additions
and
28 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
package types | ||
|
||
// HeartbeatTxnFields captures the fields used for an account to prove it is | ||
// online (really, it proves that an entity with the account's part keys is able | ||
// to submit transactions, so it should be able to propose/vote.) | ||
type HeartbeatTxnFields struct { | ||
_struct struct{} `codec:",omitempty,omitemptyarray"` | ||
|
||
// HeartbeatAddress is the account this txn is proving onlineness for. | ||
HbAddress Address `codec:"a"` | ||
|
||
// HbProof is a signature using HeartbeatAddress's partkey, thereby showing it is online. | ||
HbProof HeartbeatProof `codec:"prf"` | ||
|
||
// The final three fields are included to allow early, concurrent check of | ||
// the HbProof. | ||
|
||
// HbSeed must be the block seed for this transaction's firstValid | ||
// block. It is the message that must be signed with HbAddress's part key. | ||
HbSeed Seed `codec:"sd"` | ||
|
||
// HbVoteID must match the HbAddress account's current VoteID. | ||
HbVoteID OneTimeSignatureVerifier `codec:"vid"` | ||
|
||
// HbKeyDilution must match HbAddress account's current KeyDilution. | ||
HbKeyDilution uint64 `codec:"kd"` | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters