Skip to content

Comments

feat: add system support for EIP-191, contracts support for EIP-(712,1271,6492)#278

Closed
nksazonov wants to merge 10 commits intomainfrom
feat/mm-eip191-signatures
Closed

feat: add system support for EIP-191, contracts support for EIP-(712,1271,6492)#278
nksazonov wants to merge 10 commits intomainfrom
feat/mm-eip191-signatures

Conversation

@nksazonov
Copy link
Contributor

@nksazonov nksazonov commented Jul 15, 2025

NOTE: this PR will be re-pointed to a new branch.

Tasks:

As a result, the "Use MetaMask wallet as a participant" PR should be merged

gemini-code-assist[bot]

This comment was marked as resolved.

gemini-code-assist[bot]

This comment was marked as resolved.

@nksazonov nksazonov changed the title feat: MM EIP-191 signatures feat: add system support for EIP-191, contracts support for EIP-(712,1271,6492) Jul 17, 2025
@nksazonov nksazonov force-pushed the feat/mm-eip191-signatures branch 2 times, most recently from 2ab5ad9 to 54d62f2 Compare July 22, 2025 10:31
nksazonov and others added 10 commits July 28, 2025 16:00
* feat(custody): add EIP-191, EIP-712 support

* feat(custody): correct EIP-712 sig impl

* feat(utils): add POLA principle comment

* feat(contract): add EIP712AdjudicatorBase

* feat(contract): integrate EIP712AdjudicatorBase to supported adjs

* fix(contract): tests with updated adjs

* test(contract): EIP712AdjudicatorBase

* test(contract): SimpleConsensus EIP191, EIP712 sigs

* test(contract): Utils signatures

* test(contract): Custody, SimpleConsensus integration tests for sigs
* refactor(Types): replace Signature{v,r,s} with bytes

* style(contract): add empty lines at the end
* refactor(sdk): replace Signature{r,s,v} with Hex

* fix(NitroliteService): perform convertStateFromContract correctly

* fix(rpc): expect updated signature type from rpc

* style(sdk/rpc): remove ServerSignatureSchema var

* feat(sdk/rpc): add empty signatures array by default

* feat(sdk): add build:force command

* feat(sdk): remove npm build:force
* refactor(clearnode): define `Signature []byte` type

* refactor(clearnode::RPCEntry): replace sig `[]string` with `[]Signature`

* feat(clearnode/nitrolite): add Sigs2Strings, Strings2Sigs helpers
* feat(docker-compose): add ability to pass logger visibility to clearnode

* fix(clearnode): raw ECDSA sign and verify

* fix(clearnode): try to extract req id on ummarshal error

* fix(integration): update sig to new type

* feat(sdk): change type of sig array to contain only Hex

* refactor(clearnode): remove check on nil Req, zero-init instead

* fix(clearnode:nitrolite): remove unintended side-effect of sig param modif
* feat(contract): add ERC-1271,6492 support

* test(contract/Utils.sol): add ERC-1271, 6492 tests

* refactor(contract:Utils.t.sol): separate tests into contracts

* refactor(UtilsHarness): do NOT expose constants

* fix(contracts/adjudicators): use verifyStateSignature instead of just EOA sig

* test(contract/Custody): add ERC-1271, 6492 sig to integration test

* test(contract/Custody): add challenge with EIP-712, EIP-1271 tests

* refactor(contract/Utils): reorder recoverStateEIP712Signer params for consistency

* test(contract): remove console.logs

* feat(contract): clarify Utils comments

* refactor(contract): optimize Custody and Utils sig verification functions

* style(contract): run forge fmt
@nksazonov
Copy link
Contributor Author

Moved to #294 .

@nksazonov nksazonov closed this Jul 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant