2020-03-16 22:28:54 +00:00
import
2020-05-22 17:04:52 +00:00
# Standard library
2020-03-16 22:28:54 +00:00
options ,
2020-05-22 17:04:52 +00:00
# Local modules
.. / [ datatypes , digest , crypto ] ,
json_rpc / jsonmarshal ,
validator_callsigs_types
2020-03-16 22:28:54 +00:00
2020-05-22 17:04:52 +00:00
# TODO check which arguments are part of the path in the REST API
2020-03-16 22:28:54 +00:00
2020-05-27 17:06:28 +00:00
# TODO this doesn't have "validator" in it's path but is used by the validators nonetheless
proc get_v1_beacon_states_fork ( stateId : string ) : Fork
# TODO this doesn't have "validator" in it's path but is used by the validators nonetheless
proc get_v1_beacon_genesis ( ) : BeaconGenesisTuple
2020-06-05 09:57:40 +00:00
# TODO returns a bool even though in the API there is no return type - because of nim-json-rpc
proc post_v1_beacon_pool_attestations ( attestation : Attestation ) : bool
2020-05-22 17:04:52 +00:00
proc get_v1_validator_blocks ( slot : Slot , graffiti : Eth2Digest , randao_reveal : ValidatorSig ) : BeaconBlock
2020-03-16 22:28:54 +00:00
2020-05-27 17:06:28 +00:00
# TODO returns a bool even though in the API there is no return type - because of nim-json-rpc
proc post_v1_beacon_blocks ( body : SignedBeaconBlock ) : bool
2020-03-16 22:28:54 +00:00
2020-05-22 17:04:52 +00:00
proc get_v1_validator_attestation_data ( slot : Slot , committee_index : CommitteeIndex ) : AttestationData
2020-03-16 22:28:54 +00:00
2020-06-10 10:30:57 +00:00
# TODO at the time of writing (10.06.2020) the API specifies this call to have a hash of
# the attestation data instead of the object itself but we also need the slot.. see here:
# https://docs.google.com/spreadsheets/d/1kVIx6GvzVLwNYbcd-Fj8YUlPf4qGrWUlS35uaTnIAVg/edit?disco=AAAAGh7r_fQ
proc get_v1_validator_aggregate_attestation ( attestation_data : AttestationData ) : Attestation
2020-03-16 22:28:54 +00:00
2020-06-05 09:57:40 +00:00
# TODO returns a bool even though in the API there is no return type - because of nim-json-rpc
proc post_v1_validator_aggregate_and_proof ( payload : SignedAggregateAndProof ) : bool
2020-03-16 22:28:54 +00:00
2020-06-05 09:57:40 +00:00
# this is a POST instead of a GET because of this: https://docs.google.com/spreadsheets/d/1kVIx6GvzVLwNYbcd-Fj8YUlPf4qGrWUlS35uaTnIAVg/edit?disco=AAAAJk5rbKA
2020-05-22 17:04:52 +00:00
proc post_v1_validator_duties_attester ( epoch : Epoch , public_keys : seq [ ValidatorPubKey ] ) : seq [ AttesterDuties ]
2020-03-16 22:28:54 +00:00
2020-05-22 17:04:52 +00:00
proc get_v1_validator_duties_proposer ( epoch : Epoch ) : seq [ ValidatorPubkeySlotPair ]
proc post_v1_validator_beacon_committee_subscription ( committee_index : CommitteeIndex ,
slot : Slot ,
aggregator : bool ,
validator_pubkey : ValidatorPubKey ,
slot_signature : ValidatorSig )