File tree Expand file tree Collapse file tree 18 files changed +519
-0
lines changed Expand file tree Collapse file tree 18 files changed +519
-0
lines changed Original file line number Diff line number Diff line change
1
+ 6080604052348015600e575f5ffd5b50610fb48061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c806323d746281461002d575b5f5ffd5b610035610037565b005b5f610060600f604051806101a00160405280610180815260200161065e6101809139602061023b565b90506100b88160405180604001604052806020815260200160018152506040518060400160405280601481526020017f70616972696e67206528302c47322920213d2031000000000000000000000000815250610335565b5f6100e1600f604051806101a001604052806101808152602001610c5e6101809139602061023b565b90506101398160405180604001604052806020815260200160018152506040518060400160405280601481526020017f70616972696e6720652847312c302920213d2031000000000000000000000000815250610335565b5f610162600f604051806101a001604052806101808152602001610dde6101809139602061023b565b905061019c816040518060400160405280602081526020015f815250604051806060016040528060218152602001610f5e60219139610335565b5f6101c5600f604051806104a0016040528061048081526020016107de6104809139602061023b565b905061021c816040518060400160405280602081526020015f8152506040518060400160405280602081526020017f70616972696e672070726f647563742066616c73652065787065637465642030815250610335565b610235600f60405180602001604052805f81525061038e565b50505050565b60605f5f8573ffffffffffffffffffffffffffffffffffffffff1685604051610264919061048d565b5f60405180830381855afa9150503d805f811461029c576040519150601f19603f3d011682016040523d82523d5f602084013e6102a1565b606091505b5091509150816102e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102dd906104fd565b60405180910390fd5b83815114610329576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032090610565565b60405180910390fd5b80925050509392505050565b81805190602001208380519060200120148190610388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161037f91906105d5565b60405180910390fd5b50505050565b5f8273ffffffffffffffffffffffffffffffffffffffff16826040516103b4919061048d565b5f60405180830381855afa9150503d805f81146103ec576040519150601f19603f3d011682016040523d82523d5f602084013e6103f1565b606091505b505090508015610436576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042d9061063f565b60405180910390fd5b505050565b5f81519050919050565b5f81905092915050565b8281835e5f83830152505050565b5f6104678261043b565b6104718185610445565b935061048181856020860161044f565b80840191505092915050565b5f610498828461045d565b915081905092915050565b5f82825260208201905092915050565b7f707265636f6d70696c65207265766572746564000000000000000000000000005f82015250565b5f6104e76013836104a3565b91506104f2826104b3565b602082019050919050565b5f6020820190508181035f830152610514816104db565b9050919050565b7f756e65787065637465642072657475726e206c656e67746800000000000000005f82015250565b5f61054f6018836104a3565b915061055a8261051b565b602082019050919050565b5f6020820190508181035f83015261057c81610543565b9050919050565b5f81519050919050565b5f601f19601f8301169050919050565b5f6105a782610583565b6105b181856104a3565b93506105c181856020860161044f565b6105ca8161058d565b840191505092915050565b5f6020820190508181035f8301526105ed818461059d565b905092915050565b7f65787065637465642072657665727400000000000000000000000000000000005f82015250565b5f610629600f836104a3565b9150610634826105f5565b602082019050919050565b5f6020820190508181035f8301526106568161061d565b905091905056fe000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb80000000000000000000000000000000013e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e000000000000000000000000000000000ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801000000000000000000000000000000000606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be0000000000000000000000000000000017f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb0000000000000000000000000000000008b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e100000000000000000000000000000000024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb80000000000000000000000000000000013e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e000000000000000000000000000000000ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801000000000000000000000000000000000606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb0000000000000000000000000000000008b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e100000000000000000000000000000000024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb80000000000000000000000000000000013e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e000000000000000000000000000000000ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801000000000000000000000000000000000606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be0000000000000000000000000000000017f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb0000000000000000000000000000000008b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb0000000000000000000000000000000008b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e100000000000000000000000000000000024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb80000000000000000000000000000000013e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e000000000000000000000000000000000ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801000000000000000000000000000000000606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be70616972696e67206e6f6e2d646567656e65726163792065787065637465642030a2646970667358221220e64b247f9cea2a6fc12282266cb05b7e775729169560b9014923d3c544d1f8f064736f6c634300081e0033
Original file line number Diff line number Diff line change
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity ^ 0.8.20 ;
3
+
4
+ import "./G1AddTest.sol " ;
5
+ import "./G1MsmTest.sol " ;
6
+ import "./G2AddTest.sol " ;
7
+ import "./G2MsmTest.sol " ;
8
+ import "./MapFpToG1Test.sol " ;
9
+ import "./MapFp2ToG2Test.sol " ;
10
+ import "./PairingTest.sol " ;
11
+
12
+ contract AllBLS12Tests {
13
+ G1AddTest private g1Add;
14
+ G1MsmTest private g1Msm;
15
+ G2AddTest private g2Add;
16
+ G2MsmTest private g2Msm;
17
+ MapFpToG1Test private mapFpToG1;
18
+ MapFp2ToG2Test private mapFp2ToG2;
19
+ PairingTest private pairing;
20
+
21
+ constructor () {
22
+ g1Add = new G1AddTest ();
23
+ g1Msm = new G1MsmTest ();
24
+ g2Add = new G2AddTest ();
25
+ g2Msm = new G2MsmTest ();
26
+ mapFpToG1 = new MapFpToG1Test ();
27
+ mapFp2ToG2 = new MapFp2ToG2Test ();
28
+ pairing = new PairingTest ();
29
+ }
30
+
31
+ function runTests () public view {
32
+ g1Add.runTests ();
33
+ g1Msm.runTests ();
34
+ g2Add.runTests ();
35
+ g2Msm.runTests ();
36
+ mapFpToG1.runTests ();
37
+ mapFp2ToG2.runTests ();
38
+ pairing.runTests ();
39
+ }
40
+ }
41
+
Original file line number Diff line number Diff line change
1
+ 6080604052348015600e575f5ffd5b506111568061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c806323d746281461002d575b5f5ffd5b610035610037565b005b5f610060600b6040518061012001604052806101008152602001610e216101009139608061052e565b90506100ba816040518060a00160405280608081526020016110a1608091396040518060400160405280601281526020017f673161646420616464206d69736d617463680000000000000000000000000000815250610628565b5f6100e3600b6040518061012001604052806101008152602001610d216101009139608061052e565b905061013d816040518060a0016040528060808152602001611021608091396040518060400160405280601a81526020017f673161646420646f75626c696e67206731206d69736d61746368000000000000815250610628565b5f610166600b6040518061012001604052806101008152602001610c216101009139608061052e565b90506101c0816040518060a0016040528060808152602001610fa1608091396040518060400160405280601a81526020017f673161646420646f75626c696e67207031206d69736d61746368000000000000815250610628565b5f610254600b6040518060a0016040528060808152602001610aa160809139608067ffffffffffffffff8111156101fa576101f961072e565b5b6040519080825280601f01601f19166020018201604052801561022c5781602001600182028036833780820191505090505b5060405160200161023e9291906107ad565b604051602081830303815290604052608061052e565b90506102ae816040518060a0016040528060808152602001610aa1608091396040518060400160405280601c81526020017f6731616464206964656e746974792067312b30206d69736d6174636800000000815250610628565b5f610342600b6040518060a0016040528060808152602001610f2160809139608067ffffffffffffffff8111156102e8576102e761072e565b5b6040519080825280601f01601f19166020018201604052801561031a5781602001600182028036833780820191505090505b5060405160200161032c9291906107ad565b604051602081830303815290604052608061052e565b905061039c816040518060a0016040528060808152602001610f21608091396040518060400160405280601c81526020017f6731616464206964656e746974792070312b30206d69736d6174636800000000815250610628565b5f6103c5600b60405180610120016040528061010081526020016109a16101009139608061052e565b905061045481608067ffffffffffffffff8111156103e6576103e561072e565b5b6040519080825280601f01601f1916602001820160405280156104185781602001600182028036833780820191505090505b506040518060400160405280601081526020017f67316164642067312d673120213d203000000000000000000000000000000000815250610628565b5f61047d600b6040518061012001604052806101008152602001610b216101009139608061052e565b905061050c81608067ffffffffffffffff81111561049e5761049d61072e565b5b6040519080825280601f01601f1916602001820160405280156104d05781602001600182028036833780820191505090505b506040518060400160405280601081526020017f67316164642070312d703120213d203000000000000000000000000000000000815250610628565b610525600b60405180602001604052805f815250610681565b50505050505050565b60605f5f8573ffffffffffffffffffffffffffffffffffffffff168560405161055791906107d0565b5f60405180830381855afa9150503d805f811461058f576040519150601f19603f3d011682016040523d82523d5f602084013e610594565b606091505b5091509150816105d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d090610840565b60405180910390fd5b8381511461061c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610613906108a8565b60405180910390fd5b80925050509392505050565b8180519060200120838051906020012014819061067b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106729190610918565b60405180910390fd5b50505050565b5f8273ffffffffffffffffffffffffffffffffffffffff16826040516106a791906107d0565b5f60405180830381855afa9150503d805f81146106df576040519150601f19603f3d011682016040523d82523d5f602084013e6106e4565b606091505b505090508015610729576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072090610982565b60405180910390fd5b505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050919050565b5f81905092915050565b8281835e5f83830152505050565b5f6107878261075b565b6107918185610765565b93506107a181856020860161076f565b80840191505092915050565b5f6107b8828561077d565b91506107c4828461077d565b91508190509392505050565b5f6107db828461077d565b915081905092915050565b5f82825260208201905092915050565b7f707265636f6d70696c65207265766572746564000000000000000000000000005f82015250565b5f61082a6013836107e6565b9150610835826107f6565b602082019050919050565b5f6020820190508181035f8301526108578161081e565b9050919050565b7f756e65787065637465642072657475726e206c656e67746800000000000000005f82015250565b5f6108926018836107e6565b915061089d8261085e565b602082019050919050565b5f6020820190508181035f8301526108bf81610886565b9050919050565b5f81519050919050565b5f601f19601f8301169050919050565b5f6108ea826108c6565b6108f481856107e6565b935061090481856020860161076f565b61090d816108d0565b840191505092915050565b5f6020820190508181035f83015261093081846108e0565b905092915050565b7f65787065637465642072657665727400000000000000000000000000000000005f82015250565b5f61096c600f836107e6565b915061097782610938565b602082019050919050565b5f6020820190508181035f83015261099981610960565b905091905056fe0000000000000000000000000000000017f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb0000000000000000000000000000000008b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e10000000000000000000000000000000017f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb00000000000000000000000000000000114d1d6855d545a8aa7d76c8cf2e21f267816aef1db507c96655b9d5caac42364e6f38ba0ecb751bad54dcd6b939c2ca0000000000000000000000000000000017f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb0000000000000000000000000000000008b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e100000000000000000000000000000000112b98340eee2777cc3c14163dea3ec97977ac3dc5c70da32e6e87578f44912e902ccef9efe28d4a78b8999dfbca942600000000000000000000000000000000186b28d92356c4dfec4b5201ad099dbdede3781f8998ddf929b4cd7756192185ca7b8f4ef7088f813270ac3d48868a2100000000000000000000000000000000112b98340eee2777cc3c14163dea3ec97977ac3dc5c70da32e6e87578f44912e902ccef9efe28d4a78b8999dfbca9426000000000000000000000000000000000195e911162921ba5ed055b496420f197693d36569ec34c63d7c0529a097d49e543070afba4b707e878e53c2b779208a00000000000000000000000000000000112b98340eee2777cc3c14163dea3ec97977ac3dc5c70da32e6e87578f44912e902ccef9efe28d4a78b8999dfbca942600000000000000000000000000000000186b28d92356c4dfec4b5201ad099dbdede3781f8998ddf929b4cd7756192185ca7b8f4ef7088f813270ac3d48868a2100000000000000000000000000000000112b98340eee2777cc3c14163dea3ec97977ac3dc5c70da32e6e87578f44912e902ccef9efe28d4a78b8999dfbca942600000000000000000000000000000000186b28d92356c4dfec4b5201ad099dbdede3781f8998ddf929b4cd7756192185ca7b8f4ef7088f813270ac3d48868a210000000000000000000000000000000017f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb0000000000000000000000000000000008b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e10000000000000000000000000000000017f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb0000000000000000000000000000000008b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e10000000000000000000000000000000017f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb0000000000000000000000000000000008b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e100000000000000000000000000000000112b98340eee2777cc3c14163dea3ec97977ac3dc5c70da32e6e87578f44912e902ccef9efe28d4a78b8999dfbca942600000000000000000000000000000000186b28d92356c4dfec4b5201ad099dbdede3781f8998ddf929b4cd7756192185ca7b8f4ef7088f813270ac3d48868a2100000000000000000000000000000000112b98340eee2777cc3c14163dea3ec97977ac3dc5c70da32e6e87578f44912e902ccef9efe28d4a78b8999dfbca942600000000000000000000000000000000186b28d92356c4dfec4b5201ad099dbdede3781f8998ddf929b4cd7756192185ca7b8f4ef7088f813270ac3d48868a210000000000000000000000000000000015222cddbabdd764c4bee0b3720322a65ff4712c86fc4b1588d0c209210a0884fa9468e855d261c483091b2bf7de6a630000000000000000000000000000000009f9edb99bc3b75d7489735c98b16ab78b9386c5f7a1f76c7e96ac6eb5bbde30dbca31a74ec6e0f0b12229eecea33c39000000000000000000000000000000000572cbea904d67468808c8eb50a9450c9721db309128012543902d0ac358a62ae28f75bb8f1c7c42c39a8c5529bf0f4e00000000000000000000000000000000166a9d8cabc673a322fda673779d8e3822ba3ecb8670e461f73bb9021d5fd76a4c56d9d4cd16bd1bba86881979749d28000000000000000000000000000000000a40300ce2dec9888b60690e9a41d3004fda4886854573974fab73b046d3147ba5b7a5bde85279ffede1b45b3918d82d0000000000000000000000000000000006d3d887e9f53b9ec4eb6cedf5607226754b07c01ace7834f57f3e7315faefb739e59018e22c492006190fba4a870025a26469706673582212202ce0e4ad7fc735a1b0efefb566665d6d0354c3829e3b9299ce0db34d808e52c764736f6c634300081e0033
You can’t perform that action at this time.
0 commit comments