EIP2565 impl (#82)

EIP2565 implementation
This commit is contained in:
adria0.eth
2020-11-12 14:31:24 +01:00
committed by GitHub
parent 910bb78f0d
commit 81ae80b7f1
6 changed files with 391 additions and 63 deletions

View File

@@ -17,11 +17,11 @@
},
"params": {
"gasLimitBoundDivisor": "0x0400",
"registrar" : "0xc6d9d2cd449a754c494264e1809c50e34d64562b",
"registrar": "0xc6d9d2cd449a754c494264e1809c50e34d64562b",
"accountStartNonce": "0x00",
"maximumExtraDataSize": "0x20",
"minGasLimit": "0x1388",
"networkID" : "0x1",
"networkID": "0x1",
"maxCodeSize": 24576,
"maxCodeSizeTransition": "0x0",
"eip150Transition": "0x0",
@@ -60,21 +60,83 @@
"gasLimit": "0x1388"
},
"accounts": {
"0000000000000000000000000000000000000001": { "balance": "1", "builtin": { "name": "ecrecover", "pricing": { "linear": { "base": 3000, "word": 0 } } } },
"0000000000000000000000000000000000000002": { "balance": "1", "builtin": { "name": "sha256", "pricing": { "linear": { "base": 60, "word": 12 } } } },
"0000000000000000000000000000000000000003": { "balance": "1", "builtin": { "name": "ripemd160", "pricing": { "linear": { "base": 600, "word": 120 } } } },
"0000000000000000000000000000000000000004": { "balance": "1", "builtin": { "name": "identity", "pricing": { "linear": { "base": 15, "word": 3 } } } },
"0000000000000000000000000000000000000005": { "builtin": { "name": "modexp", "activate_at": "0x00", "pricing": { "modexp": { "divisor": 20 } } } },
"0000000000000000000000000000000000000001": {
"balance": "1",
"builtin": {
"name": "ecrecover",
"pricing": {
"linear": {
"base": 3000,
"word": 0
}
}
}
},
"0000000000000000000000000000000000000002": {
"balance": "1",
"builtin": {
"name": "sha256",
"pricing": {
"linear": {
"base": 60,
"word": 12
}
}
}
},
"0000000000000000000000000000000000000003": {
"balance": "1",
"builtin": {
"name": "ripemd160",
"pricing": {
"linear": {
"base": 600,
"word": 120
}
}
}
},
"0000000000000000000000000000000000000004": {
"balance": "1",
"builtin": {
"name": "identity",
"pricing": {
"linear": {
"base": 15,
"word": 3
}
}
}
},
"0000000000000000000000000000000000000005": {
"builtin": {
"name": "modexp",
"activate_at": "0x00",
"pricing": {
"0": {
"price" : { "modexp2565": { } }
}
}
}
},
"0000000000000000000000000000000000000006": {
"builtin": {
"name": "alt_bn128_add",
"pricing": {
"0": {
"price": { "alt_bn128_const_operations": { "price": 500 }}
"price": {
"alt_bn128_const_operations": {
"price": 500
}
}
},
"0": {
"info": "EIP 1108 transition",
"price": { "alt_bn128_const_operations": { "price": 150 }}
"price": {
"alt_bn128_const_operations": {
"price": 150
}
}
}
}
}
@@ -84,11 +146,19 @@
"name": "alt_bn128_mul",
"pricing": {
"0": {
"price": { "alt_bn128_const_operations": { "price": 40000 }}
"price": {
"alt_bn128_const_operations": {
"price": 40000
}
}
},
"0": {
"info": "EIP 1108 transition",
"price": { "alt_bn128_const_operations": { "price": 6000 }}
"price": {
"alt_bn128_const_operations": {
"price": 6000
}
}
}
}
}
@@ -98,11 +168,21 @@
"name": "alt_bn128_pairing",
"pricing": {
"0": {
"price": { "alt_bn128_pairing": { "base": 100000, "pair": 80000 }}
"price": {
"alt_bn128_pairing": {
"base": 100000,
"pair": 80000
}
}
},
"0": {
"info": "EIP 1108 transition",
"price": { "alt_bn128_pairing": { "base": 45000, "pair": 34000 }}
"price": {
"alt_bn128_pairing": {
"base": 45000,
"pair": 34000
}
}
}
}
}
@@ -123,7 +203,9 @@
"name": "bls12_381_g1_add",
"activate_at": "0",
"pricing": {
"bls12_const_operations": { "price": 600 }
"bls12_const_operations": {
"price": 600
}
}
}
},
@@ -132,7 +214,9 @@
"name": "bls12_381_g1_mul",
"activate_at": "0",
"pricing": {
"bls12_const_operations": { "price": 12000 }
"bls12_const_operations": {
"price": 12000
}
}
}
},
@@ -141,7 +225,9 @@
"name": "bls12_381_g1_multiexp",
"activate_at": "0",
"pricing": {
"bls12_g1_multiexp": { "base": 12000 }
"bls12_g1_multiexp": {
"base": 12000
}
}
}
},
@@ -150,7 +236,9 @@
"name": "bls12_381_g2_add",
"activate_at": "0",
"pricing": {
"bls12_const_operations": { "price": 4500 }
"bls12_const_operations": {
"price": 4500
}
}
}
},
@@ -159,7 +247,9 @@
"name": "bls12_381_g2_mul",
"activate_at": "0",
"pricing": {
"bls12_const_operations": { "price": 55000 }
"bls12_const_operations": {
"price": 55000
}
}
}
},
@@ -168,7 +258,9 @@
"name": "bls12_381_g2_multiexp",
"activate_at": "0",
"pricing": {
"bls12_g2_multiexp": { "base": 55000 }
"bls12_g2_multiexp": {
"base": 55000
}
}
}
},
@@ -177,7 +269,10 @@
"name": "bls12_381_pairing",
"activate_at": "0",
"pricing": {
"bls12_pairing": { "base": 115000, "pair": 23000 }
"bls12_pairing": {
"base": 115000,
"pair": 23000
}
}
}
},
@@ -186,7 +281,9 @@
"name": "bls12_381_fp_to_g1",
"activate_at": "0",
"pricing": {
"bls12_const_operations": { "price": 5500 }
"bls12_const_operations": {
"price": 5500
}
}
}
},
@@ -195,9 +292,11 @@
"name": "bls12_381_fp2_to_g2",
"activate_at": "0",
"pricing": {
"bls12_const_operations": { "price": 110000 }
"bls12_const_operations": {
"price": 110000
}
}
}
}
}
}
}

