; the format for these test cases are: ; expression => expected result | expected-cost ; BLS extensions will go here ; coinid coinid 0x0000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000000000000000000000000000 0 => 0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b | 800 coinid 0x0000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000000000000000000000000000 123456789 => 0x2f6c01d9205e70f55b940367dcdc1b518f077ee7308788ec4467447708a76e79 | 800 coinid 0x1234500000000000000000000000000000000000000000000000000000000000 0x6789abcdef000000000000000000000000000000000000000000000000000000 123456789 => 0x69bfe81b052bfc6bd7f3fb9167fec61793175b897c16a35827f947d5cc98e4bc | 800 coinid 0x1234500000000000000000000000000000000000000000000000000000000000 0x6789abcdef000000000000000000000000000000000000000000000000000000 0x00ffffffffffffffff => 0x609d2d5e3081fbc1106950950f3ea3dbb4eaec96a57a544ba83b8a762b457168 | 800 ; parent coin ID has the wrong size coinid 0x123450000000000000000000000000000000000000000000000000000000000000 0x6789abcdef000000000000000000000000000000000000000000000000000000 123456789 => FAIL coinid 0x12345000000000000000000000000000000000000000000000000000000000 0x6789abcdef000000000000000000000000000000000000000000000000000000 123456789 => FAIL ; puzzle hash has the wrong size coinid 0x1234500000000000000000000000000000000000000000000000000000000000 0x6789abcdef00000000000000000000000000000000000000000000000000000000 123456789 => FAIL coinid 0x1234500000000000000000000000000000000000000000000000000000000000 0x6789abcdef0000000000000000000000000000000000000000000000000000 123456789 => FAIL ; amount is invalid coinid 0x1234500000000000000000000000000000000000000000000000000000000000 0x6789abcdef000000000000000000000000000000000000000000000000000000 0x010000000000000000 => FAIL coinid 0x1234500000000000000000000000000000000000000000000000000000000000 0x6789abcdef000000000000000000000000000000000000000000000000000000 -1 => FAIL coinid 0x1234500000000000000000000000000000000000000000000000000000000000 0x6789abcdef000000000000000000000000000000000000000000000000000000 0x00001234 => FAIL ; modpow modpow => FAIL modpow 1 => FAIL modpow 1 2 => FAIL modpow 1 2 3 4 => FAIL modpow (1 2) 2 3 => FAIL modpow 1 (2 2) 3 => FAIL modpow 1 2 (2 3) => FAIL ; raised to negative modpow 999 -1 10 => FAIL modpow 2 -1 10 => FAIL ; mod of 0 modpow 2 2 0 => FAIL modpow 2 3 0 => FAIL modpow 2 0 100 => 1 | 17069 modpow 2 1 100 => 2 | 17072 modpow 2 2 100 => 4 | 17072 modpow 2 3 100 => 8 | 17072 modpow 2 0 -10 => -9 | 17069 modpow 2 1 -10 => -8 | 17072 modpow 2 2 -10 => -6 | 17072 modpow 2 3 -10 => -2 | 17072 modpow 2 0 10 => 1 | 17069 modpow 999 0 10 => 1 | 17107 modpow 12345 6789 4444 => 2105 | 17192 modpow -12345 6789 4444 => 2339 | 17192 modpow -12345 6789 -4444 => -2105 | 17192 modpow 12345 6789 -4444 => -2339 | 17192 modpow 12345 6789 44444444444 => 13456191581 | 17663 modpow 0 6789 4444 => 0 | 17096 modpow 2 64 32 => 0 | 17062 modpow 2 64 31 => 16 | 17072 ; mod % 0 3 => 0 | 992 % 1 3 => 1 | 1006 % 2 3 => 2 | 1006 % 3 3 => 0 | 996 % 0 -3 => 0 | 992 % 1 -3 => -2 | 1006 % 2 -3 => -1 | 1006 % 3 -3 => 0 | 996 % 10 3 => 1 | 1006 % -10 3 => 2 | 1006 % -10 -3 => -1 | 1006 % 10 -3 => -2 | 1006 % 1 3 => 1 | 1006 % -1 3 => 2 | 1006 % -1 -3 => -1 | 1006 % 1 -3 => -2 | 1006 % 1 1 => 0 | 996 % -1 1 => 0 | 996 % -1 -1 => 0 | 996 % 1 -1 => 0 | 996 % 1 10 => 1 | 1006 % 1 -10 => -9 | 1006 % -1 -10 => -1 | 1006 % -1 10 => 9 | 1006 % 1 -1000000000000 => -999999999999 | 1076 % -1 1000000000000 => 999999999999 | 1076 % 80001 73 => 66 | 1014 % -80001 73 => 7 | 1014 % -80001 -73 => -66 | 1014 % 80001 -73 => -7 | 1014 % 80000 -10 => 0 | 1004 % 80000 10 => 0 | 1004 % -80000 10 => 0 | 1004 % 0x00000000000000000a 0x000000000000000005 => 0 | 1060 % 0x000000000000000000000000000000000000000000000000000000000000013881 0x000000000000000000000000000000000000000000000000000049 => 66 | 1238 % -10 -7 => -3 | 1006 % -10 7 => 4 | 1006 % 10 -7 => -4 | 1006 % 10 7 => 3 | 1006 % -10 -70 => -10 | 1006 % -10 70 => 60 | 1006 % 10 -70 => -60 | 1006 % 10 70 => 10 | 1006 % -100 -7 => -2 | 1006 % -100 7 => 5 | 1006 % 100 -7 => -5 | 1006 % 100 7 => 2 | 1006 % -100 -70 => -30 | 1006 % -100 70 => 40 | 1006 % 100 -70 => -40 | 1006 % 100 70 => 30 | 1006 ; mod by zero % 3 0 => FAIL ; invalid arguments % 3 => FAIL % => FAIL % 1 2 3 => FAIL % (1 2 3 ) 2 => FAIL % 2 (1 2 3 ) => FAIL ; bls g1 subtraction ; expects (G1point G1point ...) g1_subtract 0x97f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb 0xa572cbea904d67468808c8eb50a9450c9721db309128012543902d0ac358a62ae28f75bb8f1c7c42c39a8c5529bf0f4e => 0xb7f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb | 2789534 ; no-op (single argument) g1_subtract 0x97f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb => 0x97f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb | 1445554 ; identity (zero arguments) g1_subtract => 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | 101574 ; G1 point has invalid length g1_subtract 0x97f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6 => FAIL g1_subtract 0x97f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb00 => FAIL g1_subtract 0 => FAIL g1_subtract ( 1 2 3 ) => FAIL ; bls g1 multiplication ; expects (G1point scalar) g1_multiply 0x97f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb 2 => 0xa572cbea904d67468808c8eb50a9450c9721db309128012543902d0ac358a62ae28f75bb8f1c7c42c39a8c5529bf0f4e | 705990 ; identity (multiply by 0) g1_multiply 0x97f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb 0 => 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | 705980 ; identity (multiply by group order) g1_multiply 0x97f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb 0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001 => 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | 706300 ; large scalar g1_multiply 0x97f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb 0xdeadbeefbaadc0decafebabefeedfaced00ddeadbeefbaadc0decafebabefeedfaced00d => 0x868376d1a91e5af646e077395c3ad0a9eb1e97b5a3f34376fc4d1997ff83323dc17e0649ce2ab8bbb1acbf35b4cef6df | 706340 ; missing scalar argument g1_multiply 0x97f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb => FAIL ; G1 point has invalid length g1_multiply 0x97f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6 => FAIL g1_multiply 0x97f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb00 => FAIL ; missing/invalid arguments g1_multiply => FAIL g1_multiply 0 => FAIL g1_multiply ( 1 2 3 ) => FAIL ; too many arguments g1_multiply 0x97f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb 2 3 => FAIL ; bls g1 negate ; expects (G1Point) g1_negate 0xb7f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb => 0x97f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb | 1396 ; G1 point has invalid length g1_negate 0xb7f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6 => FAIL g1_negate 0xb7f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bbdd => FAIL g1_negate 0 => FAIL ; invalid number of arguments g1_negate 0xb7f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb 0xb7f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb => FAIL g1_negate => FAIL g1_negate ( 1 2 3 ) => FAIL ; The input has to be a valid G1 point g1_negate 0xb7f1d3a7319092346345638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb => FAIL ; negate on identity is a no-op g1_negate 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 => 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | 1396 ; bls g2 add ; expects (G2Point G2Point G2Point ...) g2_add 0x93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8 0x93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8 => 0xaa4edef9c1ed7f729f520e47730a124fd70662a904ba1074728114d1031e1572c6c886f6b57ec72a6178288c47c335771638533957d540a9d2370f17cc7ed5863bc0b995b8825e0ee1ea1e1e4d00dbae81f14b0bf3611b78c952aacab827a053 | 3980960 ; no-op (single argument) g2_add 0x93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8 => 0x93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8 | 2030960 ; identity (zero arguments) g2_add => 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | 80960 ; G2 point has invalid length g2_add 0x93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bd => FAIL g2_add 0x93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb800 => FAIL g2_add 0 => FAIL g2_add ( 1 2 3 ) => FAIL ; bls g2 subtract g2_subtract 0xaa4edef9c1ed7f729f520e47730a124fd70662a904ba1074728114d1031e1572c6c886f6b57ec72a6178288c47c335771638533957d540a9d2370f17cc7ed5863bc0b995b8825e0ee1ea1e1e4d00dbae81f14b0bf3611b78c952aacab827a053 0x93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8 => 0x93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8| 3980960 ; no-op (single argument) g2_subtract 0x93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8 => 0x93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8 | 2030960 ; identity (zero arguments) g2_subtract => 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | 80960 ; G2 point has invalid length g2_subtract 0x93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bd => FAIL g2_subtract 0x93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb800 => FAIL g2_subtract 0 => FAIL g2_subtract ( 1 2 3 ) => FAIL ; bls g2 multiply ; expects (G2Point scalar) g2_multiply 0x93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8 2 => 0xaa4edef9c1ed7f729f520e47730a124fd70662a904ba1074728114d1031e1572c6c886f6b57ec72a6178288c47c335771638533957d540a9d2370f17cc7ed5863bc0b995b8825e0ee1ea1e1e4d00dbae81f14b0bf3611b78c952aacab827a053 | 2100965 ; identity (multiply by 0) g2_multiply 0x93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8 0 => 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | 2100960 ; identity (multiply by group order) g2_multiply 0x93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8 0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001 => 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | 2101120 ; large scalar g2_multiply 0x93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8 0xdeadbeefbaadc0decafebabefeedfaced00ddeadbeefbaadc0decafebabefeedfaced00d => 0x974f5b7983115901c27f8de193fbe7fb5971207814e9a3ae1abf3bcf48dae92f6b6527988f869ccf45db3737a71cfbdd17b486dd8da0b6dd0f935094edcf02045e2335ac02169db03db1588adce90d69ee58685fa63c7ee2e32631976e59e82f | 2101140 ; invalid number of arguments g2_multiply 0x93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8 => FAIL g2_multiply 0x93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8 2 3 => FAIL g2_multiply => FAIL ; G2 point has invalid length g2_multiply 0x93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bd => FAIL g2_multiply 0x93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb800 => FAIL g2_multiply 0 => FAIL g2_multiply ( 1 2 3 ) => FAIL ; bls g2 negate g2_negate 0xb3e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8 => 0x93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8 | 2164 g2_negate 0xb3e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bd => FAIL g2_negate 0xb3e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8dd => FAIL g2_negate 0xb3e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8 0xb3e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8 => FAIL g2_negate 0 => FAIL g2_negate ( 1 2 3 ) => FAIL ; the point has to be a valid G2 point g2_negate 0xb3e02b6052719f624359072893758937457903459920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8 => FAIL ; negate on identity is a no-op g2_negate 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 => 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | 2164 ; bls map to g1 ; expects (seed [DST_str]) g1_map "abcdef0123456789" => 0x88e7302bf1fa8fcdecfb96f6b81475c3564d3bcaf552ccb338b1c48b9ba18ab7195c5067fe94fb216478188c0a3bef4a | 195716 g1_map "abcdef0123456789" "BLS_SIG_BLS12381G1_XMD:SHA-256_SSWU_RO_NUL_" => 0x8dd8e3a9197ddefdc25dde980d219004d6aa130d1af9b1808f8b2b004ae94484ac62a08a739ec7843388019a79c437b0 | 195716 g1_map "abcdef0123456789" "BLS_SIG_BLS12381G1_XMD:SHA-256_SSWU_RO_AUG_" => 0x88e7302bf1fa8fcdecfb96f6b81475c3564d3bcaf552ccb338b1c48b9ba18ab7195c5067fe94fb216478188c0a3bef4a | 195716 ; invalid number of arguments g1_map => FAIL g1_map 1337 42 10 => FAIL ; invalid arguments g1_map ( "hello" ) => FAIL g1_map ( "foo" "bar" ) => FAIL g1_map (()) => FAIL ; bls map to g2 ; expects (seed [DST_str]) g2_map "abcdef0123456789" => 0x92596412844e12c4733b5a6bfc5727cde4c20b345665d2de99de163266f3ba6a944c6c0fdd9d9fe57b9a4acb769bf3780456f8aab4cd41a70836dba57a5278a85fbd18eb96a2b56cfbda853186c9d190c43e63bc3e6a181aed692e97bbdb1944 | 816196 g2_map "abcdef0123456789" "BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_" => 0x8ee1ff66094b8975401c86ad424076d97fed9c2025db5f9dfde6ed455c7bff34b55e96379c1f9ee3c173633587f425e50aed3e807c6c7cd7bed35d40542eee99891955b2ea5321ebde37172e2c01155138494c2d725b03c02765828679bf011e | 816196 g2_map "abcdef0123456789" "BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_AUG_" => 0x92596412844e12c4733b5a6bfc5727cde4c20b345665d2de99de163266f3ba6a944c6c0fdd9d9fe57b9a4acb769bf3780456f8aab4cd41a70836dba57a5278a85fbd18eb96a2b56cfbda853186c9d190c43e63bc3e6a181aed692e97bbdb1944 | 816196 ; invalid number of arguments g2_map => FAIL g2_map 1337 42 10 => FAIL ; invalid arguments g2_map ( "hello" ) => FAIL g2_map ( "foo" "bar" ) => FAIL g2_map (()) => FAIL ; bls_pairing_identity ; expects G1 G2 G1 G2 ... bls_pairing_identity 0x8b202593319bce41b090f3309986de59861ab1e2ff32aef871d83f9aac232c7253c01f1f649c6f69879c441286319de4 0x942adad4dbeadcfd75aaa11940a5e5e16a8d8e91742029a3944610635ccc0572eceeb1c89d8a0e904c5d30b9497e700312dee7b833535effef24953dbf8f8aa770e2f1a8e01d3b6f6844e01a635ed95664babe9d62a2572651d0258461c8ba00 0xb7f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb 0x80c37921e62092ef55f85f9eccb21bd80cfaafc0bce9cbdd6999b1a8cabadc8f23720f0261efafaf53cbcc74580b9432007b66d824668900a94934f184bc41bf9ccf9ec141c6f7da610aa7296cd0a181ae8fe176b607aa4c367f15ee0cb985d7 => 0 | 5400000 ; identity bls_pairing_identity => 0 | 3000000 ; wrong signature bls_pairing_identity 0x8b202593319bce41b090f3309986de59861ab1e2ff32aef871d83f9aac232c7253c01f1f649c6f69879c441286319de4 0x942adad4dbeadcfd75aaa11940a5e5e16a8d8e91742029a3944610635ccc0572eceeb1c89d8a0e904c5d30b9497e700312dee7b833535effef24953dbf8f8aa770e2f1a8e01d3b6f6844e01a635ed95664babe9d62a2572651d0258461c8ba00 0xb7f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb 0xa173a7ee88614d012b24c56ea34bf6f3cd163b1ad2681beaad13242e52080729e542f7c5e4e995635affee2fc7bd65100a41bc61ca11dc51e16613a23fc27390d4c9cede94d780f670c43e2e5637d0808fdb6816e871920ddfdd3b18e452f732 => FAIL ; wrong generator bls_pairing_identity 0x8b202593319bce41b090f3309986de59861ab1e2ff32aef871d83f9aac232c7253c01f1f649c6f69879c441286319de4 0x942adad4dbeadcfd75aaa11940a5e5e16a8d8e91742029a3944610635ccc0572eceeb1c89d8a0e904c5d30b9497e700312dee7b833535effef24953dbf8f8aa770e2f1a8e01d3b6f6844e01a635ed95664babe9d62a2572651d0258461c8ba00 0x9756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x80c37921e62092ef55f85f9eccb21bd80cfaafc0bce9cbdd6999b1a8cabadc8f23720f0261efafaf53cbcc74580b9432007b66d824668900a94934f184bc41bf9ccf9ec141c6f7da610aa7296cd0a181ae8fe176b607aa4c367f15ee0cb985d7 => FAIL ; wrong public key bls_pairing_identity 0x81cdc5c9548072b0189498ffc13d68bec0065eca892e1f06533475edb00f36b0cf7aca8164d79f8b5bc5dc55870aa564 0x942adad4dbeadcfd75aaa11940a5e5e16a8d8e91742029a3944610635ccc0572eceeb1c89d8a0e904c5d30b9497e700312dee7b833535effef24953dbf8f8aa770e2f1a8e01d3b6f6844e01a635ed95664babe9d62a2572651d0258461c8ba00 0xb7f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb 0x80c37921e62092ef55f85f9eccb21bd80cfaafc0bce9cbdd6999b1a8cabadc8f23720f0261efafaf53cbcc74580b9432007b66d824668900a94934f184bc41bf9ccf9ec141c6f7da610aa7296cd0a181ae8fe176b607aa4c367f15ee0cb985d7 => FAIL ; invalid G1 bls_pairing_identity 0x8b202593319bce41b090f4309986de59861ab1e2ff32aef871d83f9aac232c7253c01f1f649c6f69879c441286319de4 0x942adad4dbeadcfd75aaa11940a5e5e16a8d8e91742029a3944610635ccc0572eceeb1c89d8a0e904c5d30b9497e700312dee7b833535effef24953dbf8f8aa770e2f1a8e01d3b6f6844e01a635ed95664babe9d62a2572651d0258461c8ba00 0xb7f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb 0x80c37921e62092ef55f85f9eccb21bd80cfaafc0bce9cbdd6999b1a8cabadc8f23720f0261efafaf53cbcc74580b9432007b66d824668900a94934f184bc41bf9ccf9ec141c6f7da610aa7296cd0a181ae8fe176b607aa4c367f15ee0cb985d7 => FAIL bls_pairing_identity 0x8b202593319bce41b090f3309986de59861ab1e2ff32aef871d83f9aac232c7253c01f1f649c6f69879c441286319de4 0x942adad4dbeadcfd75aaa11940a5e5e16a8d8e91742029a3944610635ccc0572eceeb1c89d8a0e904c5d30b9497e700312dee7b833535effef24953dbf8f8aa770e2f1a8e01d3b6f6844e01a635ed95664babe9d62a2572651d0258461c8ba00 0xb7f123a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb 0x80c37921e62092ef55f85f9eccb21bd80cfaafc0bce9cbdd6999b1a8cabadc8f23720f0261efafaf53cbcc74580b9432007b66d824668900a94934f184bc41bf9ccf9ec141c6f7da610aa7296cd0a181ae8fe176b607aa4c367f15ee0cb985d7 => FAIL bls_pairing_identity ("foobar" . 0x942adad4dbeadcfd75aaa11940a5e5e16a8d8e91742029a3944610635ccc0572eceeb1c89d8a0e904c5d30b9497e700312dee7b833535effef24953dbf8f8aa770e2f1a8e01d3b6f6844e01a635ed95664babe9d62a2572651d0258461c8ba00) 0xb7f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb 0x80c37921e62092ef55f85f9eccb21bd80cfaafc0bce9cbdd6999b1a8cabadc8f23720f0261efafaf53cbcc74580b9432007b66d824668900a94934f184bc41bf9ccf9ec141c6f7da610aa7296cd0a181ae8fe176b607aa4c367f15ee0cb985d7 => FAIL bls_pairing_identity 0x8b202593319bce41b090f3309986de59861ab1e2ff32aef871d83f9aac232c7253c01f1f649c6f69879c441286319de4 0x942adad4dbeadcfd75aaa11940a5e5e16a8d8e91742029a3944610635ccc0572eceeb1c89d8a0e904c5d30b9497e700312dee7b833535effef24953dbf8f8aa770e2f1a8e01d3b6f6844e01a635ed95664babe9d62a2572651d0258461c8ba00 ("foobar" . 0x80c37921e62092ef55f85f9eccb21bd80cfaafc0bce9cbdd6999b1a8cabadc8f23720f0261efafaf53cbcc74580b9432007b66d824668900a94934f184bc41bf9ccf9ec141c6f7da610aa7296cd0a181ae8fe176b607aa4c367f15ee0cb985d7) => FAIL bls_pairing_identity ((1 . 2) . 0x942adad4dbeadcfd75aaa11940a5e5e16a8d8e91742029a3944610635ccc0572eceeb1c89d8a0e904c5d30b9497e700312dee7b833535effef24953dbf8f8aa770e2f1a8e01d3b6f6844e01a635ed95664babe9d62a2572651d0258461c8ba00) 0xb7f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb 0x80c37921e62092ef55f85f9eccb21bd80cfaafc0bce9cbdd6999b1a8cabadc8f23720f0261efafaf53cbcc74580b9432007b66d824668900a94934f184bc41bf9ccf9ec141c6f7da610aa7296cd0a181ae8fe176b607aa4c367f15ee0cb985d7 => FAIL bls_pairing_identity 0x8b202593319bce41b090f3309986de59861ab1e2ff32aef871d83f9aac232c7253c01f1f649c6f69879c441286319de4 0x942adad4dbeadcfd75aaa11940a5e5e16a8d8e91742029a3944610635ccc0572eceeb1c89d8a0e904c5d30b9497e700312dee7b833535effef24953dbf8f8aa770e2f1a8e01d3b6f6844e01a635ed95664babe9d62a2572651d0258461c8ba00 ((1 . 2) . 0x80c37921e62092ef55f85f9eccb21bd80cfaafc0bce9cbdd6999b1a8cabadc8f23720f0261efafaf53cbcc74580b9432007b66d824668900a94934f184bc41bf9ccf9ec141c6f7da610aa7296cd0a181ae8fe176b607aa4c367f15ee0cb985d7) => FAIL ; invalid G2 bls_pairing_identity 0x8b202593319bce41b090f3309986de59861ab1e2ff32aef871d83f9aac232c7253c01f1f649c6f69879c441286319de4 0x942adad4dbead7fd75aaa11940a5e5e16a8d8e91742029a3944610635ccc0572eceeb1c89d8a0e904c5d30b9497e700312dee7b833535effef24953dbf8f8aa770e2f1a8e01d3b6f6844e01a635ed95664babe9d62a2572651d0258461c8ba00 0xb7f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb 0x80c37921e62092ef55f85f9eccb21bd80cfaafc0bce9cbdd6999b1a8cabadc8f23720f0261efafaf53cbcc74580b9432007b66d824668900a94934f184bc41bf9ccf9ec141c6f7da610aa7296cd0a181ae8fe176b607aa4c367f15ee0cb985d7 => FAIL bls_pairing_identity 0x8b202593319bce41b090f3309986de59861ab1e2ff32aef871d83f9aac232c7253c01f1f649c6f69879c441286319de4 0x942adad4dbeadcfd75aaa11940a5e5e16a8d8e91742029a3944610635ccc0572eceeb1c89d8a0e904c5d30b9497e700312dee7b833535effef24953dbf8f8aa770e2f1a8e01d3b6f6844e01a635ed95664babe9d62a2572651d0258461c8ba00 0xb7f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb 0x80c37921e62092ef55f85f9eccb81bd80cfaafc0bce9cbdd6999b1a8cabadc8f23720f0261efafaf53cbcc74580b9432007b66d824668900a94934f184bc41bf9ccf9ec141c6f7da610aa7296cd0a181ae8fe176b607aa4c367f15ee0cb985d7 => FAIL bls_pairing_identity (0x8b202593319bce41b090f3309986de59861ab1e2ff32aef871d83f9aac232c7253c01f1f649c6f69879c441286319de4 . "foobar") 0xb7f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb 0x80c37921e62092ef55f85f9eccb21bd80cfaafc0bce9cbdd6999b1a8cabadc8f23720f0261efafaf53cbcc74580b9432007b66d824668900a94934f184bc41bf9ccf9ec141c6f7da610aa7296cd0a181ae8fe176b607aa4c367f15ee0cb985d7 => FAIL bls_pairing_identity (0x8b202593319bce41b090f3309986de59861ab1e2ff32aef871d83f9aac232c7253c01f1f649c6f69879c441286319de4 . (1 . 2)) 0xb7f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb 0x80c37921e62092ef55f85f9eccb21bd80cfaafc0bce9cbdd6999b1a8cabadc8f23720f0261efafaf53cbcc74580b9432007b66d824668900a94934f184bc41bf9ccf9ec141c6f7da610aa7296cd0a181ae8fe176b607aa4c367f15ee0cb985d7 => FAIL bls_pairing_identity 0x8b202593319bce41b090f3309986de59861ab1e2ff32aef871d83f9aac232c7253c01f1f649c6f69879c441286319de4 0x942adad4dbeadcfd75aaa11940a5e5e16a8d8e91742029a3944610635ccc0572eceeb1c89d8a0e904c5d30b9497e700312dee7b833535effef24953dbf8f8aa770e2f1a8e01d3b6f6844e01a635ed95664babe9d62a2572651d0258461c8ba00 (0xb7f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb . "foobar") => FAIL bls_pairing_identity 0x8b202593319bce41b090f3309986de59861ab1e2ff32aef871d83f9aac232c7253c01f1f649c6f69879c441286319de4 0x942adad4dbeadcfd75aaa11940a5e5e16a8d8e91742029a3944610635ccc0572eceeb1c89d8a0e904c5d30b9497e700312dee7b833535effef24953dbf8f8aa770e2f1a8e01d3b6f6844e01a635ed95664babe9d62a2572651d0258461c8ba00 (0xb7f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb . (1 . 2) ) => FAIL ; invalid pair bls_pairing_identity (0x8b202593319bce41b090f3309986de59861ab1e2ff32aef871d83f9aac232c7253c01f1f649c6f69879c441286319de4 0x942adad4dbeadcfd75aaa11940a5e5e16a8d8e91742029a3944610635ccc0572eceeb1c89d8a0e904c5d30b9497e700312dee7b833535effef24953dbf8f8aa770e2f1a8e01d3b6f6844e01a635ed95664babe9d62a2572651d0258461c8ba00) 0xb7f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb 0x80c37921e62092ef55f85f9eccb21bd80cfaafc0bce9cbdd6999b1a8cabadc8f23720f0261efafaf53cbcc74580b9432007b66d824668900a94934f184bc41bf9ccf9ec141c6f7da610aa7296cd0a181ae8fe176b607aa4c367f15ee0cb985d7 => FAIL bls_pairing_identity 0x8b202593319bce41b090f3309986de59861ab1e2ff32aef871d83f9aac232c7253c01f1f649c6f69879c441286319de4 0x942adad4dbeadcfd75aaa11940a5e5e16a8d8e91742029a3944610635ccc0572eceeb1c89d8a0e904c5d30b9497e700312dee7b833535effef24953dbf8f8aa770e2f1a8e01d3b6f6844e01a635ed95664babe9d62a2572651d0258461c8ba00 (0xb7f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb 0x80c37921e62092ef55f85f9eccb21bd80cfaafc0bce9cbdd6999b1a8cabadc8f23720f0261efafaf53cbcc74580b9432007b66d824668900a94934f184bc41bf9ccf9ec141c6f7da610aa7296cd0a181ae8fe176b607aa4c367f15ee0cb985d7) => FAIL bls_pairing_identity (1 . 2) => FAIL bls_pairing_identity (1 2 3) => FAIL bls_pairing_identity (()) => FAIL bls_pairing_identity "foobar" => FAIL ; bls_verify ; expects G2 G1 msg G1 msg ... bls_verify 0x80c37921e62092ef55f85f9eccb21bd80cfaafc0bce9cbdd6999b1a8cabadc8f23720f0261efafaf53cbcc74580b9432007b66d824668900a94934f184bc41bf9ccf9ec141c6f7da610aa7296cd0a181ae8fe176b607aa4c367f15ee0cb985d7 0x8b202593319bce41b090f3309986de59861ab1e2ff32aef871d83f9aac232c7253c01f1f649c6f69879c441286319de4 0x39cb1950dba19a7bee9924b5bd2b29f190ffe4ef => 0 | 4200252 ; many small messages bls_verify 0x93aba95d8884c300be0f86571d2cbe04bc193d8046b0d2ae1b67341661f1d6cfaf7f9b81a8b9b8e255ed20da73b569a901a0a1b36ac755bf501cb860088816fc7dc68ee00491166061a65cfc1f970645965a306e3b20677ba32300209e327fca 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3100 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3101 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3102 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3103 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3104 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3105 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3106 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3107 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3108 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3109 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x310a 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x310b 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x310c 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x310d 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x310e 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x310f 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3110 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3111 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3112 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3113 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3114 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3115 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3116 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3117 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3118 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3119 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x311a 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x311b 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x311c 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x311d 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x311e 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x311f 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3120 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3121 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3122 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3123 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3124 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3125 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3126 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3127 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3128 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3129 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x312a 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x312b 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x312c 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x312d 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x312e 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x312f 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3130 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3131 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3132 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3133 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3134 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3135 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3136 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3137 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3138 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3139 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x313a 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x313b 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x313c 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x313d 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x313e 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x313f 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3140 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3141 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3142 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3143 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3144 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3145 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3146 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3147 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3148 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3149 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x314a 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x314b 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x314c 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x314d 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x314e 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x314f 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3150 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3151 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3152 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3153 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3154 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3155 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3156 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3157 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3158 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3159 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x315a 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x315b 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x315c 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x315d 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x315e 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x315f 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3160 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3161 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3162 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3163 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3164 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3165 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3166 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3167 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3168 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3169 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x316a 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x316b 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x316c 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x316d 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x316e 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x316f 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3170 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3171 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3172 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3173 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3174 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3175 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3176 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3177 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3178 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3179 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x317a 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x317b 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x317c 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x317d 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x317e 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x317f 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3180 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3181 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3182 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3183 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3184 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3185 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3186 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3187 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3188 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3189 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x318a 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x318b 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x318c 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x318d 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x318e 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x318f 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3190 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3191 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3192 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3193 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3194 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x3195 => 0 | 183027000 ; many large messages bls_verify 0xaea8c8d68aed82e6334a9ec81729f4f7cf648cc471523b3be43cb5ea0672d09dcf8b2e9312788b82a179b47279676103018624d8dc1bee40212fceb0b9345f56e531a8dd5264ab8e95d5122cd45858b4c1d768ed8f33ca5758a1bb59c5923275 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617200 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617201 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617202 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617203 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617204 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617205 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617206 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617207 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617208 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617209 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261720a 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261720b 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261720c 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261720d 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261720e 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261720f 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617210 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617211 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617212 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617213 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617214 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617215 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617216 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617217 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617218 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617219 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261721a 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261721b 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261721c 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261721d 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261721e 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261721f 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617220 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617221 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617222 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617223 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617224 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617225 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617226 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617227 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617228 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617229 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261722a 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261722b 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261722c 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261722d 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261722e 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261722f 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617230 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617231 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617232 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617233 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617234 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617235 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617236 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617237 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617238 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617239 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261723a 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261723b 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261723c 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261723d 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261723e 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261723f 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617240 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617241 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617242 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617243 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617244 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617245 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617246 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617247 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617248 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617249 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261724a 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261724b 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261724c 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261724d 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261724e 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261724f 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617250 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617251 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617252 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617253 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617254 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617255 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617256 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617257 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617258 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617259 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261725a 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261725b 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261725c 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261725d 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261725e 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f6261725f 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617260 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617261 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617262 0xb756ecad886b575d2c95014c20bcd9b52f1f72e3b5fbc657bacf1e72be707f9aaf76a9156a1628b99d873036beecec10 0x666f6f626172666f6f62617263 => 0 | 123022400 ; identity (no messages signed) bls_verify 0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 => 0 | 3000000 ; the wrong signature bls_verify 0x883e8b618955bcfcd7e3b2c33eafbd5e8e2c54d9f6e2f219060e5d47a3f004f3c16bf41dc1865965aa33b1181bd63c111246cfe558550376199e23b731ab493e31718c18691d54b20cf07514dc1af66eacfc51eebc33d28ea23712cfba20dc70 0x8b202593319bce41b090f3309986de59861ab1e2ff32aef871d83f9aac232c7253c01f1f649c6f69879c441286319de4 0x39cb1950dba19a7bee9924b5bd2b29f190ffe4ef => FAIL ; the wrong public key bls_verify 0x80c37921e62092ef55f85f9eccb21bd80cfaafc0bce9cbdd6999b1a8cabadc8f23720f0261efafaf53cbcc74580b9432007b66d824668900a94934f184bc41bf9ccf9ec141c6f7da610aa7296cd0a181ae8fe176b607aa4c367f15ee0cb985d7 0xa061cdfcf9339ffd4e7996adcf12e1776882629dc084254f74faf150c718420e4b34940f173aca1c32d0dc6d6a776fb4 0x39cb1950dba19a7bee9924b5bd2b29f190ffe4ef => FAIL ; invalid signature bls_verify (1 . 2) 0x8b202593319bce41b090f3309986de59861ab1e2ff32aef871d83f9aac232c7253c01f1f649c6f69879c441286319de4 0x39cb1950dba19a7bee9924b5bd2b29f190ffe4ef => FAIL bls_verify "foobar" 0x8b202593319bce41b090f3309986de59861ab1e2ff32aef871d83f9aac232c7253c01f1f649c6f69879c441286319de4 0x39cb1950dba19a7bee9924b5bd2b29f190ffe4ef => FAIL bls_verify 0x80c37921e62092ef55f85f9eccb21bd80cfaafc0bce9cbdd6999b1a8cabadc8f23720f0261efafaf53cbcc74580b9432007b66d824668900a94934f184bc41bf9ccf9ec141c6f7da610aa7296cd0a181ae8fe176b607aa4c367f15ee1cb985d7 0x8b202593319bce41b090f3309986de59861ab1e2ff32aef871d83f9aac232c7253c01f1f649c6f69879c441286319de4 0x39cb1950dba19a7bee9924b5bd2b29f190ffe4ef => FAIL ; invalid message bls_verify 0x80c37921e62092ef55f85f9eccb21bd80cfaafc0bce9cbdd6999b1a8cabadc8f23720f0261efafaf53cbcc74580b9432007b66d824668900a94934f184bc41bf9ccf9ec141c6f7da610aa7296cd0a181ae8fe176b607aa4c367f15ee0cb985d7 0x8b202593319bce41b090f3309986de59861ab1e2ff32aef871d83f9aac232c7253c01f1f649c6f69879c441286319de4 (1 . 2)) => FAIL ; invalid public key bls_verify 0x80c37921e62092ef55f85f9eccb21bd80cfaafc0bce9cbdd6999b1a8cabadc8f23720f0261efafaf53cbcc74580b9432007b66d824668900a94934f184bc41bf9ccf9ec141c6f7da610aa7296cd0a181ae8fe176b607aa4c367f15ee0cb985d7 (1 . 2) 0x39cb1950dba19a7bee9924b5bd2b29f190ffe4ef => FAIL bls_verify 0x80c37921e62092ef55f85f9eccb21bd80cfaafc0bce9cbdd6999b1a8cabadc8f23720f0261efafaf53cbcc74580b9432007b66d824668900a94934f184bc41bf9ccf9ec141c6f7da610aa7296cd0a181ae8fe176b607aa4c367f15ee0cb985d7 "foobar" 0x39cb1950dba19a7bee9924b5bd2b29f190ffe4ef => FAIL bls_verify 0x80c37921e62092ef55f85f9eccb21bd80cfaafc0bce9cbdd6999b1a8cabadc8f23720f0261efafaf53cbcc74580b9432007b66d824668900a94934f184bc41bf9ccf9ec141c6f7da610aa7296cd0a181ae8fe176b607aa4c367f15ee0cb985d7 0x8b202593319bce41b090f3309986de89861ab1e2ff32aef871d83f9aac232c7253c01f1f649c6f69879c441286319de4 0x39cb1950dba19a7bee9924b5bd2b29f190ffe4ef => FAIL ; missing signature bls_verify 0x8b202593319bce41b090f3309986de59861ab1e2ff32aef871d83f9aac232c7253c01f1f649c6f69879c441286319de4 0x39cb1950dba19a7bee9924b5bd2b29f190ffe4ef => FAIL ; invalid arguments bls_verify => FAIL bls_verify () => FAIL bls_verify (1 2 3) => FAIL bls_verify 1 => FAIL bls_verify (1 . 2) => FAIL