Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
3e6b908
Removed frozen... fields from Delegate account; Added operations test
k-karuna Aug 18, 2025
343cf00
Updated cycle fields
k-karuna Aug 18, 2025
91c44ac
Removed rolls from ballot
k-karuna Aug 18, 2025
15d2788
Removed rolls from proposal op.
k-karuna Aug 18, 2025
952b21d
Baking op. fields updated
k-karuna Aug 18, 2025
e0f33ae
Updated double baking and double endorsing operations
k-karuna Aug 21, 2025
5bb8b1a
Updated DoublePreendorsing
k-karuna Aug 21, 2025
3b0bb55
Updated EndorsingReward and NonceRevelation
k-karuna Aug 21, 2025
fadf440
Added staking operation
k-karuna Aug 21, 2025
3ebdd18
Updated VdfRevelation
k-karuna Aug 21, 2025
2faf6af
Updated Block and Statistics
k-karuna Aug 21, 2025
0126269
Updated ProtocolConstants
k-karuna Aug 21, 2025
7ad56df
Comments typos fix
k-karuna Aug 21, 2025
5343be8
TzKT v1.16.0: updated attestation op
k-karuna Aug 21, 2025
f3908e0
TzKT v1.16.0: renamed preendorsement to preattestation
k-karuna Aug 21, 2025
3ac549e
TzKT v1.16.0: renamed EndorsingReward to AttestationReward
k-karuna Aug 21, 2025
31aab08
TzKT v1.16.0: renamed UpdateConsensusKey to UpdateSecondaryKey
k-karuna Aug 21, 2025
c85e740
TzKT v1.16.0: merged DoubleEndorsing and DoublePreendorsing to Double…
k-karuna Aug 21, 2025
acea3b5
TzKT v1.16.0: fixed incorrect test method naming
k-karuna Aug 21, 2025
dee4f1a
TzKT v1.16.0: added publicKey filed to reveal
k-karuna Aug 21, 2025
21acd32
TzKT v1.16.0: updated Delegate
k-karuna Aug 21, 2025
f434b67
TzKT v1.16.0: added fields to DoubleBaking
k-karuna Aug 25, 2025
0af7800
TzKT v1.16.0: added fields to DoubleConsensus
k-karuna Aug 25, 2025
68ff3d3
TzKT v1.16.0: added fields to NonceRevelation
k-karuna Aug 25, 2025
2eeeb1f
TzKT v1.16.0: added fields to AttestationReward
k-karuna Aug 25, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion tzkt/api/accounts.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ func (tzkt *API) AccountCounter(ctx context.Context, address string) (uint64, er
return tzkt.count(ctx, fmt.Sprintf("/v1/accounts/%s/counter", address), nil)
}

// AccountCounter - Returns a number of accounts.
// AccountsCount - Returns a number of accounts.
func (tzkt *API) AccountsCount(ctx context.Context, filters map[string]string) (uint64, error) {
return tzkt.count(ctx, "/v1/accounts/count", filters)
}
42 changes: 21 additions & 21 deletions tzkt/api/operations.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ import (
"github.com/pkg/errors"
)

