Skip to content

Commit 94105bb

Browse files
kevinbognerrolfyoneensi321
authored
Add sync_committee_rewards (#262)
Co-authored-by: Paul Harris <paul.harris@consensys.net> Co-authored-by: navie <naviechan@gmail.com>
1 parent b8610fe commit 94105bb

File tree

3 files changed

+87
-1
lines changed

3 files changed

+87
-1
lines changed
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
post:
2+
operationId: getSyncCommitteeRewards
3+
summary: Get sync committee rewards
4+
description: Retrieves rewards info for sync committee members specified by array of public keys or validator index. If no array is provided, return reward info for every committee member.
5+
tags:
6+
- Beacon
7+
- Rewards
8+
- Experimental
9+
parameters:
10+
- name: block_id
11+
in: path
12+
required: true
13+
example: "head"
14+
$ref: '../../../beacon-node-oapi.yaml#/components/parameters/BlockId'
15+
requestBody:
16+
description: "An array of either hex encoded public key (any bytes48 with 0x prefix) or validator index"
17+
required: false
18+
content:
19+
application/json:
20+
schema:
21+
type: array
22+
uniqueItems: true
23+
items:
24+
description: "Either hex encoded public key (any bytes48 with 0x prefix) or validator index"
25+
type: string
26+
responses:
27+
"200":
28+
description: "Success"
29+
content:
30+
application/json:
31+
schema:
32+
title: GetSyncCommitteeRewardsResponse
33+
type: object
34+
properties:
35+
execution_optimistic:
36+
$ref: "../../../beacon-node-oapi.yaml#/components/schemas/ExecutionOptimistic"
37+
finalized:
38+
$ref: "../../../beacon-node-oapi.yaml#/components/schemas/Finalized"
39+
data:
40+
$ref: '../../../beacon-node-oapi.yaml#/components/schemas/SyncCommitteeRewards'
41+
"400":
42+
description: "Invalid get sync committee rewards request"
43+
content:
44+
application/json:
45+
schema:
46+
$ref: "../../../beacon-node-oapi.yaml#/components/schemas/ErrorMessage"
47+
examples:
48+
InvalidRequest:
49+
value:
50+
code: 400
51+
message: "Invalid request to retrieve sync committee rewards info"
52+
"404":
53+
description: "Block not found"
54+
content:
55+
application/json:
56+
schema:
57+
$ref: "../../../beacon-node-oapi.yaml#/components/schemas/ErrorMessage"
58+
example:
59+
code: 404
60+
message: "Block not found"
61+
"500":
62+
$ref: "../../../beacon-node-oapi.yaml#/components/responses/InternalError"

beacon-node-oapi.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ tags:
5858
description: Endpoints to query rewards and penalties for validators.
5959
- name: Experimental
6060
description: Endpoints that are not stable or fully implemented by each client.
61+
6162
paths:
6263

6364
/eth/v1/beacon/genesis:
@@ -94,6 +95,8 @@ paths:
9495
$ref: "./apis/beacon/blocks/root.yaml"
9596
/eth/v1/beacon/blocks/{block_id}/attestations:
9697
$ref: "./apis/beacon/blocks/attestations.yaml"
98+
/eth/v1/beacon/rewards/sync_committee/{block_id}:
99+
$ref: "./apis/beacon/rewards/sync_committee.yaml"
97100
/eth/v1/beacon/deposit_snapshot:
98101
$ref: "./apis/beacon/deposit_snapshot.yaml"
99102
/eth/v1/beacon/rewards/blocks/{block_id}:
@@ -326,6 +329,8 @@ components:
326329
$ref: './types/fork_choice.yaml#/Node'
327330
ExtraData:
328331
$ref: './types/fork_choice.yaml#/ExtraData'
332+
SyncCommitteeRewards:
333+
$ref: './types/rewards.yaml#/SyncCommitteeRewards'
329334
BlockRewards:
330335
$ref: './types/rewards.yaml#/BlockRewards'
331336
AttestationsRewards:

types/rewards.yaml

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
SyncCommitteeRewards:
2+
description: "Rewards info for sync committee members"
3+
type: array
4+
items:
5+
type: object
6+
description: "Rewards info for a single sync committee member"
7+
required: ["validator_index", "reward"]
8+
properties:
9+
validator_index:
10+
allOf:
11+
- $ref: "./primitive.yaml#/Uint64"
12+
- example: 0
13+
- description: "one entry for every validator participating in the sync committee"
14+
reward:
15+
allOf:
16+
- $ref: "./primitive.yaml#/Int64"
17+
- example: 2000
18+
- description: "sync committee reward in gwei for the validator"
19+
120
AttestationsRewards:
221
description: "Rewards info for attestations"
322
type: array
@@ -102,4 +121,4 @@ BlockRewards:
102121
allOf:
103122
- $ref: "./primitive.yaml#/Uint64"
104123
- example: 123
105-
- description: "block reward component due to included attester_slashings in gwei"
124+
- description: "block reward component due to included attester_slashings in gwei"

0 commit comments

Comments
 (0)