Skip to content

Instantly share code, notes, and snippets.

@benjaminion
Created July 10, 2019 15:26
Show Gist options
  • Save benjaminion/36e3e4f1a7fec1a05ddc4232a7d97d93 to your computer and use it in GitHub Desktop.
Save benjaminion/36e3e4f1a7fec1a05ddc4232a7d97d93 to your computer and use it in GitHub Desktop.
Ingesting the Eth2 reference tests
/*
* Copyright 2019 ConsenSys AG.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*/
package pegasys.artemis.reference;
import static org.junit.jupiter.api.Assertions.assertEquals;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import com.google.errorprone.annotations.MustBeClosed;
import java.io.IOException;
import java.io.InputStream;
import java.io.UncheckedIOException;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Stream;
import org.apache.milagro.amcl.BLS381.BIG;
import org.apache.milagro.amcl.BLS381.ECP2;
import org.apache.milagro.amcl.BLS381.FP2;
import org.apache.tuweni.bytes.Bytes;
import org.apache.tuweni.bytes.Bytes32;
import org.apache.tuweni.bytes.Bytes48;
import org.apache.tuweni.io.Resources;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
import tech.pegasys.artemis.util.mikuli.BLS12381;
import tech.pegasys.artemis.util.mikuli.G2Point;
import tech.pegasys.artemis.util.mikuli.KeyPair;
import tech.pegasys.artemis.util.mikuli.PublicKey;
import tech.pegasys.artemis.util.mikuli.SecretKey;
import tech.pegasys.artemis.util.mikuli.Signature;
/*
* The "official" BLS reference test data is from https://github.com/ethereum/eth2.0-tests/
*/
class BLSTestSuite {
// TODO: reinstate the official tests once they have been updated
// private static String testFile = "**/bls/test_bls.yml";
private static String testFile = "**/test_bls_tmp.yml";
@ParameterizedTest(name = "{index}. message hash to G2 uncompressed {0} -> {1}")
@MethodSource("readMessageHashG2Uncompressed")
void testMessageHashToG2Uncompressed(
LinkedHashMap<String, String> input, ArrayList<ArrayList<String>> output) {
long domain = Bytes32.fromHexString(input.get("domain")).getLong(24);
Bytes message = Bytes.fromHexString(input.get("message"));
G2Point referencePoint = makePoint(output);
assertEquals(referencePoint, G2Point.hashToG2(message, domain));
}
@ParameterizedTest(name = "{index}. message hash to G2 compressed {0} -> {1}")
@MethodSource("readMessageHashG2Compressed")
void testMessageHashToG2Compressed(
LinkedHashMap<String, String> input, ArrayList<String> output) {
long domain = Bytes32.fromHexString(input.get("domain")).getLong(24);
Bytes message = Bytes.fromHexString(input.get("message"));
G2Point actual = G2Point.hashToG2(message, domain);
Bytes48 xReExpected = Bytes48.leftPad(Bytes.fromHexString(output.get(0)));
Bytes48 xImExpected = Bytes48.leftPad(Bytes.fromHexString(output.get(1)));
Bytes expectedBytes = Bytes.concatenate(xReExpected, xImExpected);
Bytes actualBytes = actual.toBytesCompressed();
assertEquals(expectedBytes, actualBytes);
}
@ParameterizedTest(name = "{index}. private to public key {0} -> {1}")
@MethodSource("readPrivateToPublicKey")
void testPrivateToPublicKey(String input, String output) {
SecretKey privateKey = SecretKey.fromBytes(Bytes48.leftPad(Bytes.fromHexString(input)));
PublicKey publicKeyActual = new PublicKey(privateKey);
PublicKey publicKeyExpected = PublicKey.fromBytesCompressed(Bytes.fromHexString(output));
assertEquals(publicKeyExpected, publicKeyActual);
}
@ParameterizedTest(name = "{index}. sign messages {0} -> {1}")
@MethodSource("readSignMessages")
void testSignMessages(LinkedHashMap<String, String> input, String output) {
long domain = Bytes32.fromHexString(input.get("domain")).getLong(24);
Bytes message = Bytes.fromHexString(input.get("message"));
SecretKey privateKey =
SecretKey.fromBytes(Bytes48.leftPad(Bytes.fromHexString(input.get("privkey"))));
Bytes signatureActualBytes =
BLS12381
.sign(new KeyPair(privateKey), message.toArray(), domain)
.signature()
.g2Point()
.toBytesCompressed();
Bytes signatureExpectedBytes = Bytes.fromHexString(output);
assertEquals(signatureExpectedBytes, signatureActualBytes);
}
@ParameterizedTest(name = "{index}. aggregate sig {0} -> {1}")
@MethodSource("readAggregateSig")
void testAggregateSig(ArrayList<String> input, String output) {
ArrayList<Signature> signatures = new ArrayList<>();
for (String sig : input) {
signatures.add(Signature.fromBytesCompressed(Bytes.fromHexString(sig)));
}
Bytes aggregateSignatureActualBytes =
Signature.aggregate(signatures).g2Point().toBytesCompressed();
Bytes aggregateSignatureExpectedBytes = Bytes.fromHexString(output);
assertEquals(aggregateSignatureExpectedBytes, aggregateSignatureActualBytes);
}
@ParameterizedTest(name = "{index}. aggregate pub keys {0} -> {1}")
@MethodSource("readAggregatePubKeys")
void testAggregatePubKeys(ArrayList<String> input, String output) {
ArrayList<PublicKey> publicKeys = new ArrayList<>();
for (String pubkey : input) {
publicKeys.add(PublicKey.fromBytesCompressed(Bytes.fromHexString(pubkey)));
}
Bytes aggregatePublicKeyActualBytes =
PublicKey.aggregate(publicKeys).g1Point().toBytesCompressed();
Bytes aggregatePublicKeyExpectedBytes = Bytes.fromHexString(output);
assertEquals(aggregatePublicKeyExpectedBytes, aggregatePublicKeyActualBytes);
}
@MustBeClosed
private static Stream<Arguments> findTests(String glob, String tcase) throws IOException {
System.out.println(glob);
return Resources.find(glob)
.flatMap(
url -> {
try (InputStream in = url.openConnection().getInputStream()) {
return prepareTests(in, tcase);
} catch (IOException e) {
throw new UncheckedIOException(e);
}
});
}
@MustBeClosed
private static Stream<Arguments> readMessageHashG2Uncompressed() throws IOException {
return findTests("**/bls/msg_hash_g2_uncompressed/g2_uncompressed.yaml", "test_cases");
}
@MustBeClosed
private static Stream<Arguments> readMessageHashG2Compressed() throws IOException {
return findTests("**/bls/msg_hash_g2_compressed/g2_compressed.yaml", "test_cases");
}
@MustBeClosed
private static Stream<Arguments> readPrivateToPublicKey() throws IOException {
return findTests("**/bls/priv_to_pub/priv_to_pub.yaml", "test_cases");
}
@MustBeClosed
private static Stream<Arguments> readSignMessages() throws IOException {
return findTests("**/bls/sign_msg/sign_msg.yaml", "test_cases");
}
@MustBeClosed
private static Stream<Arguments> readAggregateSig() throws IOException {
return findTests("**/bls/aggregate_sigs/aggregate_sigs.yaml", "test_cases");
}
@MustBeClosed
private static Stream<Arguments> readAggregatePubKeys() throws IOException {
return findTests("**/bls/aggregate_pubkeys/aggregate_pubkeys.yaml", "test_cases");
}
@SuppressWarnings({"unchecked", "rawtypes"})
private static Stream<Arguments> prepareTests(InputStream in, String tcase) throws IOException {
ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
Map allTests = mapper.readerFor(Map.class).readValue(in);
return ((List<Map>) allTests.get(tcase))
.stream().map(testCase -> Arguments.of(testCase.get("input"), testCase.get("output")));
}
/**
* Utility for converting uncompressed test case data to a point
*
* <p>The test case data is not in standard form (Z = 1). This routine converts the input to a
* point and applies the affine transformation. This routine is for uncompressed input.
*
* @param coords an array of strings {xRe, xIm, yRe, yIm, zRe, zIm}
* @return the point corresponding to the input
*/
private static G2Point makePoint(ArrayList<ArrayList<String>> coords) {
BIG xRe = BIG.fromBytes(Bytes48.leftPad(Bytes.fromHexString(coords.get(0).get(0))).toArray());
BIG xIm = BIG.fromBytes(Bytes48.leftPad(Bytes.fromHexString(coords.get(0).get(1))).toArray());
BIG yRe = BIG.fromBytes(Bytes48.leftPad(Bytes.fromHexString(coords.get(1).get(0))).toArray());
BIG yIm = BIG.fromBytes(Bytes48.leftPad(Bytes.fromHexString(coords.get(1).get(1))).toArray());
BIG zRe = BIG.fromBytes(Bytes48.leftPad(Bytes.fromHexString(coords.get(2).get(0))).toArray());
BIG zIm = BIG.fromBytes(Bytes48.leftPad(Bytes.fromHexString(coords.get(2).get(1))).toArray());
FP2 x = new FP2(xRe, xIm);
FP2 y = new FP2(yRe, yIm);
FP2 z = new FP2(zRe, zIm);
// Normalise the point (affine transformation) so that Z = 1
z.inverse();
x.mul(z);
x.reduce();
y.mul(z);
y.reduce();
return new G2Point(new ECP2(x, y));
}
}
fork: tchaikovsky
summary: Test vectors for BLS signature
test_suite: bls
title: BLS signature and aggregation tests
version: 1.0
case01_message_hash_G2_uncompressed:
- input: {domain: '0x00', message: '0x0000000000000000000000000000000000000000000000000000000000000000'}
output:
- ['0x091e0a8468302b0d77c06a2ef8eb7f333b742e10f0f0de240929a7afd2f59999c1d2f6eca9f44a0afe5da699578d416e',
'0x09e340b0dd91932333cb24e8dbe7f440bd653ef6ec22b52162724f77a9f9effa75a3703b9ae9286275e6f9e2654b5e7c']
- ['0x059fc7614fb6383fa3fc835428f3fd2d5b8625db7ad90b5c28ce252b2c9522b37928d0ba7cf1e06ed953b6283b7130be',
'0x15aa7f9f98d859eabe0ba22e1aba008159a3c06c8d5fae36a394ca06c880fc3ab00aa1bec4c2c27eb9f17b70c217e492']
- ['0x09212a65da4bdcca6e96a97561e0a7424c78fc7db03ed23fd0510371323aeee1221f38f6121ec879a055fc32d849cbc5',
'0x0a02bd458be0696e7d285da2ec0e8c7fd21407fee4663c0aeb2b26c3be0ff0b57de8d0a76d73777c99b8826a873f8600']
- input: {domain: '0x01', message: '0x0000000000000000000000000000000000000000000000000000000000000000'}
output:
- ['0xe26e02d6df35a5faafab6fffb21332035b8397daeaf87140068203ee63d92e3773442598f88011995f63de1f8780de',
'0x0e894ea3b19e64a0d4e6e77a8f375a8661afe3b4b3725a5c729eefba44411035d6ae2b93ec3b3e6906c01bb8cb2c0491']
- ['0x1132d79424afcd5e31b8c52ddeb9c5fd064b6d606e50957e0411fa5257cf316b61e38a6fe00cf1dfc30484f366b96f9a',
'0x0acd40b081b4ee4cd7deb194e82734a4f82ad4d4d514f22e9b14ef81b3bd6376af2334dc60f87295f3084f0626ca2555']
- ['0x13e32e5989ffdb9ace39c3f5ddae5941b971939043c352c3ae13c46318e98a0deeb28373cfa1d41b003b077368919d93',
'0x08b457796dcb73cf6d3b132c47b2274d992065193c96f60a341aba44dcb6f360c624faf3466e5f7662f6555d97132392']
- input: {domain: '0x04d2', message: '0x0000000000000000000000000000000000000000000000000000000000000000'}
output:
- ['0x08f5cf965a46e42a57c194a0fddd690a9bf32a9f201f28e1c40251d4b9e76a2194d5855564badc20d0ed9e6194e13274',
'0x1483db6ce1aa1064d2d94a9bb88f6ac65b45c7651fcb40fb5fc8889da14c0c8b270c993978fa133f798d84c53767f6a7']
- ['0x148789c04b9a92a11ffee6151c3fd7a93edff1924a63e3239fb44bcab75d65d4759ccced360cce72245dd9b3f82f2587',
'0x0981400748e31e21448fdc0ab493045de60016dec72c4a897284c30676d5eb46719cfc8dac5b6244b9928c2a1d4307f5']
- ['0x0c71f8088d247ddcd22f7dec476d093a9e727a6af44a882eb67f8253b7d1aa775f503296458f24e85db30b488f669e77',
'0x0b19a7c147777913eafa3fa702e4b71049bc0866652bb248f1b91493bde8b6040d6fff1d58deac5d9747426c0c1edd5c']
- input: {domain: '0xffffffff', message: '0x0000000000000000000000000000000000000000000000000000000000000000'}
output:
- ['0x08e59ab4518c8b61bd5352028fee6d4d66e5008a07ce15b44c83cb716c4a7976efd5d865aafb161172476f9f9b4d922d',
'0x0ea1fe208b29296311abdb63a9fe59dd5dd4a8c9268f20f532e9824f79c456f2c97fa11e86fb5e34d369f844efdb6d4f']
- ['0x0bf510afc150f57af0dfc88bd3c9e31b421d69e94a9cb61927d1eafd603c26584d18e22222e75a1d61832b3c1a14c036',
'0x089fc1a08055c436eef9c7760f11080bbe56a7e9896c0aab7624c4380b3f2df7ac41e5c281965ded76b227c63430c950']
- ['0x077824f3acb178435b9978bb2e1f6fc7b01903930b2960a1acc43633398a0e92e4eee39d8036148c8223d726e908bfff',
'0x0bf99e3a498fa299a824d521a5720bed60cb7999e6c249a8c7f3b8c3e826b74896fa360c69d4d17a3ad9c5529f3512eb']
- input: {domain: '0xffffffffffffffff', message: '0x0000000000000000000000000000000000000000000000000000000000000000'}
output:
- ['0x0776e20318e22d70420b647dcd855bc0778ef8b771f3fb483056f187448ea57350e6cd7034a0194bc27f532854671578',
'0x019d5db53807117945cf46f564367ee6558723f4b41867306295764a447da764544e921b7e9b172d824e55fd005224db']
- ['0x14eb4f85bec5617984bc2c1fb5647375f8be756b525550b1e6e02c74c6ad826bd0eae110a78d0ece05d8f9acb8250240',
'0x13afa1ea0a9e99d2f8569b8305b627579092d37764f32d84663294e5c00ccf4b84c1dac70126f5f3c938d578e29263db']
- ['0x146112798d48e62a40a6c87ad036cad84c75ef49ebe7d5cda8f3734bb22a430ea0c951c8380498633b1d492b5da2d252',
'0x1960b46a47741c7cdeca7aa1918d9fdee126cf27e476e1de637ba1755fece3dfc8cae5d892a198b0ac6ea6c32418f350']
- input: {domain: '0x00', message: '0x5656565656565656565656565656565656565656565656565656565656565656'}
output:
- ['0x12487aac703aed24c2fdb082ee20fdc34a55615ab09e5f5a0bf82027ecc88550e867b4ae0b21bca63fdf7baab4bcb282',
'0x048a86cd32305cf099c601bf8ef079c79c5fbb13fa152906ec62a449e2105fbdbded3bed30958aec4ed344688f33c210']
- ['0x0e53ec2fc3da59491c1e2773f0dea4e35d736ff87219b86c15dfbc769403d9b14e732a1687bddc0485afe6e51c0d5e6b',
'0x18534ff48f5f9b9a8d480c5cc8aa8bd97e800f389955371348f481e69fd4c364619f951a7ddd3f2994bff349bade952f']
- ['0x05b2385a62debae543861be7ea540ee2a35e119c9048dd0338b01235ce9517dc12d2f600ef8a317998879af2153a8493',
'0x0cacb7102835c1e7dc28a50e3929d76bbdad8b69ed57114e9a0475a3ab50b35f738d52996146d152e2883a2ee5e3d6be']
- input: {domain: '0x01', message: '0x5656565656565656565656565656565656565656565656565656565656565656'}
output:
- ['0x0f2f7a1c5c09029a95f164d9c3088000402253973e075a932ead02b8ebf284765235cbf297eb234f71e4603790253614',
'0x03a1a164c47e4b7697d7ed473a1b01a557327f24bcf533b84df50d045c0600070ed8b821ab87f8a0fc06b6c91816468f']
- ['0x1a007bf69e4e7d853d897fbec480dfdc319af10e6d7f9b7e7caeb6a610d88d64abb35614b78f09bcc691df43541f9b00',
'0x06937c718f5eb585a74db5da5ebec979c09ea5a6141ee609f9aa68fd3425cd8c56747083362d7c56d58cdfc0299bd263']
- ['0x122bca723179ae28468e05600d0c9312e3b8ca42bebcf7ce3d3394b3f6f9bff1220ec1e4f31a7359c88afe3f8e7cc220',
'0x058533ca5a6fd66d0c66d2dc8c50a91ccef225a37bd5abe735e55b2e80248bedc0991e4159748a95fc48b6808f96b567']
- input: {domain: '0x04d2', message: '0x5656565656565656565656565656565656565656565656565656565656565656'}
output:
- ['0x0a48c2a30c23ee3c2effb057fe5bb183d73d1f3030aa2e02d11f4d08a715ebf79aef67f3ed585b593b2b6233278295e1',
'0x0cfcc87ac37ebfecdb3711f52f59854260e04f23ba1097ce7928e147b54ce75d0cf51e489d7fd19a2f86e90228e8e013']
- ['0x1095983309591b175fcf3fdffc88b9a3f4f1f0d3b9e07cea3787b2ee3185659859a26f56bbddd84c987414c9f26d96e8',
'0x01aa46eba765c64ee29186e4bc1fec6dee02c27c9c4a8b0b0f86e2db25f208071f5ecf31a18549e41f3719fd99f9f2b2']
- ['0x044e9d6613d5ed35a04cc12941defe95af93540295a3de0ebd16b4ca919fc9a05c1d7e918dc7fd06659a1b4d8e9980c9',
'0x0c563d4cb8f1b657a0183a71174b08a12bd66640639a1672bfe45b854a7352ef6b1f26ee67652324ceedef8406a2b535']
- input: {domain: '0xffffffff', message: '0x5656565656565656565656565656565656565656565656565656565656565656'}
output:
- ['0x091a809b4980a8742b390be2926dd9c742d2d5f58e0c12dc189b600e131462d613600e528a7de3b288afa03c749f1a10',
'0x0ecbb1ea68e6cd899449863fe0dd4b0432d94dd53e791c8a76898f3afae1738b7d3077a26cc2e756184d50fe1fb6d431']
- ['0x145ce7e7b436f99d445ecabee73da5e8987de798607b60434f9c5949cb3e9779ae867bd1079a1814158e50e1e21c6c7d',
'0x12428f3c6e9233f62e83d88dab66bfed2c6a2f205bb6030563d01ac2a9d8b56d2d090db063da592871caf038f533c393']
- ['0x0d762069b98b61da3ad5c427514b96765c757dcb4ee878dbcdd0885b6f967f0a0bfd3d96d68b07ce8c76d9b7e9bef6f3',
'0x10c7f38dc9cd7248f0784db0e70bb02409a74bfc0f466ab3ee3e76caedf4fd42166b5f7ef25d2dc4ea974aacab6c92eb']
- input: {domain: '0xffffffffffffffff', message: '0x5656565656565656565656565656565656565656565656565656565656565656'}
output:
- ['0x0b6db1a9922038dacd1c5e98e440e95ccc6ad8b3ed88c20bc0dbbba3822f985c4ac30422d88c8faf579588e728d9ceaf',
'0x18982c760d4ec498aa0cbdbeed9cad5e61ff04e11976207cfe8cb7876d5d3601f3ec5a04d991f90dbff0af7d7ea8b1a3']
- ['0x144ab1ee8e1eddf6870c0c1610c1326e96e718767363e241918f94acfb894c3b9e3e215feefb8317e83a229b8227657a',
'0x0f8e9ec338b7819f4c25332c0fdbda6945545c59e411b559205e47cc77bafbf3602012c78aa633e1b46db3e3e9627ab9']
- ['0x03708dd06d7975e50487370ff1a98c294465bb164ca7121796492a31646b8c2ab4477f941feac3005c936ccab480e5c3',
'0x0c6d6d360f13fc59c2a29b85bec971d01aa33571a7a11e292b29cd9d2ab2d5970c8db62ab9faa66defe55bc43be6b66b']
- input: {domain: '0x00', message: '0xabababababababababababababababababababababababababababababababab'}
output:
- ['0x11822c5a07b7549d8a0e2627f905f708dafe2244d3b29047a718e25bffb781dc4ca07e4bd4f10e5b5be1b153f11489fd',
'0x04cd2a4e9c33ff9a352c202a12e568616b8a383ad70b79e73c6847651c8d7bcaabb3b3ee0a8963a82eb787a6316a9db8']
- ['0x010356d7f69a09686a86ae988c7980b49f2573e708c66d2dc8bb7da6985fcc2a8afcfac46a8837143147cf448c57d771',
'0x060d335d8a30fff65a69ee3ea31bdaae0f72ec9741b3accfca77076e22f40b482e898d9e8cc945f4e5bc3a5c29f2e3ed']
- ['0x15d14cd79603a287cd2e3e8c19f831d1618992668d99bf992ed690ccd6610127db4969c8a6b5870bb5441e6ce9eca92d',
'0x0cabe32e83bde5230a65dfd057a2750d9ab8819b44a9f7d7709097b5fd08c01a373cb92ef46d05d0cc4e9ccc47152fcd']
- input: {domain: '0x01', message: '0xabababababababababababababababababababababababababababababababab'}
output:
- ['0x033836effbb7a62b506b9856ba057738822c6954dfb284978e71f3671b7ecb3eb48c5bb3cdb9602b309b9a29abbd77cf',
'0x15e3bf6fa43faca65a0625cbd81acd6cc0fa3eb3bbe1888f191c25a05ee5b67078ea5d29e1552b5a16ef7d7bb11fc83f']
- ['0x160679e25cf5f1cfabf9fc649de2a41ffd7075a5db97b2f85ceb3962772741efa8dfb6475846571ec32bb0f6422b6f93',
'0x10600809678e7ce1ad868b56ea72feca7a021682dc418775e4a69d7753e8bf1c92454e1b1bc57c030cb6f3e2fc226c28']
- ['0x166fb015ccc479a4951fbdeff69464e22dfe45ad6173059066a431b2bf3c21932c059af6ff8a5e5cfef8a26a4003b179',
'0x0883a7ca2d0e49a22e447a089775c7dc8bff1a2c675df03d88343dddbe805db53e6236c75ab44166ca04c60b1299e563']
- input: {domain: '0x04d2', message: '0xabababababababababababababababababababababababababababababababab'}
output:
- ['0x033e8377ab8d72b83e5a093fefabcf45b92f06577eddaa09539b6a49451f757ef3eafe9b834d1e132806d87059df9126',
'0x0aee6d3d665490cb0293b7c0667e8c18ba8ac04e1c11ded9343a9947b7ade6dcb9428cea919e710e54437aef43af0034']
- ['0x0bdb669987f5470ddfe3c530083b36402fb750e04b052e57c9a0beef20e640e901d667b893d2c8f92ab43eb94418c30c',
'0x18a30ce587f6d317d2ba1b0f9342519b024206f1f3cf62a65ac7eb4d5fffdb1c40c66bc3fa396bdefae920fa76191960']
- ['0x093ef4ff9deed2cfd5638539e1bb6a3a4c3bfbaf2a7d6ec79b905ae2a8fbc97fe5a01b965a91606d0550c3b7e40e18f8',
'0x059703ad03b7b5526bdb2a9718bde05aa60d6e2a3dce2866952cf222ce95ce7064ab07245addfa0b2fcf38e8a33d0ab5']
- input: {domain: '0xffffffff', message: '0xabababababababababababababababababababababababababababababababab'}
output:
- ['0x153182dc8f9fb5f648995e30c3cb4073f8de1ff1be4dc7c838c4659a6ba6dd848b632bd62857e1d6f9f9e70fbed7d21f',
'0x07616cb9d974a93edef9406e0327ec7d6dc0d2ffe8dc867c77faf34f1d05accdbdbf3dfe17f2e1ff04a30558695912c7']
- ['0x04902a43a680b2977e02caa2bc1fa245c317c2f1d96143ac1e916585ff38631d7b77f94113f6f90c4bfe98ed8012d03b',
'0x0a6fef57e4987ba8e1ba1f849ec495feabc8d4d76669307fc610b35b248fed5fb90dffb4a28c6fc8b8a9f4d64b00945f']
- ['0x0ae9fee020791d18e1a58bab70881aab2e21b88f14ff96e20049145f16b356ff6b41955d1c86ed1d97e19f4a75563a80',
'0x0b9f3b274fde3ef6f518a2929b052e721c786d78ba9f42803875d3333a58b0765c7cf29cc36223ae8987d45cb3c9390f']
- input: {domain: '0xffffffffffffffff', message: '0xabababababababababababababababababababababababababababababababab'}
output:
- ['0x0359bbd010b368e4da1776b8a3256444e4e0129c280dd683a3ba395d794b56805b1cf52a0e3544440525945031e0a84d',
'0x0f05ac2e8dfea8a16f18a28b2033877e274a1fa2de4808119ec36ece4d7befa53cfc2df545c5ff9bebc497d60ddedbdb']
- ['0x149574d4672148365d9df2ff77539937640eff473bc3d166f350bb02c63df2eca0419e25943f0d53e5e78a41b375f74a',
'0x0f6f874924bf9905ccd69acbc1ce269f77dcab6a4c02d6403687638eb060faeb6d6c8c0b2c53e426965f3ee66bc7b3']
- ['0x031da298c0763853ee067b77aeaa8ae4e3091b504d4b2d50aee9d85a6bbb846cb08645c9a69d9c403ba1deab43f97b1d',
'0x06adb753c55819627d11e142fff77b4291549215e5852c6e3eafea33697e18ff712b9d38faae265261997ad0d3499894']
case02_message_hash_G2_compressed:
- input: {domain: '0x00', message: '0x0000000000000000000000000000000000000000000000000000000000000000'}
output: ['0xa666d31d7e6561371644eb9ca7dbcb87257d8fd84a09e38a7a491ce0bbac64a324aa26385aebc99f47432970399a2ecb',
'0x0def2d4be359640e6dae6438119cbdc4f18e5e4496c68a979473a72b72d3badf98464412e9d8f8d2ea9b31953bb24899']
- input: {domain: '0x01', message: '0x0000000000000000000000000000000000000000000000000000000000000000'}
output: ['0xa63e88274adb7a98d112c16f7057f388786496c8f57e03ee9052b46b15eb0166645008f8cc929eb4475e386f3e6f1df8',
'0x1181e97fac61e371a22f34a4622f7e343ca0d99846b175a92ad1bf1df6fd4d0800e4edb7c2eb3d8437ed10cbc2d88823']
- input: {domain: '0x04d2', message: '0x0000000000000000000000000000000000000000000000000000000000000000'}
output: ['0xb090fbc9d5c6c80fec73c567202a75664cd00c2592e472a4d81d2ed4b6a166311e809ca25eb88c5d0189cbf1baa8ea79',
'0x18ca20f0b66678c0230e65eb4ebb3d621940984f71eb5481453e4489dafcc7f6ee2c863b76671467002a8f2392063005']
- input: {domain: '0xffffffff', message: '0x0000000000000000000000000000000000000000000000000000000000000000'}
output: ['0xa0116cfad2b6e4998084fc0f19bdbc4bfddcbb255b17a15e79814ecb79a42ec9fca9bf87357cf8d3d89d62f119f4fd77',
'0x0f6ac6c16cb64441a11c4eb773e9abdea1b43ccbf4f7e6b468901cf46a13b317c5d8a93fb3fd3dedb86a9351789489a2']
- input: {domain: '0xffffffffffffffff', message: '0x0000000000000000000000000000000000000000000000000000000000000000'}
output: ['0xb5a041a07d1c082c5fbeb346207cb2be92c5d969801ab3a6b4fa810d645726890358e33ccb61f9bcd3cb5f113b15febb',
'0x0a500507fff742445e84b62b3e0bdd911a6c11a8294139f99e60e4cf314d0d97f13a8e6cd629fbbd63ed6b987d7eaac9']
- input: {domain: '0x00', message: '0x5656565656565656565656565656565656565656565656565656565656565656'}
output: ['0xa8977b154329a172e95dce9be1646186ad0686d05c10072835abb811c40667849a670275caf7d12dab08fc1c86d7bbe2',
'0x01e3810617d7b31e37a2d341b153cd14121ed280afd941b185843646c8cef3fced918cc36545d7bba2e61a232b31db0d']
- input: {domain: '0x01', message: '0x5656565656565656565656565656565656565656565656565656565656565656'}
output: ['0x884eb2c1131b7a11d1d629578b3d9847a7e5ced53265541bcbc283c41be442dee008381769de75be424f50abcadc4ec6',
'0x196ebb76ef93b5c1b9b4adfa60d8526cbf64a3d681dc1aa4d0579c1961f28f0ec14622d6f5688e6d29a4873778b4f0fe']
- input: {domain: '0x04d2', message: '0x5656565656565656565656565656565656565656565656565656565656565656'}
output: ['0x8e75851751157140bd21a78cea0b0bbc63303bd3c74fe6388140c4a0b1b3b4bd133670d8ce5674d61eecfc7c920b4b20',
'0x04ac2a669a198079826a689c0ec71b900c4af7396ede30b5e877f882106683e2bc769c867736e054c58add9c66f5de30']
- input: {domain: '0xffffffff', message: '0x5656565656565656565656565656565656565656565656565656565656565656'}
output: ['0x8bacb6660a1460f8fca7b1db88d21526d03d12f8f2728e1887227472ed8c41fcf178ed2ae9d422fff0d6df84b0119234',
'0x038f10ec38c9353a08e61d5b6c9edf31657c5bd8d110c861c1a705d71ae25836c27b23a6dcffee81fbf1096e8f24ebc9']
- input: {domain: '0xffffffffffffffff', message: '0x5656565656565656565656565656565656565656565656565656565656565656'}
output: ['0xb457b7f3adcfb11d4e805af987ecc111e0ded6d2f07b713afcd1ecf2fc321dccc0033e0daca8213a537484d066945b54',
'0x18f9dceac06965463a49f2f32b9173919efeadc56dcec097e6028b3dd9a357a75ec558cd67805d31450472ead7546e51']
- input: {domain: '0x00', message: '0xabababababababababababababababababababababababababababababababab'}
output: ['0x8c775c88a647978227cf65664fe7625e7485ed6d537c0380ebd61214c3ce6b4bc0e91480e131bc14f32aa5040d1718b6',
'0x076c016b137d3cfc9fa5eba7773d4c3bfefbbc2ab64289b56c0bbfe598fefd52c77e20406ae1fb0b0347b6180463cfdb']
- input: {domain: '0x01', message: '0xabababababababababababababababababababababababababababababababab'}
output: ['0x8e810ed3e6b568efb31a9b0f49192375fb88d065aba5aff4656c91ffb774f67ac6bab96257a0b129fa7c488397009232',
'0x08d7d9d7a7cbe77fb3413a84e7d72fd23ea107dcdeb1dd36485fef1b135227bbb34917ccdbeecbe8d7ed3b9656e6f402']
- input: {domain: '0x04d2', message: '0xabababababababababababababababababababababababababababababababab'}
output: ['0x8f13604332fa0eb1af9ac44619b4d39f1fa45f611c8887f4627846523324e8a8906cdb41d0ddb6e76063e937db01b44d',
'0x08282eeb145184268a5fe79078c15947a21d6dce083c6e5547e3be40c2cdf1b5e8bfcf902b3d1d2c803dcc8d8e76f110']
- input: {domain: '0xffffffff', message: '0xabababababababababababababababababababababababababababababababab'}
output: ['0xb7635a29dd13a560dfeded38d5acd84a7a233c09eb95fa6d428cbcde961844aceeb60a213df04d0e23cd2ddff2a41a1a',
'0x028e556fee1ff0ee37363297db11471e74991156a558d9ce038d1abb5ce07878e52168efd253725247f7db99da592dbe']
- input: {domain: '0xffffffffffffffff', message: '0xabababababababababababababababababababababababababababababababab'}
output: ['0xb4ce26a6c838e4d3ecef7e074947228d1e28a4681fbc070f1deb745f253176257c72b596a31cc8ed837a31ce28c695be',
'0x061d40a8dd95d2b5def3bcd905bd2d18c626b3ff7b7a79908a243e84d4c833172acd9d47bf7fcc0c05ecbed396b8176b']
case03_private_to_public_key:
- {input: '0x263dbd792f5b1be47ed85f8938c0f29586af0d3ac7b977f21c278fe1462040e3', output: '0xa491d1b0ecd9bb917989f0e74f0dea0422eac4a873e5e2644f368dffb9a6e20fd6e10c1b77654d067c0618f6e5a7f79a'}
- {input: '0x47b8192d77bf871b62e87859d653922725724a5c031afeabc60bcef5ff665138', output: '0xb301803f8b5ac4a1133581fc676dfedc60d891dd5fa99028805e5ea5b08d3491af75d0707adab3b70c6a6a580217bf81'}
- {input: '0x328388aff0d4a5b7dc9205abd374e7e98f3cd9f3418edb4eafda5fb16473d216', output: '0xb53d21a4cfd562c469cc81514d4ce5a6b577d8403d32a394dc265dd190b47fa9f829fdd7963afdf972e5e77854051f6f'}
case04_sign_messages:
- input: {domain: '0x00', message: '0x0000000000000000000000000000000000000000000000000000000000000000',
privkey: '0x263dbd792f5b1be47ed85f8938c0f29586af0d3ac7b977f21c278fe1462040e3'}
output: '0xb2cc74bc9f089ed9764bbceac5edba416bef5e73701288977b9cac1ccb6964269d4ebf78b4e8aa7792ba09d3e49c8e6a1351bdf582971f796bbaf6320e81251c9d28f674d720cca07ed14596b96697cf18238e0e03ebd7fc1353d885a39407e0'
- input: {domain: '0x01', message: '0x0000000000000000000000000000000000000000000000000000000000000000',
privkey: '0x263dbd792f5b1be47ed85f8938c0f29586af0d3ac7b977f21c278fe1462040e3'}
output: '0xa9f1e4d2b22d0a9119c70bab8597a47135b761f3852d978e61a8fa72867a06bd9a884f1ec57733013a4e244cfea30c420d3ff86651cf8dfd341c3dcb7441e949167387aee50a085d0a9ddeaee1540409a268e5698fb1daa2a552deaddb2d3528'
- input: {domain: '0x04d2', message: '0x0000000000000000000000000000000000000000000000000000000000000000',
privkey: '0x263dbd792f5b1be47ed85f8938c0f29586af0d3ac7b977f21c278fe1462040e3'}
output: '0xaa005163ec85b882c16bbb52b8bb4c0071cb9375c655370d37433ca660f0944ed85ba390d515f89789a5432b7fb8c4d409f83478064ee06f0fb3900203b665192318e836e3920e25dc3ed8127143441c215f2ef5fba7ab8a5769296456269b2e'
- input: {domain: '0xffffffff', message: '0x0000000000000000000000000000000000000000000000000000000000000000',
privkey: '0x263dbd792f5b1be47ed85f8938c0f29586af0d3ac7b977f21c278fe1462040e3'}
output: '0x8746bcba0d294c74b2704754732b48ab1ac2b55b8a516f3f01dc36b10ee0d2df0ea74a067f87fc0ec5950a753d1371ca0fbfb3b720d33191baa99e1d5c71c58487b814e808f38b6b96ccf398aaf543b770ed4b767ecd2816c2eee947242db4b5'
- input: {domain: '0xffffffffffffffff', message: '0x0000000000000000000000000000000000000000000000000000000000000000',
privkey: '0x263dbd792f5b1be47ed85f8938c0f29586af0d3ac7b977f21c278fe1462040e3'}
output: '0xacfa78b0b2e5aa2de40a389f8a8464d27e927e0c4e773bf9b3c97a7d100201054318931970adc5c9a9410792099b008e04e85806d32ce88d96b438240cd4c2beb25fa7b309de3f1e96a6f808dd6eaba49a73369e19c947b8f8d466943cf51793'
- input: {domain: '0x00', message: '0x5656565656565656565656565656565656565656565656565656565656565656',
privkey: '0x263dbd792f5b1be47ed85f8938c0f29586af0d3ac7b977f21c278fe1462040e3'}
output: '0x85d27abd0ddda0842800b29739a56de078a8b0f59659505968d27abe75a4aad458ae5b94790f33646946c77715b4758d0f7aad755ff582cf7994d8baf62c5d54a13e6ff66c5767895754a9ab7d61da39a21dcfc360a0c4cfb8ca31da097bc853'
- input: {domain: '0x01', message: '0x5656565656565656565656565656565656565656565656565656565656565656',
privkey: '0x263dbd792f5b1be47ed85f8938c0f29586af0d3ac7b977f21c278fe1462040e3'}
output: '0xa872cbce4105d18c5b5d7a6e80a7be5cc9c3ea869defe66aa4f1a43283e411fc11ca9babbfd1e16689830121cf9a1ac51469ce7c6e34ba35895d8c90bf562b767829a0289bffa0cdf1009a68c4cc52ab46a1789aad069297b0dda7afb427cf8d'
- input: {domain: '0x04d2', message: '0x5656565656565656565656565656565656565656565656565656565656565656',
privkey: '0x263dbd792f5b1be47ed85f8938c0f29586af0d3ac7b977f21c278fe1462040e3'}
output: '0x8d0bf6e812bea787ecbb98d8907a9beaeb4cfd241c5598d33fb938689453181e78e0375aaeb277d1cedd00c18d9abd4d0220d12174473896db5e31a77d24c826c68969b025bde89d5f68a91608bd8c3d8072d6a861d899863d98d8bc0dc1ab9c'
- input: {domain: '0xffffffff', message: '0x5656565656565656565656565656565656565656565656565656565656565656',
privkey: '0x263dbd792f5b1be47ed85f8938c0f29586af0d3ac7b977f21c278fe1462040e3'}
output: '0x893f33360dcd58acc558423bbe188f4a9aaf28c02c14b3074ac80ff8dc0f95fcd5e1056126612d9d31b17a48ea1e10ad1523298ddfadcd640dd094fdedf6943987adc04ceba38a93950cea23c8a48f3b59632dd8e50b4938b168f2afe957b327'
- input: {domain: '0xffffffffffffffff', message: '0x5656565656565656565656565656565656565656565656565656565656565656',
privkey: '0x263dbd792f5b1be47ed85f8938c0f29586af0d3ac7b977f21c278fe1462040e3'}
output: '0x970f39aaeb819a627bf4812de762d6be0673d850655af72e65713a16c10a2c3d33667ff8714b439fdf2b21ec8d13e5f50b8e6ade6da3f2071155ae87891b3d0407a22a155e77fcd54f1d35949d4529b92fa87def2d924c9c8ee14984d10f02d2'
- input: {domain: '0x00', message: '0xabababababababababababababababababababababababababababababababab',
privkey: '0x263dbd792f5b1be47ed85f8938c0f29586af0d3ac7b977f21c278fe1462040e3'}
output: '0xacf636eced095e9a349b1110ef730925417d9d279fee9a0b2f0cbf5723dff6f0cbb3eb75d829a756334a8b0a8935960e199fa398df8b7661c409bc046e1ea6a9e78fd1ac212626da5f06db344743f5ac643ebeb16bfc5451f172407c65519137'
- input: {domain: '0x01', message: '0xabababababababababababababababababababababababababababababababab',
privkey: '0x263dbd792f5b1be47ed85f8938c0f29586af0d3ac7b977f21c278fe1462040e3'}
output: '0xb475b4824d9a4d7c18347d9a65f5a666f93dd94c1ea8f1a1f7f9902de838bd56483a44e2e756e770c6d781d4fc6ba5f00e13eb2dd7e4dec291666853a0433a48fb4678ae83001118e9a341cf4b322e6cadad6c7c997b5e28f81893369a99dea5'
- input: {domain: '0x04d2', message: '0xabababababababababababababababababababababababababababababababab',
privkey: '0x263dbd792f5b1be47ed85f8938c0f29586af0d3ac7b977f21c278fe1462040e3'}
output: '0xa29d7fc6603264bce862bff6b871200bec1a1a6535f97296e4ce27cee32b90eaad414b115cb3ca35e71a86a111175d6316e27dcfd82c73be5c18b91b103e2e2eb6f8e5565f793fc6aca702fd83b959ffc8b032f2a110c475c47c273b6f7f71fc'
- input: {domain: '0xffffffff', message: '0xabababababababababababababababababababababababababababababababab',
privkey: '0x263dbd792f5b1be47ed85f8938c0f29586af0d3ac7b977f21c278fe1462040e3'}
output: '0x9601b2ccb01341fda3628ce472a9d8ba2162cfb3996862132f30a9de9fe64b0a81d2ac4791468a7a3220dd44ef7ceef60ab2978f5de3cf986d2d9f3d5e9113ba2b2ccd236fc5c5a692248a4fba5306fdeb9e8e7d36ee054d2a8d14492a8dfc17'
- input: {domain: '0xffffffffffffffff', message: '0xabababababababababababababababababababababababababababababababab',
privkey: '0x263dbd792f5b1be47ed85f8938c0f29586af0d3ac7b977f21c278fe1462040e3'}
output: '0xa1f8a795ebc4f1e6a231528782e17807167ff2a660ebef0d13f1f534c7aa77c185bb27157223dd0b47861976a02a87be17b7935923d3b929d82369778b0fc9db1f75f9aa856a4e639e235b79c8dd613da6a9e2856afee340ccde0761fcc4cc57'
- input: {domain: '0x00', message: '0x0000000000000000000000000000000000000000000000000000000000000000',
privkey: '0x47b8192d77bf871b62e87859d653922725724a5c031afeabc60bcef5ff665138'}
output: '0xa2e45aea3554d02b97c0355756815469ee04e837cb841e02fde18cb3cc2924ace90e03c1e6b407981ab0ab38884cc22a0c293ab7196ded8be31544ade7f733949db987b94ca8f7172b0c73b1f86459d8622d03ae6f8cd6285e4f785dba79639a'
- input: {domain: '0x01', message: '0x0000000000000000000000000000000000000000000000000000000000000000',
privkey: '0x47b8192d77bf871b62e87859d653922725724a5c031afeabc60bcef5ff665138'}
output: '0x865466aab93bba6b113673f87e9b4b32446a32d91eb835212f142381a5479ee6a92105c47835c631017af322efc4be7610285f22d4bdf039ee115c741b8734e42eaf5eefba68babc8408d808c131f842fff1ac0a7c6039d1de9d3786afa52848'
- input: {domain: '0x04d2', message: '0x0000000000000000000000000000000000000000000000000000000000000000',
privkey: '0x47b8192d77bf871b62e87859d653922725724a5c031afeabc60bcef5ff665138'}
output: '0x962d6d5da1fba9dfbf3d467a515c375da72539f4dbdd747c9c3f309fec40f4019bc8794b6d9f2ae8d6368d603ee3e251017eec7e78464f2c1a50890ed5d85d080c0f0815cd8e4d03b854fae4151d6f96dcc503ef0dc9fc1423177374bbca230c'
- input: {domain: '0xffffffff', message: '0x0000000000000000000000000000000000000000000000000000000000000000',
privkey: '0x47b8192d77bf871b62e87859d653922725724a5c031afeabc60bcef5ff665138'}
output: '0x8e00294829fc21fa42e54617e9f9f1a270e99207fa993cf758a30ba55defc0a3da905998c18695eb409cb44bb52c28c00ec33c5c51b3038f56d6c10004bc5f8a6be0c100a8e18174eafd649279e9228106db69981e019abdeaaad28242520752'
- input: {domain: '0xffffffffffffffff', message: '0x0000000000000000000000000000000000000000000000000000000000000000',
privkey: '0x47b8192d77bf871b62e87859d653922725724a5c031afeabc60bcef5ff665138'}
output: '0x82aede63d4a977e3d8495f2c07bc210657fd0c91819638208aad614b45338f8362940b4f148bef6fddbb50953d0f9bb10c396790a443c0022dd8e81b317e0d0c8331978173b21c447a5719f2be21b7cddf00f46bf450c344d3a01a147117c662'
- input: {domain: '0x00', message: '0x5656565656565656565656565656565656565656565656565656565656565656',
privkey: '0x47b8192d77bf871b62e87859d653922725724a5c031afeabc60bcef5ff665138'}
output: '0xae94129f5d113cb157a0a9ed6a3ec074df6af921d11a45c2057e7e8c89240b467acde84f73651222afd0e4eea0143efe07067ce746320e3bcfa5fa5df24f455fe60c4e2157499865cd139e8329efb70c8efa9867fb420e2eeaf35c135a0a40c4'
- input: {domain: '0x01', message: '0x5656565656565656565656565656565656565656565656565656565656565656',
privkey: '0x47b8192d77bf871b62e87859d653922725724a5c031afeabc60bcef5ff665138'}
output: '0xa2ec3d8cf9b6f703e14900ac5a5ab417c1ba272fb3cb5e9d250fa281bc7ccb540d20ae5259bc83d761391b95f3eb368802138ddd16378a13d99d414216a51d417ee0516bdb20b9e9e664a8dc31121fa597b6f949b71f3f8cf70a135cf4d366d7'
- input: {domain: '0x04d2', message: '0x5656565656565656565656565656565656565656565656565656565656565656',
privkey: '0x47b8192d77bf871b62e87859d653922725724a5c031afeabc60bcef5ff665138'}
output: '0x837509de1af90b50e32f30fbfb6001257ab0bb5f0c448ceb25cdf3742ae60a64be5677c838bcc69149941d8d9af909e51863461f3c35fefffc556b3f3abf1f193806c952ce46940316a0201f81950e798a27771982172925a9d6e04ba568e065'
- input: {domain: '0xffffffff', message: '0x5656565656565656565656565656565656565656565656565656565656565656',
privkey: '0x47b8192d77bf871b62e87859d653922725724a5c031afeabc60bcef5ff665138'}
output: '0x8ec1c4e33393d42e37b2d2209f3918d3d19b6d71df98379dca83de3b841aefc4c87d44f09fe63a4e4b7704162fd7149414f7695fa73ea1e4bdb5b6e8f08be92b71296837125baa6a27fb07230fa657c16b51009a48a0959add2635eebf463ee3'
- input: {domain: '0xffffffffffffffff', message: '0x5656565656565656565656565656565656565656565656565656565656565656',
privkey: '0x47b8192d77bf871b62e87859d653922725724a5c031afeabc60bcef5ff665138'}
output: '0x80765f4367d2a657abee34580ac48693999e2d6bc0e94b0838ac52591d44c558bd16d891c2a1d0edc4d9f65c522cc50a06cc8fe68c6d06c8e9d6151820dc839d01a61d2ed4aaebfc2a87e9d1c73503cedcd80545353c4ee413fdde0e370da737'
- input: {domain: '0x00', message: '0xabababababababababababababababababababababababababababababababab',
privkey: '0x47b8192d77bf871b62e87859d653922725724a5c031afeabc60bcef5ff665138'}
output: '0xb8596c7e3dd8c9eb032004d2c62ccfcbdc2227b7f75dd68a6331745a77a3d59c87803baffda82a0fdfc18042662a3e7e178a0474880f2658fb0bb3f2997ae77297e283ff53871cf3ec0a91ddd9b7f496e6dfd1f43315c30fd0ab3a6a7acb0706'
- input: {domain: '0x01', message: '0xabababababababababababababababababababababababababababababababab',
privkey: '0x47b8192d77bf871b62e87859d653922725724a5c031afeabc60bcef5ff665138'}
output: '0xae4163594d8dba107c3707042ff9c186202cc23243321725aaa216005b9858f8fce2f869783b28c5c0db01b126472992162bc3debf34078cbab2ef6cf030c700ac32113f89c8f2de670b384036bf97a71b7d90f08570749d2582dbd21fb2419b'
- input: {domain: '0x04d2', message: '0xabababababababababababababababababababababababababababababababab',
privkey: '0x47b8192d77bf871b62e87859d653922725724a5c031afeabc60bcef5ff665138'}
output: '0x898daa911de50b4ad7b38b48c7fbda12ec9c647023a84128e4e2f377e1065740acfb96b4e9ebd26a6a65050af1f5b8610fd42d7c52c3f52ec4a5dfb05453e3cc0fd10ee7e91c759f8d5ace9ff7ff66522a550dd6756f9383490de9b8f4e19e6d'
- input: {domain: '0xffffffff', message: '0xabababababababababababababababababababababababababababababababab',
privkey: '0x47b8192d77bf871b62e87859d653922725724a5c031afeabc60bcef5ff665138'}
output: '0x8f55e2cdf21c222714a45abd518e17b32d90a7fbcd1e9bf346b65b0d7a8a529704937b8bc8827ebc960e802bf9c1876c0747172a58a6e929b7960fc27def24d5dd92608e403d5f47194865ac473beef4a67b941e65a1e76c8b6edb5aa1bb5359'
- input: {domain: '0xffffffffffffffff', message: '0xabababababababababababababababababababababababababababababababab',
privkey: '0x47b8192d77bf871b62e87859d653922725724a5c031afeabc60bcef5ff665138'}
output: '0xb5f3ef3648aac37a6b98b9182d1bc9829f00ee8967089b399daeb28a2f085cd66a49ced60adfbac6e4115f8078e8cc8a0c1fa6d3dbb06178158a74627d836901fed032cf12df277dbc6d51a68920a41df0ecc11e8d978f451e02fef5268eac6f'
- input: {domain: '0x00', message: '0x0000000000000000000000000000000000000000000000000000000000000000',
privkey: '0x328388aff0d4a5b7dc9205abd374e7e98f3cd9f3418edb4eafda5fb16473d216'}
output: '0xa07727445a1baab6ad0d1d63b99f247f5fe12a08a0e98dac3acc7cd5cb8180ea699a8e525da9f9d7c14d1118dc011d280fc38adef9bc2d7407d0ac041d952efddaff5363f458b9d123e218172522e2bd82d9b7d65e6c1d8668607d1c5f8fe1da'
- input: {domain: '0x01', message: '0x0000000000000000000000000000000000000000000000000000000000000000',
privkey: '0x328388aff0d4a5b7dc9205abd374e7e98f3cd9f3418edb4eafda5fb16473d216'}
output: '0x99ab4f24b5fbb2585f673c7f4a5eb5c4f8b951c581da14f7a3c9e46bef7f153184c470a3beec622c6e6e95a97491a4710b3316075e921227784acab608d1e6e9a8dbe4953d3284c15fa25bf3dfea3f45e3329fff48c08e9cc10daf87944a381a'
- input: {domain: '0x04d2', message: '0x0000000000000000000000000000000000000000000000000000000000000000',
privkey: '0x328388aff0d4a5b7dc9205abd374e7e98f3cd9f3418edb4eafda5fb16473d216'}
output: '0xa93e27e2e3e5c5f5397c6c5647f24af0138a6b8a08e2d8d929f16ff0304a19547e5e15c8ec1b2e4bb0978234d9c6c9c00972ebf2791c53dde1472079266ff6311a11112dfc2e22f0c5098a0b382b87154606f7adcc31feb7535a630d1c67ece1'
- input: {domain: '0xffffffff', message: '0x0000000000000000000000000000000000000000000000000000000000000000',
privkey: '0x328388aff0d4a5b7dc9205abd374e7e98f3cd9f3418edb4eafda5fb16473d216'}
output: '0xa94fe222026460df5c6d71b9f370062aff794143d4dcad52db938b6695ce89e50d2f96ab974f15fc08993724c1af7a8f197f0249556913e4b37613051e6f3502c2eeec251c44155613ab07303580becb12ecae8d0b4495aa41b76bf88442413d'
- input: {domain: '0xffffffffffffffff', message: '0x0000000000000000000000000000000000000000000000000000000000000000',
privkey: '0x328388aff0d4a5b7dc9205abd374e7e98f3cd9f3418edb4eafda5fb16473d216'}
output: '0xa6904d1890cbf12cf7f4d88cb55b5189327aa661aa4f2718a5240a0e8db1c2e9141609d447ff253e0ebaa4caa919eb2308ca6c2e1a535b29ef88ba50884adc78aec5a0d8eebe796131e68a30122b42ed32e69d3409dcadb32039f41208371483'
- input: {domain: '0x00', message: '0x5656565656565656565656565656565656565656565656565656565656565656',
privkey: '0x328388aff0d4a5b7dc9205abd374e7e98f3cd9f3418edb4eafda5fb16473d216'}
output: '0x9296bc034137bc6dccb90d821f76b800f0b3a510d0a08e8ff91cb3814e047d991a6d48322609a085f030a1086eff3a0e11c2eb41d18fb9d47a6ed3c89853f5bce3939c48fc38f3295c22db0a4fa77219e3d1ef2525c9fc3ad579e0b04c1e0593'
- input: {domain: '0x01', message: '0x5656565656565656565656565656565656565656565656565656565656565656',
privkey: '0x328388aff0d4a5b7dc9205abd374e7e98f3cd9f3418edb4eafda5fb16473d216'}
output: '0xa087a97a228cd3f94bba683f7b883ed41ee29341e1520f89ab9de9ade136b09f5a11185cbc1083e3643b62c97bc29e580ab24d01a9f7b54efd9f9e89754571915bb880894db0b6e3c2284a6680d421fe6423b61c5f97b9710b95149225a88ad3'
- input: {domain: '0x04d2', message: '0x5656565656565656565656565656565656565656565656565656565656565656',
privkey: '0x328388aff0d4a5b7dc9205abd374e7e98f3cd9f3418edb4eafda5fb16473d216'}
output: '0xb74f5a9974f7fa7440823f48bb5d30f1873c1d4e5f838491119d7c4b1739376f4eb73a35d86574bbbc5cfcc5ec3ee57003ef24d911775fe6d9e17fa6bea8e57a2b4c3adbc112e1c4ed37d19555104cd7d123827f7cd810be88608e13156d7161'
- input: {domain: '0xffffffff', message: '0x5656565656565656565656565656565656565656565656565656565656565656',
privkey: '0x328388aff0d4a5b7dc9205abd374e7e98f3cd9f3418edb4eafda5fb16473d216'}
output: '0x8b7e9377b319beb1da2c014a8978574580809b88d305a3653ffe659791fe1ffe86d1eaeeeb6452a975fb9899f79286f00c33b1508d501cf17c368fb8cb8570a7368d1b500fc946fc883d5575c2967681f2cc9e599e521b3e4071a158ceae287c'
- input: {domain: '0xffffffffffffffff', message: '0x5656565656565656565656565656565656565656565656565656565656565656',
privkey: '0x328388aff0d4a5b7dc9205abd374e7e98f3cd9f3418edb4eafda5fb16473d216'}
output: '0xb2591522c934dbf80b6e9e5a5012d23241c263c513b29913e34af3f84197332a5d3089a41c074aa1421095000b24709109c9ca7cad55998f25462f599697a70529024223031c053b4a0be956aa195bf629198ee266e1e45ec6d3e83657fb1363'
- input: {domain: '0x00', message: '0xabababababababababababababababababababababababababababababababab',
privkey: '0x328388aff0d4a5b7dc9205abd374e7e98f3cd9f3418edb4eafda5fb16473d216'}
output: '0xaef63226b821217cbe122511982d6a08da6ef107f0fb0510dfda642c0ae6950e612b2bf63e9e6f70d6b7f1d90e1d19110cd523b752008f47484904b95d78e645197ee983057fdd4fa84344aab7ea2431d395de6ab32b08ce28aee5f4e82dc17f'
- input: {domain: '0x01', message: '0xabababababababababababababababababababababababababababababababab',
privkey: '0x328388aff0d4a5b7dc9205abd374e7e98f3cd9f3418edb4eafda5fb16473d216'}
output: '0xb28b2594de17d91b891e83b35437779d4c900c3be023eb2db024656dd827a9581a09b3e91c6df8fb835d0f8c29859e5111a28267f2daf81873776a5795dd825681bcbd20447473e86536f2f378278e5e80a1d7ca8c0d2141f3d84aa15b6b297a'
- input: {domain: '0x04d2', message: '0xabababababababababababababababababababababababababababababababab',
privkey: '0x328388aff0d4a5b7dc9205abd374e7e98f3cd9f3418edb4eafda5fb16473d216'}
output: '0xb36bc1201c66b16cf4cdfd51cd9fba5b79e365c9af5d329966e029b0b4755c899e2b85fae68590ee8d2c069cdcd3f5230dc37a5a87a87ca20bd712d78fe309accc5b7773dc885c3589bfd5ed3b1bd4a7ae5d951f67a14c8b667568a2c4195030'
- input: {domain: '0xffffffff', message: '0xabababababababababababababababababababababababababababababababab',
privkey: '0x328388aff0d4a5b7dc9205abd374e7e98f3cd9f3418edb4eafda5fb16473d216'}
output: '0xaddfbc7156910827c571614038796033a4f711198c85ab439cc1b36202b8d85aced92cb5bb430e8ed7e0a20f6032dfb90d4447930bb4e2cd36f33720a8a7b7f339bff8bebc196c5743512ab9c99270423574152e31ddedfc13b083d8c8564281'
- input: {domain: '0xffffffffffffffff', message: '0xabababababababababababababababababababababababababababababababab',
privkey: '0x328388aff0d4a5b7dc9205abd374e7e98f3cd9f3418edb4eafda5fb16473d216'}
output: '0xa4cdfe8895409b2fe8f1f79f4a1b89e4783c89fa2a069138c17e854234bb9e1c177eeb01a7df6bdbcba105dd04512bf901f0ef3128706826ad4978280de391888f63c20c047158f20c2786e9aa98f37c61766d2f1c27dfee0722a43c2631f432'
case06_aggregate_sigs:
- input: ['0xb2cc74bc9f089ed9764bbceac5edba416bef5e73701288977b9cac1ccb6964269d4ebf78b4e8aa7792ba09d3e49c8e6a1351bdf582971f796bbaf6320e81251c9d28f674d720cca07ed14596b96697cf18238e0e03ebd7fc1353d885a39407e0',
'0xa2e45aea3554d02b97c0355756815469ee04e837cb841e02fde18cb3cc2924ace90e03c1e6b407981ab0ab38884cc22a0c293ab7196ded8be31544ade7f733949db987b94ca8f7172b0c73b1f86459d8622d03ae6f8cd6285e4f785dba79639a',
'0xa07727445a1baab6ad0d1d63b99f247f5fe12a08a0e98dac3acc7cd5cb8180ea699a8e525da9f9d7c14d1118dc011d280fc38adef9bc2d7407d0ac041d952efddaff5363f458b9d123e218172522e2bd82d9b7d65e6c1d8668607d1c5f8fe1da']
output: '0x92a0efdc55eeb548a4865901470933672fe25309b4f6a38c67c7a01c70a235ee45c6e54a3ab825227ad0ee20428101b50e0ff220e992fa5d1067bad4b5a13bb60c77bdc53109e01568dd23ed86004ac24d574831fa1977b309a0bef15976696f'
- input: ['0x85d27abd0ddda0842800b29739a56de078a8b0f59659505968d27abe75a4aad458ae5b94790f33646946c77715b4758d0f7aad755ff582cf7994d8baf62c5d54a13e6ff66c5767895754a9ab7d61da39a21dcfc360a0c4cfb8ca31da097bc853',
'0xae94129f5d113cb157a0a9ed6a3ec074df6af921d11a45c2057e7e8c89240b467acde84f73651222afd0e4eea0143efe07067ce746320e3bcfa5fa5df24f455fe60c4e2157499865cd139e8329efb70c8efa9867fb420e2eeaf35c135a0a40c4',
'0x9296bc034137bc6dccb90d821f76b800f0b3a510d0a08e8ff91cb3814e047d991a6d48322609a085f030a1086eff3a0e11c2eb41d18fb9d47a6ed3c89853f5bce3939c48fc38f3295c22db0a4fa77219e3d1ef2525c9fc3ad579e0b04c1e0593']
output: '0x90f80b7ea59f9a9ff84f4f2a84f1b20e40d3005a99af90e39de8158be9af65e8ddf8227dac948d8774010582b210e471152c828d25f2d33a05f32a117f462d242a2c195dc34c02867f7b22cf70b224e5f826cb2856ba695d0d3de1266da9b590'
- input: ['0xacf636eced095e9a349b1110ef730925417d9d279fee9a0b2f0cbf5723dff6f0cbb3eb75d829a756334a8b0a8935960e199fa398df8b7661c409bc046e1ea6a9e78fd1ac212626da5f06db344743f5ac643ebeb16bfc5451f172407c65519137',
'0xb8596c7e3dd8c9eb032004d2c62ccfcbdc2227b7f75dd68a6331745a77a3d59c87803baffda82a0fdfc18042662a3e7e178a0474880f2658fb0bb3f2997ae77297e283ff53871cf3ec0a91ddd9b7f496e6dfd1f43315c30fd0ab3a6a7acb0706',
'0xaef63226b821217cbe122511982d6a08da6ef107f0fb0510dfda642c0ae6950e612b2bf63e9e6f70d6b7f1d90e1d19110cd523b752008f47484904b95d78e645197ee983057fdd4fa84344aab7ea2431d395de6ab32b08ce28aee5f4e82dc17f']
output: '0xa555937c3b1826a58fc9f074a68dc816e88dc4adab10e106cf1bce47fec7db3917a19b279febe242da001ccc93ac1b2f11f6ee662e568b4c410932f56b978950d4ae3d6736d61a7cb2da52f4b71523e43d4fca4878a18643363b010582aa0033'
- input: ['0xa9f1e4d2b22d0a9119c70bab8597a47135b761f3852d978e61a8fa72867a06bd9a884f1ec57733013a4e244cfea30c420d3ff86651cf8dfd341c3dcb7441e949167387aee50a085d0a9ddeaee1540409a268e5698fb1daa2a552deaddb2d3528',
'0x865466aab93bba6b113673f87e9b4b32446a32d91eb835212f142381a5479ee6a92105c47835c631017af322efc4be7610285f22d4bdf039ee115c741b8734e42eaf5eefba68babc8408d808c131f842fff1ac0a7c6039d1de9d3786afa52848',
'0x99ab4f24b5fbb2585f673c7f4a5eb5c4f8b951c581da14f7a3c9e46bef7f153184c470a3beec622c6e6e95a97491a4710b3316075e921227784acab608d1e6e9a8dbe4953d3284c15fa25bf3dfea3f45e3329fff48c08e9cc10daf87944a381a']
output: '0xab1d5114a7727fba7b6d66ab7d9c244da4a884f461b69929fe190ec0042fe8cf0ba21b47d51a9db029488f1279cf2a300eb43f4d394b012fe013c9f7181a54cf9f6464869cbcc33d6b8d6737fd29b2ad8e84e30c8d94e013075d67a98e908b9e'
- input: ['0xa872cbce4105d18c5b5d7a6e80a7be5cc9c3ea869defe66aa4f1a43283e411fc11ca9babbfd1e16689830121cf9a1ac51469ce7c6e34ba35895d8c90bf562b767829a0289bffa0cdf1009a68c4cc52ab46a1789aad069297b0dda7afb427cf8d',
'0xa2ec3d8cf9b6f703e14900ac5a5ab417c1ba272fb3cb5e9d250fa281bc7ccb540d20ae5259bc83d761391b95f3eb368802138ddd16378a13d99d414216a51d417ee0516bdb20b9e9e664a8dc31121fa597b6f949b71f3f8cf70a135cf4d366d7',
'0xa087a97a228cd3f94bba683f7b883ed41ee29341e1520f89ab9de9ade136b09f5a11185cbc1083e3643b62c97bc29e580ab24d01a9f7b54efd9f9e89754571915bb880894db0b6e3c2284a6680d421fe6423b61c5f97b9710b95149225a88ad3']
output: '0xb6887432e9508a3d07c97f17c7acdcbe1db4112b1d740447f58d3f9c878592f1c04a3ee9b768abf3d6e414c408b9a93d156a9d316e6e9776b5980da77696aef5e1c3bce8666b655f27009a88fec0a3b95aceacb4b311782f78b73c6f2ef2e799'
- input: ['0xb475b4824d9a4d7c18347d9a65f5a666f93dd94c1ea8f1a1f7f9902de838bd56483a44e2e756e770c6d781d4fc6ba5f00e13eb2dd7e4dec291666853a0433a48fb4678ae83001118e9a341cf4b322e6cadad6c7c997b5e28f81893369a99dea5',
'0xae4163594d8dba107c3707042ff9c186202cc23243321725aaa216005b9858f8fce2f869783b28c5c0db01b126472992162bc3debf34078cbab2ef6cf030c700ac32113f89c8f2de670b384036bf97a71b7d90f08570749d2582dbd21fb2419b',
'0xb28b2594de17d91b891e83b35437779d4c900c3be023eb2db024656dd827a9581a09b3e91c6df8fb835d0f8c29859e5111a28267f2daf81873776a5795dd825681bcbd20447473e86536f2f378278e5e80a1d7ca8c0d2141f3d84aa15b6b297a']
output: '0xa2b469e2e54b718cf4dfb64c755e2bf7aeef141c6f40c4bb8da6f81f2227dc29521f3bcf1cdd17335c39166c90e60e270a83de3d95d02af968a85a39313ea77f50780677b9ba8b53b4c68bdd4498b4d74f73200f4e901cf0baf36b12dc59350f'
- input: ['0xaa005163ec85b882c16bbb52b8bb4c0071cb9375c655370d37433ca660f0944ed85ba390d515f89789a5432b7fb8c4d409f83478064ee06f0fb3900203b665192318e836e3920e25dc3ed8127143441c215f2ef5fba7ab8a5769296456269b2e',
'0x962d6d5da1fba9dfbf3d467a515c375da72539f4dbdd747c9c3f309fec40f4019bc8794b6d9f2ae8d6368d603ee3e251017eec7e78464f2c1a50890ed5d85d080c0f0815cd8e4d03b854fae4151d6f96dcc503ef0dc9fc1423177374bbca230c',
'0xa93e27e2e3e5c5f5397c6c5647f24af0138a6b8a08e2d8d929f16ff0304a19547e5e15c8ec1b2e4bb0978234d9c6c9c00972ebf2791c53dde1472079266ff6311a11112dfc2e22f0c5098a0b382b87154606f7adcc31feb7535a630d1c67ece1']
output: '0x9207a496d4ed738c9dbf7e731d92911129ad4bc96c5c5bb92ae7af9dd8474db463db853519b7e16541c86108f826e4a2120d711600f6be1b123125470ed602415031d14d0f941114cfa98251930c47aa817fb5ebda180e55e3bc21bbf2c599f0'
- input: ['0x8d0bf6e812bea787ecbb98d8907a9beaeb4cfd241c5598d33fb938689453181e78e0375aaeb277d1cedd00c18d9abd4d0220d12174473896db5e31a77d24c826c68969b025bde89d5f68a91608bd8c3d8072d6a861d899863d98d8bc0dc1ab9c',
'0x837509de1af90b50e32f30fbfb6001257ab0bb5f0c448ceb25cdf3742ae60a64be5677c838bcc69149941d8d9af909e51863461f3c35fefffc556b3f3abf1f193806c952ce46940316a0201f81950e798a27771982172925a9d6e04ba568e065',
'0xb74f5a9974f7fa7440823f48bb5d30f1873c1d4e5f838491119d7c4b1739376f4eb73a35d86574bbbc5cfcc5ec3ee57003ef24d911775fe6d9e17fa6bea8e57a2b4c3adbc112e1c4ed37d19555104cd7d123827f7cd810be88608e13156d7161']
output: '0xa470881b6d2aa809ce047d665b4b53b180daf18e500734c1537c6f1a3f85d9140dcf4e426b26bc50dc6d62d6eafdce0411404655720fc8fb5051640358d0ada8d16bec450b553ff0329216b8308a2c20b151801eb16608f5f5d44bcc6d495c5e'
- input: ['0xa29d7fc6603264bce862bff6b871200bec1a1a6535f97296e4ce27cee32b90eaad414b115cb3ca35e71a86a111175d6316e27dcfd82c73be5c18b91b103e2e2eb6f8e5565f793fc6aca702fd83b959ffc8b032f2a110c475c47c273b6f7f71fc',
'0x898daa911de50b4ad7b38b48c7fbda12ec9c647023a84128e4e2f377e1065740acfb96b4e9ebd26a6a65050af1f5b8610fd42d7c52c3f52ec4a5dfb05453e3cc0fd10ee7e91c759f8d5ace9ff7ff66522a550dd6756f9383490de9b8f4e19e6d',
'0xb36bc1201c66b16cf4cdfd51cd9fba5b79e365c9af5d329966e029b0b4755c899e2b85fae68590ee8d2c069cdcd3f5230dc37a5a87a87ca20bd712d78fe309accc5b7773dc885c3589bfd5ed3b1bd4a7ae5d951f67a14c8b667568a2c4195030']
output: '0x99bc6a728d7bfbe4cea68ef1ee118708f1f53deb6de3e9ecd268c7034e80e8426937df802c4c334eb0e385a29eca958c085ffa4328e16074671c3ac40c0b3d6df691ac90a5f83a8f730237dc88d412fca03100361407eba56d50095ffc3e3d41'
- input: ['0x8746bcba0d294c74b2704754732b48ab1ac2b55b8a516f3f01dc36b10ee0d2df0ea74a067f87fc0ec5950a753d1371ca0fbfb3b720d33191baa99e1d5c71c58487b814e808f38b6b96ccf398aaf543b770ed4b767ecd2816c2eee947242db4b5',
'0x8e00294829fc21fa42e54617e9f9f1a270e99207fa993cf758a30ba55defc0a3da905998c18695eb409cb44bb52c28c00ec33c5c51b3038f56d6c10004bc5f8a6be0c100a8e18174eafd649279e9228106db69981e019abdeaaad28242520752',
'0xa94fe222026460df5c6d71b9f370062aff794143d4dcad52db938b6695ce89e50d2f96ab974f15fc08993724c1af7a8f197f0249556913e4b37613051e6f3502c2eeec251c44155613ab07303580becb12ecae8d0b4495aa41b76bf88442413d']
output: '0x852586268bc2e5aec89a22765ac38d09fafab9f57a09a9e4b5dc3b767ecd169a121415a987e2547f6aa773d3a6bf07d917da400e20068c6108ceff0f8e9e3e1a42a978c5f3efd05b435253401af263179dd1081e8fafa290b794a02259115ec6'
- input: ['0x893f33360dcd58acc558423bbe188f4a9aaf28c02c14b3074ac80ff8dc0f95fcd5e1056126612d9d31b17a48ea1e10ad1523298ddfadcd640dd094fdedf6943987adc04ceba38a93950cea23c8a48f3b59632dd8e50b4938b168f2afe957b327',
'0x8ec1c4e33393d42e37b2d2209f3918d3d19b6d71df98379dca83de3b841aefc4c87d44f09fe63a4e4b7704162fd7149414f7695fa73ea1e4bdb5b6e8f08be92b71296837125baa6a27fb07230fa657c16b51009a48a0959add2635eebf463ee3',
'0x8b7e9377b319beb1da2c014a8978574580809b88d305a3653ffe659791fe1ffe86d1eaeeeb6452a975fb9899f79286f00c33b1508d501cf17c368fb8cb8570a7368d1b500fc946fc883d5575c2967681f2cc9e599e521b3e4071a158ceae287c']
output: '0x86731f1d2571af599a8b84fb19242f6448839603f0791d4edb1615d2b07e6eae7cdde21225dfc8fb6f4b7ae3a61b959419c0b06155b24b58d9c32b1d7a5e46cf12ca7c0f4733583d9c4c65f7390591bedceddae611edab6562168c79434e56b6'
- input: ['0x9601b2ccb01341fda3628ce472a9d8ba2162cfb3996862132f30a9de9fe64b0a81d2ac4791468a7a3220dd44ef7ceef60ab2978f5de3cf986d2d9f3d5e9113ba2b2ccd236fc5c5a692248a4fba5306fdeb9e8e7d36ee054d2a8d14492a8dfc17',
'0x8f55e2cdf21c222714a45abd518e17b32d90a7fbcd1e9bf346b65b0d7a8a529704937b8bc8827ebc960e802bf9c1876c0747172a58a6e929b7960fc27def24d5dd92608e403d5f47194865ac473beef4a67b941e65a1e76c8b6edb5aa1bb5359',
'0xaddfbc7156910827c571614038796033a4f711198c85ab439cc1b36202b8d85aced92cb5bb430e8ed7e0a20f6032dfb90d4447930bb4e2cd36f33720a8a7b7f339bff8bebc196c5743512ab9c99270423574152e31ddedfc13b083d8c8564281']
output: '0xa1c8dea05c608d97965920798163c9fdb914499509fde84c2dc4ed172252ab42153447f503eedad6ce6b0d7bbb4274d416ca9fe0829fe78b956921f56dea3daf8b7e76f3a38e1361f343d7666ecca1883903f329dcbe0b3eb538da2a149b4eef'
- input: ['0xacfa78b0b2e5aa2de40a389f8a8464d27e927e0c4e773bf9b3c97a7d100201054318931970adc5c9a9410792099b008e04e85806d32ce88d96b438240cd4c2beb25fa7b309de3f1e96a6f808dd6eaba49a73369e19c947b8f8d466943cf51793',
'0x82aede63d4a977e3d8495f2c07bc210657fd0c91819638208aad614b45338f8362940b4f148bef6fddbb50953d0f9bb10c396790a443c0022dd8e81b317e0d0c8331978173b21c447a5719f2be21b7cddf00f46bf450c344d3a01a147117c662',
'0xa6904d1890cbf12cf7f4d88cb55b5189327aa661aa4f2718a5240a0e8db1c2e9141609d447ff253e0ebaa4caa919eb2308ca6c2e1a535b29ef88ba50884adc78aec5a0d8eebe796131e68a30122b42ed32e69d3409dcadb32039f41208371483']
output: '0x90f2301258cd7127eee0c7ee9c84759397744ceccb96fb95b03a5682b94bbddff775a187a615e4163147befa4aefbfda05d38b24cdf1cb3c12a610f5e0c0bfb74d475bcbfb4c517581a05ce74442fdf8704643af40c226f7dda419922366ac67'
- input: ['0x970f39aaeb819a627bf4812de762d6be0673d850655af72e65713a16c10a2c3d33667ff8714b439fdf2b21ec8d13e5f50b8e6ade6da3f2071155ae87891b3d0407a22a155e77fcd54f1d35949d4529b92fa87def2d924c9c8ee14984d10f02d2',
'0x80765f4367d2a657abee34580ac48693999e2d6bc0e94b0838ac52591d44c558bd16d891c2a1d0edc4d9f65c522cc50a06cc8fe68c6d06c8e9d6151820dc839d01a61d2ed4aaebfc2a87e9d1c73503cedcd80545353c4ee413fdde0e370da737',
'0xb2591522c934dbf80b6e9e5a5012d23241c263c513b29913e34af3f84197332a5d3089a41c074aa1421095000b24709109c9ca7cad55998f25462f599697a70529024223031c053b4a0be956aa195bf629198ee266e1e45ec6d3e83657fb1363']
output: '0xb2d4adee73096b53a1125269aa081b3db40dd04091ddb8f298c47b32572373f6aa612fbfcf928dd82c2f46b90e9c6bcc0e1f75e5ccf213140c1893f8fdad85fe036670c4fd51af10794351d674bb5c843ccb20fd95cdabe1908cdc742d505e2f'
- input: ['0xa1f8a795ebc4f1e6a231528782e17807167ff2a660ebef0d13f1f534c7aa77c185bb27157223dd0b47861976a02a87be17b7935923d3b929d82369778b0fc9db1f75f9aa856a4e639e235b79c8dd613da6a9e2856afee340ccde0761fcc4cc57',
'0xb5f3ef3648aac37a6b98b9182d1bc9829f00ee8967089b399daeb28a2f085cd66a49ced60adfbac6e4115f8078e8cc8a0c1fa6d3dbb06178158a74627d836901fed032cf12df277dbc6d51a68920a41df0ecc11e8d978f451e02fef5268eac6f',
'0xa4cdfe8895409b2fe8f1f79f4a1b89e4783c89fa2a069138c17e854234bb9e1c177eeb01a7df6bdbcba105dd04512bf901f0ef3128706826ad4978280de391888f63c20c047158f20c2786e9aa98f37c61766d2f1c27dfee0722a43c2631f432']
output: '0xb9a9e2921e9166451ef7a8e741a7ef516d228965d699197b4b79332edc19211b9ca5b5ad08debd37ae1ae22404e5e0191111087aad9bb0d64fa1be8cfd3dbcbcbe8d7924c75bb382420124180b153504521d13ed455eeaaa75442a91e21fcc37'
case07_aggregate_pubkeys:
- input: ['0xa491d1b0ecd9bb917989f0e74f0dea0422eac4a873e5e2644f368dffb9a6e20fd6e10c1b77654d067c0618f6e5a7f79a',
'0xb301803f8b5ac4a1133581fc676dfedc60d891dd5fa99028805e5ea5b08d3491af75d0707adab3b70c6a6a580217bf81',
'0xb53d21a4cfd562c469cc81514d4ce5a6b577d8403d32a394dc265dd190b47fa9f829fdd7963afdf972e5e77854051f6f']
output: '0xa095608b35495ca05002b7b5966729dd1ed096568cf2ff24f3318468e0f3495361414a78ebc09574489bc79e48fca969'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment