-
Notifications
You must be signed in to change notification settings - Fork 20.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] add ed25519 sig verification precompile #16453
Conversation
Thank you for your contribution! Your commits seem to not adhere to the repository coding standards
Please check the contribution guidelines for more details. This message was auto-generated by https://gitcop.com |
3272ba2
to
9e2cbb9
Compare
Q1: How to modify tracer.vm.PushGlobalGoFunction("isPrecompiled", func(ctx *duktape.Context) int {
_, ok := vm.PrecompiledContractsByzantium[common.BytesToAddress(popSlice(ctx))]
ctx.PushBoolean(ok)
return 1
}) Q2: How to modify func testPrecompiled(addr string, test precompiledTest, t *testing.T) {
p := PrecompiledContractsByzantium[common.HexToAddress(addr)]
in := common.Hex2Bytes(test.input)
contract := NewContract(AccountRef(common.HexToAddress("1337")),
nil, new(big.Int), p.RequiredGas(in))
t.Run(fmt.Sprintf("%s-Gas=%d", test.name, contract.Gas), func(t *testing.T) {
if res, err := RunPrecompiledContract(p, in, contract); err != nil {
t.Error(err)
} else if common.Bytes2Hex(res) != test.expected {
t.Errorf("Expected %v, got %v", test.expected, common.Bytes2Hex(res))
}
})
} |
I don't get the failing CI step: https://travis-ci.org/ethereum/go-ethereum/jobs/363155865#L729 - this is stalled in generating coverage reports .. mmh. not sure what to do .. |
Don't worry about the travis, we're having some problems with long-running builds that time out on travis from time to time. |
@holiman thanks for clarifying! could you maybe retrigger the failing ones, so the PR becomes "green" (=> more likely being looked at)? |
As this has not been accepted as a HF, we're not going to merge this. |
@holiman - is there any TLDR on why this EIP became stagnant and didn't get included despite looking pretty ready? We (HOPR) would currently significantly benefit from having ed25519 onchain. It would be great to have transparency on if this ever happens or what other paths might have been discussed. |
fwiw, the upstream EIP665 never got accepted as eWASM was suggested as the way forward instead of more and more precompiles ... well, yes, on the one hand. on the other, I still can't deploy eWASM contracts on Ethereum in 2023? |
Sorry, I don't know the full history, but it's from 2018 and as far as I know there's noone championing this eip for inclusion. However, the discussion about whether to apply EIPs changes to the Ethereum protocol does not happen at this repo, but typically at FEM |
Hello. At Ledger we would find some interest in the EIP: enabling WebAuthn with Ed25519 with Account Abstraction. The given address was obsolete, and didn't found any discussion in FEM, so one has been created here: First we planned to submit a new EIP targeting only the ECC computation, to allow one to choose any Hash function, (for instance a zk friendly one), then realized 665 existed. @oberstet , are you open to a discussion ? (provided given email address seems to be expired). |
this is a first take at https://github.com/ethereum/EIPs/blob/master/EIPS/eip-665.md - compiles and runs, but not yet tested. I am putting this up to see the CI results, have a reference in the dev meeting, and gather feedback. also missing, bits in
core/vm/contracts_test.go
andeth/tracers/tracer.go
: