mirror of
https://github.com/zama-ai/fhevm-solidity.git
synced 2026-01-13 22:48:13 -05:00
chore: eq-neq bool support and bitwise scalar support chore: overloads for fheEq and fheNe fix: reverts onchain when rhs is 0 in fheDiv-fheRem feat: added support for scalar and,or,xor chore: cleanup codegen feat: adds euint128 and euint256 types chore: removes ebool fheRandBounded and adds manual tests feat: adds new types for fheRand feat: adds trivialEncrypt for ebytesXXX feat: adds fheEq fheNe ifThenElse for new types chore: rename asyncDecrypt() to initGateway()
219 lines
6.7 KiB
JSON
219 lines
6.7 KiB
JSON
{
|
|
"fheAdd": {
|
|
"binary": true,
|
|
"scalar": { "1": 65000, "2": 94000, "3": 133000, "4": 162000, "5": 188000, "6": 218000, "8": 253000 },
|
|
"nonScalar": { "1": 65000, "2": 94000, "3": 133000, "4": 162000, "5": 188000, "6": 218000, "8": 253000 }
|
|
},
|
|
"fheSub": {
|
|
"binary": true,
|
|
"scalar": { "1": 65000, "2": 94000, "3": 133000, "4": 162000, "5": 188000, "6": 218000, "8": 253000 },
|
|
"nonScalar": { "1": 65000, "2": 94000, "3": 133000, "4": 162000, "5": 188000, "6": 218000, "8": 253000 }
|
|
},
|
|
"fheMul": {
|
|
"binary": true,
|
|
"scalar": { "1": 88000, "2": 159000, "3": 208000, "4": 264000, "5": 356000, "6": 480000, "8": 647000 },
|
|
"nonScalar": { "1": 150000, "2": 197000, "3": 262000, "4": 359000, "5": 641000, "6": 1145000, "8": 2045000 }
|
|
},
|
|
"fheDiv": {
|
|
"binary": true,
|
|
"scalar": { "1": 139000, "2": 238000, "3": 314000, "4": 398000, "5": 584000, "6": 857000, "8": 1258000 }
|
|
},
|
|
"fheRem": {
|
|
"binary": true,
|
|
"scalar": { "1": 286000, "2": 460000, "3": 622000, "4": 805000, "5": 1095000, "6": 1499000, "8": 2052000 }
|
|
},
|
|
"fheBitAnd": {
|
|
"binary": true,
|
|
"scalar": { "0": 26000, "1": 32000, "2": 34000, "3": 34000, "4": 35000, "5": 38000, "6": 41000, "8": 44000 },
|
|
"nonScalar": { "0": 26000, "1": 32000, "2": 34000, "3": 34000, "4": 35000, "5": 38000, "6": 41000, "8": 44000 }
|
|
},
|
|
"fheBitOr": {
|
|
"binary": true,
|
|
"scalar": { "0": 26000, "1": 32000, "2": 34000, "3": 34000, "4": 35000, "5": 38000, "6": 41000, "8": 44000 },
|
|
"nonScalar": { "0": 26000, "1": 32000, "2": 34000, "3": 34000, "4": 35000, "5": 38000, "6": 41000, "8": 44000 }
|
|
},
|
|
"fheBitXor": {
|
|
"binary": true,
|
|
"scalar": { "0": 26000, "1": 32000, "2": 34000, "3": 34000, "4": 35000, "5": 38000, "6": 41000, "8": 44000 },
|
|
"nonScalar": { "0": 26000, "1": 32000, "2": 34000, "3": 34000, "4": 35000, "5": 38000, "6": 41000, "8": 44000 }
|
|
},
|
|
"fheShl": {
|
|
"binary": true,
|
|
"scalar": { "1": 35000, "2": 35000, "3": 35000, "4": 35000, "5": 38000, "6": 41000, "8": 44000 },
|
|
"nonScalar": { "1": 116000, "2": 133000, "3": 153000, "4": 183000, "5": 227000, "6": 282000, "8": 350000 }
|
|
},
|
|
"fheShr": {
|
|
"binary": true,
|
|
"scalar": { "1": 35000, "2": 35000, "3": 35000, "4": 35000, "5": 38000, "6": 41000, "8": 44000 },
|
|
"nonScalar": { "1": 116000, "2": 133000, "3": 153000, "4": 183000, "5": 227000, "6": 282000, "8": 350000 }
|
|
},
|
|
"fheRotl": {
|
|
"binary": true,
|
|
"scalar": { "1": 35000, "2": 35000, "3": 35000, "4": 35000, "5": 38000, "6": 41000, "8": 44000 },
|
|
"nonScalar": { "1": 116000, "2": 133000, "3": 153000, "4": 183000, "5": 227000, "6": 282000, "8": 350000 }
|
|
},
|
|
"fheRotr": {
|
|
"binary": true,
|
|
"scalar": { "1": 35000, "2": 35000, "3": 35000, "4": 35000, "5": 38000, "6": 41000, "8": 44000 },
|
|
"nonScalar": { "1": 116000, "2": 133000, "3": 153000, "4": 183000, "5": 227000, "6": 282000, "8": 350000 }
|
|
},
|
|
"fheEq": {
|
|
"binary": true,
|
|
"scalar": {
|
|
"0": 49000,
|
|
"1": 51000,
|
|
"2": 53000,
|
|
"3": 54000,
|
|
"4": 82000,
|
|
"5": 86000,
|
|
"6": 88000,
|
|
"7": 90000,
|
|
"8": 100000,
|
|
"9": 150000,
|
|
"10": 200000,
|
|
"11": 300000
|
|
},
|
|
"nonScalar": {
|
|
"0": 49000,
|
|
"1": 51000,
|
|
"2": 53000,
|
|
"3": 54000,
|
|
"4": 82000,
|
|
"5": 86000,
|
|
"6": 88000,
|
|
"7": 90000,
|
|
"8": 100000,
|
|
"9": 150000,
|
|
"10": 200000,
|
|
"11": 300000
|
|
}
|
|
},
|
|
"fheNe": {
|
|
"binary": true,
|
|
"scalar": {
|
|
"0": 49000,
|
|
"1": 51000,
|
|
"2": 53000,
|
|
"3": 54000,
|
|
"4": 82000,
|
|
"5": 86000,
|
|
"6": 88000,
|
|
"7": 90000,
|
|
"8": 100000,
|
|
"9": 150000,
|
|
"10": 200000,
|
|
"11": 300000
|
|
},
|
|
"nonScalar": {
|
|
"0": 49000,
|
|
"1": 51000,
|
|
"2": 53000,
|
|
"3": 54000,
|
|
"4": 82000,
|
|
"5": 86000,
|
|
"6": 88000,
|
|
"7": 90000,
|
|
"8": 100000,
|
|
"9": 150000,
|
|
"10": 200000,
|
|
"11": 300000
|
|
}
|
|
},
|
|
"fheGe": {
|
|
"binary": true,
|
|
"scalar": { "1": 70000, "2": 82000, "3": 105000, "4": 128000, "5": 156000, "6": 190000, "8": 231000 },
|
|
"nonScalar": { "1": 70000, "2": 82000, "3": 105000, "4": 128000, "5": 156000, "6": 190000, "8": 231000 }
|
|
},
|
|
"fheGt": {
|
|
"binary": true,
|
|
"scalar": { "1": 70000, "2": 82000, "3": 105000, "4": 128000, "5": 156000, "6": 190000, "8": 231000 },
|
|
"nonScalar": { "1": 70000, "2": 82000, "3": 105000, "4": 128000, "5": 156000, "6": 190000, "8": 231000 }
|
|
},
|
|
"fheLe": {
|
|
"binary": true,
|
|
"scalar": { "1": 70000, "2": 82000, "3": 105000, "4": 128000, "5": 156000, "6": 190000, "8": 231000 },
|
|
"nonScalar": { "1": 70000, "2": 82000, "3": 105000, "4": 128000, "5": 156000, "6": 190000, "8": 231000 }
|
|
},
|
|
"fheLt": {
|
|
"binary": true,
|
|
"scalar": { "1": 70000, "2": 82000, "3": 105000, "4": 128000, "5": 156000, "6": 190000, "8": 231000 },
|
|
"nonScalar": { "1": 70000, "2": 82000, "3": 105000, "4": 128000, "5": 156000, "6": 190000, "8": 231000 }
|
|
},
|
|
"fheMin": {
|
|
"binary": true,
|
|
"scalar": { "1": 121000, "2": 128000, "3": 150000, "4": 164000, "5": 192000, "6": 225000, "8": 264000 },
|
|
"nonScalar": { "1": 121000, "2": 128000, "3": 153000, "4": 183000, "5": 210000, "6": 241000, "8": 277000 }
|
|
},
|
|
"fheMax": {
|
|
"binary": true,
|
|
"scalar": { "1": 121000, "2": 128000, "3": 150000, "4": 164000, "5": 192000, "6": 225000, "8": 264000 },
|
|
"nonScalar": { "1": 121000, "2": 128000, "3": 153000, "4": 183000, "5": 210000, "6": 241000, "8": 277000 }
|
|
},
|
|
"fheNeg": {
|
|
"binary": false,
|
|
"types": { "1": 60000, "2": 95000, "3": 131000, "4": 160000, "5": 199000, "6": 248000, "8": 309000 }
|
|
},
|
|
"fheNot": {
|
|
"binary": false,
|
|
"types": { "0": 30000, "1": 33000, "2": 34000, "3": 35000, "4": 36000, "5": 37000, "6": 38000, "8": 39000 }
|
|
},
|
|
"cast": {
|
|
"binary": false,
|
|
"types": { "0": 200, "1": 200, "2": 200, "3": 200, "4": 200, "5": 200, "6": 200, "8": 200 }
|
|
},
|
|
"trivialEncrypt": {
|
|
"binary": false,
|
|
"types": {
|
|
"0": 100,
|
|
"1": 100,
|
|
"2": 100,
|
|
"3": 200,
|
|
"4": 300,
|
|
"5": 600,
|
|
"6": 650,
|
|
"7": 700,
|
|
"8": 800,
|
|
"9": 1600,
|
|
"10": 3200,
|
|
"11": 6400
|
|
}
|
|
},
|
|
"ifThenElse": {
|
|
"binary": false,
|
|
"types": {
|
|
"0": 43000,
|
|
"1": 45000,
|
|
"2": 47000,
|
|
"3": 47000,
|
|
"4": 50000,
|
|
"5": 53000,
|
|
"6": 70000,
|
|
"7": 80000,
|
|
"8": 90000,
|
|
"9": 150000,
|
|
"10": 200000,
|
|
"11": 300000
|
|
}
|
|
},
|
|
"fheRand": {
|
|
"binary": false,
|
|
"types": {
|
|
"0": 100000,
|
|
"1": 100000,
|
|
"2": 100000,
|
|
"3": 100000,
|
|
"4": 100000,
|
|
"5": 100000,
|
|
"6": 100000,
|
|
"8": 100000,
|
|
"9": 200000,
|
|
"10": 300000,
|
|
"11": 400000
|
|
}
|
|
},
|
|
"fheRandBounded": {
|
|
"binary": false,
|
|
"types": { "1": 100000, "2": 100000, "3": 100000, "4": 100000, "5": 100000, "6": 100000, "8": 100000 }
|
|
}
|
|
}
|