diff --git a/AllTests-mainnet.md b/AllTests-mainnet.md index c00af65711..3dd522f11e 100644 --- a/AllTests-mainnet.md +++ b/AllTests-mainnet.md @@ -394,13 +394,12 @@ OK: 6/6 Fail: 0/6 Skip: 0/6 + Signing aggregation slot (getSlotSignature()) OK + Signing attestation (getAttestationSignature()) OK + Signing deposit message (getDepositMessageSignature()) OK -+ Signing phase0 block OK + Signing randao reveal (getEpochSignature()) OK + Signing validator registration (getBuilderSignature()) OK + Signing voluntary exit (getValidatorExitSignature()) OK + Waiting for signing node (/upcheck) test OK ``` -OK: 22/22 Fail: 0/22 Skip: 0/22 +OK: 21/21 Fail: 0/21 Skip: 0/21 ## Old database versions [Preset: mainnet] ```diff + pre-1.1.0 OK @@ -691,4 +690,4 @@ OK: 2/2 Fail: 0/2 Skip: 0/2 OK: 9/9 Fail: 0/9 Skip: 0/9 ---TOTAL--- -OK: 392/397 Fail: 0/397 Skip: 5/397 +OK: 391/396 Fail: 0/396 Skip: 5/396 diff --git a/beacon_chain/nimbus_signing_node.nim b/beacon_chain/nimbus_signing_node.nim index 5c99cf6ae7..dcc567388d 100644 --- a/beacon_chain/nimbus_signing_node.nim +++ b/beacon_chain/nimbus_signing_node.nim @@ -214,14 +214,6 @@ proc installApiHandlers*(node: SigningNodeRef) = forkInfo.genesis_validators_root, request.attestation, validator.data.privateKey).toValidatorSig().toHex() signatureResponse(Http200, signature) - of Web3SignerRequestKind.Block: - let - forkInfo = request.forkInfo.get() - blck = request.blck - signature = get_block_signature(forkInfo.fork, - forkInfo.genesis_validators_root, blck.slot, hash_tree_root(blck), - validator.data.privateKey).toValidatorSig().toHex() - signatureResponse(Http200, signature) of Web3SignerRequestKind.BlockV2: if node.config.expectedFeeRecipient.isNone(): let diff --git a/beacon_chain/spec/eth2_apis/eth2_rest_serialization.nim b/beacon_chain/spec/eth2_apis/eth2_rest_serialization.nim index 27c6bc4945..298df6677e 100644 --- a/beacon_chain/spec/eth2_apis/eth2_rest_serialization.nim +++ b/beacon_chain/spec/eth2_apis/eth2_rest_serialization.nim @@ -1941,14 +1941,6 @@ proc writeValue*(writer: var JsonWriter[RestJson], if isSome(value.signingRoot): writer.writeField("signingRoot", value.signingRoot) writer.writeField("attestation", value.attestation) - of Web3SignerRequestKind.Block: - doAssert(value.forkInfo.isSome(), - "forkInfo should be set for this type of request") - writer.writeField("type", "BLOCK") - writer.writeField("fork_info", value.forkInfo.get()) - if isSome(value.signingRoot): - writer.writeField("signingRoot", value.signingRoot) - writer.writeField("block", value.blck) of Web3SignerRequestKind.BlockV2: doAssert(value.forkInfo.isSome(), "forkInfo should be set for this type of request") @@ -2046,8 +2038,6 @@ proc readValue*(reader: var JsonReader[RestJson], Web3SignerRequestKind.AggregateAndProof of "ATTESTATION": Web3SignerRequestKind.Attestation - of "BLOCK": - Web3SignerRequestKind.Block of "BLOCK_V2": Web3SignerRequestKind.BlockV2 of "DEPOSIT": @@ -2145,22 +2135,6 @@ proc readValue*(reader: var JsonReader[RestJson], kind: Web3SignerRequestKind.Attestation, forkInfo: forkInfo, signingRoot: signingRoot, attestation: data ) - of Web3SignerRequestKind.Block: - if dataName != "block": - reader.raiseUnexpectedValue("Field `block` is missing") - if forkInfo.isNone(): - reader.raiseUnexpectedValue("Field `fork_info` is missing") - let data = - block: - let res = decodeJsonString(phase0.BeaconBlock, data.get()) - if res.isErr(): - reader.raiseUnexpectedValue( - "Incorrect field `block` format") - res.get() - Web3SignerRequest( - kind: Web3SignerRequestKind.Block, - forkInfo: forkInfo, signingRoot: signingRoot, blck: data - ) of Web3SignerRequestKind.BlockV2: # https://github.com/ConsenSys/web3signer/blob/41834a927088f1bde7a097e17d19e954d0058e54/core/src/main/resources/openapi-specs/eth2/signing/schemas.yaml#L421-L425 (branch v22.7.0) # It's the "beacon_block" field even when it's not a block, but a header diff --git a/beacon_chain/spec/eth2_apis/rest_types.nim b/beacon_chain/spec/eth2_apis/rest_types.nim index 219c024e76..f009011344 100644 --- a/beacon_chain/spec/eth2_apis/rest_types.nim +++ b/beacon_chain/spec/eth2_apis/rest_types.nim @@ -585,7 +585,7 @@ type proof*: seq[Eth2Digest] Web3SignerRequestKind* {.pure.} = enum - AggregationSlot, AggregateAndProof, Attestation, Block, BlockV2, + AggregationSlot, AggregateAndProof, Attestation, BlockV2, Deposit, RandaoReveal, VoluntaryExit, SyncCommitteeMessage, SyncCommitteeSelectionProof, SyncCommitteeContributionAndProof, ValidatorRegistration @@ -602,9 +602,6 @@ type serializedFieldName: "aggregate_and_proof".}: AggregateAndProof of Web3SignerRequestKind.Attestation: attestation*: AttestationData - of Web3SignerRequestKind.Block: - blck* {. - serializedFieldName: "block".}: phase0.BeaconBlock of Web3SignerRequestKind.BlockV2: beaconBlock* {. serializedFieldName: "beacon_block".}: Web3SignerForkedBeaconBlock @@ -799,19 +796,6 @@ func init*(t: typedesc[Web3SignerRequest], fork: Fork, attestation: data ) -func init*(t: typedesc[Web3SignerRequest], fork: Fork, - genesis_validators_root: Eth2Digest, data: phase0.BeaconBlock, - signingRoot: Option[Eth2Digest] = none[Eth2Digest]() - ): Web3SignerRequest = - Web3SignerRequest( - kind: Web3SignerRequestKind.Block, - forkInfo: some(Web3SignerForkInfo( - fork: fork, genesis_validators_root: genesis_validators_root - )), - signingRoot: signingRoot, - blck: data - ) - func init*(t: typedesc[Web3SignerRequest], fork: Fork, genesis_validators_root: Eth2Digest, data: Web3SignerForkedBeaconBlock, diff --git a/tests/test_signing_node.nim b/tests/test_signing_node.nim index 638bd04c44..bc143fae53 100644 --- a/tests/test_signing_node.nim +++ b/tests/test_signing_node.nim @@ -425,55 +425,6 @@ suite "Nimbus remote signer/signing test (web3signer)": finally: await client.closeWait() - asyncTest "Signing phase0 block": - let - forked = getBlock(ConsensusFork.Phase0) - blockRoot = withBlck(forked): hash_tree_root(blck) - request = Web3SignerRequest.init(SigningFork, GenesisValidatorsRoot, - forked.phase0Data) - remoteUrl = "http://" & SigningNodeAddress & ":" & - $getNodePort(basePort, RemoteSignerType.Web3Signer) - prestoFlags = {RestClientFlag.CommaSeparatedArray} - rclient = RestClientRef.new(remoteUrl, prestoFlags, {}) - - check rclient.isOk() - let client = rclient.get() - let - sres1 = - await validator1.getBlockSignature(SigningFork, GenesisValidatorsRoot, - Slot(1), blockRoot, forked) - sres2 = - await validator2.getBlockSignature(SigningFork, GenesisValidatorsRoot, - Slot(1), blockRoot, forked) - sres3 = - await validator3.getBlockSignature(SigningFork, GenesisValidatorsRoot, - Slot(1), blockRoot, forked) - - check: - sres1.isOk() - sres2.isOk() - sres3.isOk() - - try: - let - publicKey1 = ValidatorPubKey.fromHex(ValidatorPubKey1).get() - publicKey2 = ValidatorPubKey.fromHex(ValidatorPubKey2).get() - publicKey3 = ValidatorPubKey.fromHex(ValidatorPubKey3).get() - response1 = await client.signData(publicKey1, request) - response2 = await client.signData(publicKey2, request) - response3 = await client.signData(publicKey3, request) - - check: - response1.isOk() - response2.isOk() - response3.isOk() - response1.get().toValidatorSig() == sres1.get() - response2.get().toValidatorSig() == sres2.get() - response3.get().toValidatorSig() == sres3.get() - - finally: - await client.closeWait() - asyncTest "Signing aggregation slot (getSlotSignature())": let sres1 =