View File

@@ -17,11 +17,11 @@
},
"params": {
"gasLimitBoundDivisor": "0x0400",
"registrar" : "0xc6d9d2cd449a754c494264e1809c50e34d64562b",
"registrar": "0xc6d9d2cd449a754c494264e1809c50e34d64562b",
"accountStartNonce": "0x00",
"maximumExtraDataSize": "0x20",
"minGasLimit": "0x1388",
"networkID" : "0x1",
"networkID": "0x1",
"maxCodeSize": 24576,
"maxCodeSizeTransition": "0x0",
"eip150Transition": "0x0",
@@ -61,21 +61,83 @@
"gasLimit": "0x1388"
},
"accounts": {
"0000000000000000000000000000000000000001": { "balance": "1", "builtin": { "name": "ecrecover", "pricing": { "linear": { "base": 3000, "word": 0 } } } },
"0000000000000000000000000000000000000002": { "balance": "1", "builtin": { "name": "sha256", "pricing": { "linear": { "base": 60, "word": 12 } } } },
"0000000000000000000000000000000000000003": { "balance": "1", "builtin": { "name": "ripemd160", "pricing": { "linear": { "base": 600, "word": 120 } } } },
"0000000000000000000000000000000000000004": { "balance": "1", "builtin": { "name": "identity", "pricing": { "linear": { "base": 15, "word": 3 } } } },
"0000000000000000000000000000000000000005": { "builtin": { "name": "modexp", "activate_at": "0x00", "pricing": { "modexp": { "divisor": 20 } } } },
"0000000000000000000000000000000000000001": {
"balance": "1",
"builtin": {
"name": "ecrecover",
"pricing": {
"linear": {
"base": 3000,
"word": 0
}
}
}
},
"0000000000000000000000000000000000000002": {
"balance": "1",
"builtin": {
"name": "sha256",
"pricing": {
"linear": {
"base": 60,
"word": 12
}
}
}
},
"0000000000000000000000000000000000000003": {
"balance": "1",
"builtin": {
"name": "ripemd160",
"pricing": {
"linear": {
"base": 600,
"word": 120
}
}
}
},
"0000000000000000000000000000000000000004": {
"balance": "1",
"builtin": {
"name": "identity",
"pricing": {
"linear": {
"base": 15,
"word": 3
}
}
}
},
"0000000000000000000000000000000000000005": {
"builtin": {
"name": "modexp",
"activate_at": "0x00",
"pricing": {
"0": {
"price" : { "modexp2565": { } }
}
}
}
},
"0000000000000000000000000000000000000006": {
"builtin": {
"name": "alt_bn128_add",
"pricing": {
"0": {
"price": { "alt_bn128_const_operations": { "price": 500 }}
"price": {
"alt_bn128_const_operations": {
"price": 500
}
}
},
"0": {
"info": "EIP 1108 transition",
"price": { "alt_bn128_const_operations": { "price": 150 }}
"price": {
"alt_bn128_const_operations": {
"price": 150
}
}
}
}
}
@@ -85,11 +147,19 @@
"name": "alt_bn128_mul",
"pricing": {
"0": {
"price": { "alt_bn128_const_operations": { "price": 40000 }}
"price": {
"alt_bn128_const_operations": {
"price": 40000
}
}
},
"0": {
"info": "EIP 1108 transition",
"price": { "alt_bn128_const_operations": { "price": 6000 }}
"price": {
"alt_bn128_const_operations": {
"price": 6000
}
}
}
}
}
@@ -99,11 +169,21 @@
"name": "alt_bn128_pairing",
"pricing": {
"0": {
"price": { "alt_bn128_pairing": { "base": 100000, "pair": 80000 }}
"price": {
"alt_bn128_pairing": {
"base": 100000,
"pair": 80000
}
}
},
"0": {
"info": "EIP 1108 transition",
"price": { "alt_bn128_pairing": { "base": 45000, "pair": 34000 }}
"price": {
"alt_bn128_pairing": {
"base": 45000,
"pair": 34000
}
}
}
}
}
@@ -120,4 +200,4 @@
}
}
}
}
}