signer/core: EIP-712 encoded data should not reject a Domain without a ChainId (#21306)

* Do not check for a non-nil ChainId

* Add encoding test
This commit is contained in:
Natsu Kagami
2020-08-03 13:30:32 +00:00
committed by GitHub
parent 290d6bd903
commit b2b14e6ce3
2 changed files with 9 additions and 5 deletions

View File

@ -245,6 +245,10 @@ func TestDomainChainId(t *testing.T) {
if _, ok := withoutChainID.Domain.Map()["chainId"]; ok {
t.Errorf("Expected the chainId key to not be present in the domain map")
}
// should encode successfully
if _, err := withoutChainID.HashStruct("EIP712Domain", withoutChainID.Domain.Map()); err != nil {
t.Errorf("Expected the typedData to encode the domain successfully, got %v", err)
}
withChainID := core.TypedData{
Types: core.Types{
"EIP712Domain": []core.Type{
@ -261,6 +265,10 @@ func TestDomainChainId(t *testing.T) {
if _, ok := withChainID.Domain.Map()["chainId"]; !ok {
t.Errorf("Expected the chainId key be present in the domain map")
}
// should encode successfully
if _, err := withChainID.HashStruct("EIP712Domain", withChainID.Domain.Map()); err != nil {
t.Errorf("Expected the typedData to encode the domain successfully, got %v", err)
}
}
func TestHashStruct(t *testing.T) {