// GetEndorsements -
func (tzkt *API) GetEndorsements(ctx context.Context, filters map[string]string) (operations []data.Endorsement, err error) {
err = tzkt.json(ctx, "/v1/operations/endorsements", filters, false, &operations)
// GetAttestations -
func (tzkt *API) GetAttestations(ctx context.Context, filters map[string]string) (operations []data.Attestation, err error) {
err = tzkt.json(ctx, "/v1/operations/attestations", filters, false, &operations)
return
}

Expand Down Expand Up @@ -39,9 +39,9 @@ func (tzkt *API) GetDoubleBakings(ctx context.Context, filters map[string]string
return
}

// GetDoubleEndorsings -
func (tzkt *API) GetDoubleEndorsings(ctx context.Context, filters map[string]string) (operations []data.DoubleEndorsing, err error) {
err = tzkt.json(ctx, "/v1/operations/double_endorsing", filters, false, &operations)
// GetDoubleConsensus -
func (tzkt *API) GetDoubleConsensus(ctx context.Context, filters map[string]string) (operations []data.DoubleConsensus, err error) {
err = tzkt.json(ctx, "/v1/operations/double_consensus", filters, false, &operations)
return
}

Expand Down Expand Up @@ -102,9 +102,9 @@ func (tzkt *API) GetTransactionsByHash(ctx context.Context, hash string, filters
return
}

// GetPreendorsement -
func (tzkt *API) GetPreendorsement(ctx context.Context, filters map[string]string) (operations []data.Preendorsement, err error) {
err = tzkt.json(ctx, "/v1/operations/preendorsement", filters, false, &operations)
// GetPreattestation -
func (tzkt *API) GetPreattestation(ctx context.Context, filters map[string]string) (operations []data.Preattestation, err error) {
err = tzkt.json(ctx, "/v1/operations/preattestations", filters, false, &operations)
return
}

Expand Down Expand Up @@ -174,9 +174,9 @@ func (tzkt *API) GetBakings(ctx context.Context, filters map[string]string) (ope
return
}

// GetEndorsingRewards -
func (tzkt *API) GetEndorsingRewards(ctx context.Context, filters map[string]string) (operations []data.EndorsingReward, err error) {
err = tzkt.json(ctx, "/v1/operations/endorsing_rewards", filters, false, &operations)
// GetAttestationReward -
func (tzkt *API) GetAttestationReward(ctx context.Context, filters map[string]string) (operations []data.AttestationReward, err error) {
err = tzkt.json(ctx, "/v1/operations/attestation_rewards", filters, false, &operations)
return
}

Expand All @@ -186,12 +186,6 @@ func (tzkt *API) GetRevelationPenalties(ctx context.Context, filters map[string]
return
}

// GetDoublePreendorsings -
func (tzkt *API) GetDoublePreendorsings(ctx context.Context, filters map[string]string) (operations []data.DoublePreendorsing, err error) {
err = tzkt.json(ctx, "/v1/operations/double_preendorsing", filters, false, &operations)
return
}

// GetVdfRevelations -
func (tzkt *API) GetVdfRevelations(ctx context.Context, filters map[string]string) (operations []data.VdfRevelation, err error) {
err = tzkt.json(ctx, "/v1/operations/vdf_revelations", filters, false, &operations)
Expand All @@ -204,9 +198,9 @@ func (tzkt *API) GetIncreasePaidStorage(ctx context.Context, filters map[string]
return
}

// GetUpdateConsensusKey -
func (tzkt *API) GetUpdateConsensusKey(ctx context.Context, filters map[string]string) (operations []data.UpdateConsensusKey, err error) {
err = tzkt.json(ctx, "/v1/operations/update_consensus_key", filters, false, &operations)
// GetUpdateSecondaryKey -
func (tzkt *API) GetUpdateSecondaryKey(ctx context.Context, filters map[string]string) (operations []data.UpdateSecondaryKey, err error) {
err = tzkt.json(ctx, "/v1/operations/update_secondary_key", filters, false, &operations)
return
}

Expand Down Expand Up @@ -263,3 +257,9 @@ func (tzkt *API) GetDalPublishCommitment(ctx context.Context, filters map[string
err = tzkt.json(ctx, "/v1/operations/dal_publish_commitment", filters, false, &operations)
return
}

// GetStaking -
func (tzkt *API) GetStaking(ctx context.Context, filters map[string]string) (operations []data.Staking, err error) {
err = tzkt.json(ctx, "/v1/operations/staking", filters, false, &operations)
return
}
44 changes: 44 additions & 0 deletions tzkt/api/operations_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package api

import (
"testing"

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)

func TestGetBakings(t *testing.T) {
api := New("https://staging.api.tzkt.io")

bakings, err := api.GetBakings(t.Context(), map[string]string{
"level": "9935996",
})

require.NoError(t, err)
assert.Len(t, bakings, 1)
assert.NotEmpty(t, bakings[0].Level)
}

func TestGetStaking(t *testing.T) {
api := New("https://staging.api.tzkt.io")

stakings, err := api.GetStaking(t.Context(), map[string]string{
"hash": "opEK5fRFrjzyGcXS8Euh9EsxRAATKsEV94m2mejsgWHMHbxTAPo",
})

require.NoError(t, err)
assert.Len(t, stakings, 1)
assert.Equal(t, uint64(9967034), stakings[0].Level)
}

func TestGetDoubleConsensus(t *testing.T) {
api := New("https://staging.api.tzkt.io")

doubleConsensus, err := api.GetDoubleConsensus(t.Context(), map[string]string{
"level": "554813",
})

require.NoError(t, err)
assert.Len(t, doubleConsensus, 1)
assert.Equal(t, "ooaLQnmRTDFf2JZa5skBcYVKUTUxrE6gtuejs31YFeRKXpxRawR", doubleConsensus[0].Hash)
}
7 changes: 2 additions & 5 deletions tzkt/data/account.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,18 @@ type Delegate struct {
Address string `json:"address"`
PublicKey string `json:"publicKey"`
Balance int64 `json:"balance"`
FrozenDeposits int64 `json:"frozenDeposits"`
FrozenRewards int64 `json:"frozenRewards"`
FrozenFees int64 `json:"frozenFees"`
Counter int64 `json:"counter"`
ActivationLevel int64 `json:"activationLevel"`
StakingBalance int64 `json:"stakingBalance"`
NumContracts int64 `json:"numContracts"`
NumDelegators int64 `json:"numDelegators"`
NumBlocks int64 `json:"numBlocks"`
NumEndorsements int64 `json:"numEndorsements"`
NumAttestations int64 `json:"numAttestations"`
NumBallots int64 `json:"numBallots"`
NumProposals int64 `json:"numProposals"`
NumActivations int64 `json:"numActivations"`
NumDoubleBaking int64 `json:"numDoubleBaking"`
NumDoubleEndorsing int64 `json:"numDoubleEndorsing"`
NumDoubleConsensus int64 `json:"numDoubleConsensus"`
NumNonceRevelations int64 `json:"numNonceRevelations"`
NumRevelationPenalties int64 `json:"numRevelationPenalties"`
NumDelegations int64 `json:"numDelegations"`
Expand Down
38 changes: 20 additions & 18 deletions tzkt/data/blocks.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,24 +8,26 @@ import (

// Block -
type Block struct {
Cycle int64 `json:"cycle"`
Level uint64 `json:"level"`
Hash string `json:"hash"`
Timestamp time.Time `json:"timestamp"`
Proto int64 `json:"proto"`
Priority int64 `json:"priority"`
Validations int64 `json:"validations"`
BlockRound uint64 `json:"blockRound"`
PayloadRound uint64 `josn:"payloadRound"`
Deposit int64 `json:"deposit"`
Reward int64 `json:"reward"`
Fees int64 `json:"fees"`
Bonus int64 `json:"bonus"`
LbEscapeEma int64 `json:"lbEscapeEma"`
NonceRevealed bool `json:"nonceRevealed"`
LbEscapeVote bool `json:"lbEscapeVote"`
LbToggleEma uint64 `json:"lbToggleEma"`
Baker Address `json:"baker"`
Cycle int64 `json:"cycle"`
Level uint64 `json:"level"`
Hash string `json:"hash"`
Timestamp time.Time `json:"timestamp"`
Proto int64 `json:"proto"`
Validations int64 `json:"validations"`
BlockRound uint64 `json:"blockRound"`
PayloadRound uint64 `json:"payloadRound"`
Deposit int64 `json:"deposit"`
RewardDelegated int64 `json:"rewardDelegated"`
RewardStakedOwn int64 `json:"rewardStakedOwn"`
RewardStakedEdge int64 `json:"rewardStakedEdge"`
RewardStakedShared int64 `json:"rewardStakedShared"`
BonusDelegated int64 `json:"bonusDelegated"`
BonusStakedOwn int64 `json:"bonusStakedOwn"`
BonusStakedEdge int64 `json:"bonusStakedEdge"`
BonusStakedShared int64 `json:"bonusStakedShared"`
Fees int64 `json:"fees"`
NonceRevealed bool `json:"nonceRevealed"`
LbToggleEma uint64 `json:"lbToggleEma"`
}

// Head -
Expand Down
12 changes: 6 additions & 6 deletions tzkt/data/consts.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,12 @@ package data
const (
KindTransaction = "transaction"
KindOrigination = "origination"
KindEndorsement = "endorsement"
KindPreendorsement = "preendorsement"
KindAttestation = "attestation"
KindPreattestations = "preattestations"
KindBallot = "ballot"
KindProposal = "proposal"
KindDoubleBaking = "double_baking"
KindDoubleEndorsing = "double_endorsing"
KindDoublePreendorsing = "double_preendorsing"
KindDoubleConsensus = "double_consensus"
KindActivation = "activation"
KindMigration = "migration"
KindNonceRevelation = "nonce_revelation"
Expand All @@ -29,10 +28,10 @@ const (
KindSetDepositsLimit = "set_deposits_limit"
KindRevelationPenalty = "revelation_penalty"
KindBaking = "baking"
KindEndorsingReward = "endorsing_reward"
KindAttestationReward = "attestation_reward "
KindVdfRevelation = "vdf_revelation"
KindIncreasePaidStorage = "increase_paid_storage"
KindUpdateConsensusKey = "update_consensus_key"
KindUpdateSecondaryKey = "update_secondary_key"
KindDrainDelegate = "drain_delegate"
KindSrAddMessages = "sr_add_messages"
KindSrCement = "sr_cement"
Expand All @@ -42,6 +41,7 @@ const (
KindSrRecoverBond = "sr_recover_bond"
KindSrRefute = "sr_refute"
KindDalPublishCommitment = "dal_publish_commitment"
KindStaking = "staking"
)

// urls
Expand Down
32 changes: 16 additions & 16 deletions tzkt/data/cylce.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,20 @@ import "time"

// Cycle -
type Cycle struct {
Index uint64 `json:"index"`
FirstLevel uint64 `json:"firstLevel"`
StartTime time.Time `json:"startTime"`
LastLevel uint64 `json:"lastLevel"`
EndTime time.Time `json:"endTime"`
SnapshotIndex uint64 `json:"snapshotIndex"`
SnapshotLevel uint64 `json:"snapshotLevel"`
RandomSeed string `json:"randomSeed,omitempty"`
TotalBakers uint64 `json:"totalBakers"`
TotalStaking uint64 `json:"totalStaking"`
TotalDelegators uint64 `json:"totalDelegators"`
TotalDelegated uint64 `json:"totalDelegated"`
SelectedBakers uint64 `json:"selectedBakers"`
SelectedStake uint64 `json:"selectedStake"`
Quote *Quote `json:"quote,omitempty"`
TotalRolls uint64 `json:"totalRolls"`
Index uint64 `json:"index"`
FirstLevel uint64 `json:"firstLevel"`
StartTime time.Time `json:"startTime"`
LastLevel uint64 `json:"lastLevel"`
EndTime time.Time `json:"endTime"`
SnapshotLevel uint64 `json:"snapshotLevel"`
RandomSeed string `json:"randomSeed,omitempty"`
TotalBakers uint64 `json:"totalBakers"`
TotalBakingPower uint64 `json:"totalBakingPower,omitempty"`
BlockReward uint64 `json:"blockReward,omitempty"`
BlockBonusPerSlot uint64 `json:"blockBonusPerSlot,omitempty"`
AttestationRewardPerSlot uint64 `json:"attestationRewardPerSlot,omitempty"`
NonceRevelationReward uint64 `json:"nonceRevelationReward,omitempty"`
VdfRevelationReward uint64 `json:"vdfRevelationReward,omitempty"`
DalAttestationRewardPerShard uint64 `json:"dalAttestationRewardPerShard,omitempty"`
Quote *Quote `json:"quote,omitempty"`
}
79 changes: 40 additions & 39 deletions tzkt/data/general.go
Original file line number Diff line number Diff line change
Expand Up @@ -78,46 +78,48 @@ type Protocol struct {

// ProtocolConstants -
type ProtocolConstants struct {
RampUpCycles int64 `json:"rampUpCycles"`
NoRewardCycles int64 `json:"noRewardCycles"`
PreservedCycles int64 `json:"preservedCycles"`
BlocksPerCycle int64 `json:"blocksPerCycle"`
BlocksPerCommitment int64 `json:"blocksPerCommitment"`
BlocksPerSnapshot int64 `json:"blocksPerSnapshot"`
BlocksPerVoting int64 `json:"blocksPerVoting"`
TimeBetweenBlocks int64 `json:"timeBetweenBlocks"`
EndorsersPerBlock int64 `json:"endorsersPerBlock"`
HardOperationGasLimit int64 `json:"hardOperationGasLimit"`
HardOperationStorageLimit int64 `json:"hardOperationStorageLimit"`
HardBlockGasLimit int64 `json:"hardBlockGasLimit"`
TokensPerRoll int64 `json:"tokensPerRoll"`
RevelationReward int64 `json:"revelationReward"`
BlockDeposit int64 `json:"blockDeposit"`
BlockReward []int64 `json:"blockReward"`
EndorsementDeposit int64 `json:"endorsementDeposit"`
EndorsementReward []int64 `json:"endorsementReward"`
OriginationSize int64 `json:"originationSize"`
ByteCost int64 `json:"byteCost"`
ProposalQuorum int64 `json:"proposalQuorum"`
BallotQuorumMin int64 `json:"ballotQuorumMin"`
BallotQuorumMax int64 `json:"ballotQuorumMax"`
LbSubsidy int64 `json:"lbSubsidy"`
LbSunsetLevel int64 `json:"lbSunsetLevel"`
LbToggleThreshold int64 `json:"lbToggleThreshold"`
ConsensusThreshold int64 `json:"consensusThreshold"`
MinParticipationNumerator int64 `json:"minParticipationNumerator"`
MinParticipationDenominator int64 `json:"minParticipationDenominator"`
MaxSlashingPeriod int64 `json:"maxSlashingPeriod"`
FrozenDepositsPercentage int64 `json:"frozenDepositsPercentage"`
DoubleBakingPunishment int64 `json:"doubleBakingPunishment"`
DoubleEndorsingPunishmentNumerator int64 `json:"doubleEndorsingPunishmentNumerator"`
DoubleEndorsingPunishmentDenominator int64 `json:"doubleEndorsingPunishmentDenominator"`
TxRollupOriginationSize int64 `json:"txRollupOriginationSize"`
TxRollupCommitmentBond int64 `json:"txRollupCommitmentBond"`
LbEscapeThreshold int64 `json:"lbEscapeThreshold"`
RampUpCycles int64 `json:"rampUpCycles"`
NoRewardCycles int64 `json:"noRewardCycles"`
ConsensusRightsDelay int64 `json:"consensusRightsDelay"`
DelegateParametersActivationDelay int64 `json:"delegateParametersActivationDelay"`
BlocksPerCycle int64 `json:"blocksPerCycle"`
BlocksPerCommitment int64 `json:"blocksPerCommitment"`
BlocksPerSnapshot int64 `json:"blocksPerSnapshot"`
BlocksPerVoting int64 `json:"blocksPerVoting"`
TimeBetweenBlocks int64 `json:"timeBetweenBlocks"`
AttestersPerBlock int64 `json:"attestersPerBlock"`
HardOperationGasLimit int64 `json:"hardOperationGasLimit"`
HardOperationStorageLimit int64 `json:"hardOperationStorageLimit"`
HardBlockGasLimit int64 `json:"hardBlockGasLimit"`
MinimalStake int64 `json:"minimalStake"`
MinimalFrozenStake int64 `json:"minimalFrozenStake"`
BlockDeposit int64 `json:"blockDeposit"`
BlockReward []int64 `json:"blockReward"`
AttestationDeposit int64 `json:"attestationDeposit"`
AttestationReward []int64 `json:"attestationReward"`
OriginationSize int64 `json:"originationSize"`
ByteCost int64 `json:"byteCost"`
ProposalQuorum int64 `json:"proposalQuorum"`
BallotQuorumMin int64 `json:"ballotQuorumMin"`
BallotQuorumMax int64 `json:"ballotQuorumMax"`
LbToggleThreshold int64 `json:"lbToggleThreshold"`
ConsensusThreshold int64 `json:"consensusThreshold"`
MinParticipationNumerator int64 `json:"minParticipationNumerator"`
MinParticipationDenominator int64 `json:"minParticipationDenominator"`
DenunciationPeriod int64 `json:"denunciationPeriod"`
SlashingDelay int64 `json:"slashingDelay"`
MaxDelegatedOverFrozenRatio int64 `json:"maxDelegatedOverFrozenRatio"`
MaxExternalOverOwnStakeRatio int64 `json:"maxExternalOverOwnStakeRatio"`
SmartRollupOriginationSize int64 `json:"smartRollupOriginationSize"`
SmartRollupStakeAmount int64 `json:"smartRollupStakeAmount"`
SmartRollupChallengeWindow int64 `json:"smartRollupChallengeWindow"`
SmartRollupCommitmentPeriod int64 `json:"smartRollupCommitmentPeriod"`
SmartRollupTimeoutPeriod int64 `json:"smartRollupTimeoutPeriod"`
DalNumberOfShards int64 `json:"dalNumberOfShards"`
Dictator string `json:"dictator"`
}

// ProtocolConstants -
// ProtocolMetadata -
type ProtocolMetadata struct {
Docs string `json:"docs"`
Alias string `json:"alias"`
Expand All @@ -137,6 +139,5 @@ type Statistics struct {
TotalBanished uint64 `json:"totalBanished"`
TotalFrozen uint64 `json:"totalFrozen"`
TotalRollupBonds uint64 `json:"totalRollupBonds"`
TotalVested uint64 `json:"totalVested"`
Quote *Quote `json:"quote,omitempty"`
}
Loading