Search in sources :

Example 1 with DepositMessage

use of tech.pegasys.web3signer.core.service.http.handlers.signing.eth2.DepositMessage in project web3signer by ConsenSys.

the class Eth2DepositSigningAcceptanceTest method verifyDepositData.

private void verifyDepositData(final Map<String, String> depositData) throws IOException {
    final String publicKey = depositData.get("pubkey");
    final DepositMessage depositMessage = new DepositMessage(BLSPubKey.fromHexString(publicKey), Bytes32.fromHexString(depositData.get("withdrawal_credentials")), UInt64.valueOf(depositData.get("amount")), Bytes4.fromHexString(depositData.get("fork_version")));
    final Eth2SigningRequestBody requestBody = new Eth2SigningRequestBody(ArtifactType.DEPOSIT, null, null, null, null, null, null, null, null, null, depositMessage, null, null, null);
    final Response response = signer.eth2Sign(publicKey, requestBody, TEXT);
    final Bytes signature = verifyAndGetSignatureResponse(response, TEXT);
    assertThat(signature).isEqualTo(Bytes.fromHexString(depositData.get("signature")));
}
Also used : Response(io.restassured.response.Response) DepositMessage(tech.pegasys.web3signer.core.service.http.handlers.signing.eth2.DepositMessage) Bytes(org.apache.tuweni.bytes.Bytes) Eth2SigningRequestBody(tech.pegasys.web3signer.core.service.http.handlers.signing.eth2.Eth2SigningRequestBody)

Example 2 with DepositMessage

use of tech.pegasys.web3signer.core.service.http.handlers.signing.eth2.DepositMessage in project web3signer by ConsenSys.

the class Eth2RequestUtils method createDepositRequest.

private static Eth2SigningRequestBody createDepositRequest() {
    final Bytes4 genesisForkVersion = Bytes4.fromHexString("0x00000001");
    final DepositMessage depositMessage = new DepositMessage(BLSPubKey.fromHexString("0x8f82597c919c056571a05dfe83e6a7d32acf9ad8931be04d11384e95468cd68b40129864ae12745f774654bbac09b057"), Bytes32.random(new Random(2)), UInt64.valueOf(32), genesisForkVersion);
    final Bytes32 depositDomain = compute_domain(Domain.DEPOSIT, genesisForkVersion, Bytes32.ZERO);
    final Bytes signingRoot = DepositSigningRootUtil.compute_signing_root(depositMessage.asInternalDepositMessage(), depositDomain);
    return new Eth2SigningRequestBody(ArtifactType.DEPOSIT, signingRoot, null, null, null, null, null, null, null, null, depositMessage, null, null, null);
}
Also used : DepositMessage(tech.pegasys.web3signer.core.service.http.handlers.signing.eth2.DepositMessage) Bytes(org.apache.tuweni.bytes.Bytes) Random(java.util.Random) Bytes4(tech.pegasys.teku.infrastructure.bytes.Bytes4) Eth2SigningRequestBody(tech.pegasys.web3signer.core.service.http.handlers.signing.eth2.Eth2SigningRequestBody) Bytes32(org.apache.tuweni.bytes.Bytes32)

Aggregations

Bytes (org.apache.tuweni.bytes.Bytes)2 DepositMessage (tech.pegasys.web3signer.core.service.http.handlers.signing.eth2.DepositMessage)2 Eth2SigningRequestBody (tech.pegasys.web3signer.core.service.http.handlers.signing.eth2.Eth2SigningRequestBody)2 Response (io.restassured.response.Response)1 Random (java.util.Random)1 Bytes32 (org.apache.tuweni.bytes.Bytes32)1 Bytes4 (tech.pegasys.teku.infrastructure.bytes.Bytes4)1