This commit is contained in:
shwoop 2025-07-02 16:36:56 +02:00
parent 35e187b8f7
commit 2ac026780b
No known key found for this signature in database
GPG key ID: 95A35B68C1E5F95A
12 changed files with 225 additions and 174 deletions

View file

@ -259,7 +259,7 @@ func PeerInfoFromContext(ctx context.Context) PeerInfo {
// ContextWithMockPeerInfo is a helper function to create a context with a mock peer info.
// It is used in tests to simulate a peer info.
func ContextWithMockPeerInfo(ctx context.Context, transport, source, account string) context.Context {
func ContextWithMockPeerInfo(ctx context.Context, transport, source string) context.Context {
peerInfo := PeerInfo{
Transport: transport,
HTTP: struct {

View file

@ -17,8 +17,8 @@
package core_test
import (
"cmp"
"bytes"
"cmp"
"context"
"encoding/json"
"fmt"
@ -1064,43 +1064,15 @@ func TestEncodeDataRecursiveBytes(t *testing.T) {
}
}
func TestSignInWithEtheriumValid(t *testing.T) {
t.Parallel()
testFiles, err := os.ReadDir(filepath.Join("testdata", "siwe"))
require.NoError(t, err)
type TestData struct {
Msg string `json:"msg"`
Account string `json:"account"`
RequestContext struct {
Transport string `json:"transport"`
Source string `json:"source"`
Account string `json:"account"`
} `json:"request_context"`
func TestSignInWithEtheriumValidLocalhost(t *testing.T) {
tests := map[string]string{
"argent": "http://localhost:4361 wants you to sign in with your Ethereum account:\n{{Account}}\n\nSIWE Notepad Example\n\nURI: http://localhost:4361\nVersion: 1\nChain ID: 1\nNonce: FbYd6TNB4m0IUHDG7\nIssued At: 2022-04-19T18:55:04.444Z",
"loopring": "http://localhost:4361 wants you to sign in with your Ethereum account:\n{{Account}}\n\nSIWE Notepad Example\n\nURI: http://localhost:4361\nVersion: 1\nChain ID: 1\nNonce: b19JyMHnM0Jdm20as\nIssued At: 2022-04-19T18:57:09.490Z",
}
var messages map[string]TestData
var expectingWarning bool
for _, fInfo := range testFiles {
if !strings.HasSuffix(fInfo.Name(), "json") {
continue
}
if fInfo.Name() != "valid_eip1271.json" {
continue
}
expectingWarning = strings.HasPrefix(fInfo.Name(), "warning")
jsonFile, err := os.ReadFile(filepath.Join("testdata", "siwe", fInfo.Name()))
require.NoError(t, err)
err = json.Unmarshal(jsonFile, &messages)
require.NoError(t, err)
for testName, testData := range messages {
for testName, msg := range tests {
t.Run(testName, func(t *testing.T) {
t.Parallel()
api, control := setup(t, true)
createAccount(control, api, t)
createAccount(control, api, t)
@ -1109,24 +1081,119 @@ func TestSignInWithEtheriumValid(t *testing.T) {
require.NoError(t, err)
a := common.NewMixedcaseAddress(list[0])
ctx := rpc.ContextWithMockPeerInfo(context.Background(), testData.RequestContext.Transport, testData.RequestContext.Source, testData.Account)
account := cmp.Or(testData.Account, a.Address().Hex())
message := strings.ReplaceAll(testData.Msg, "{{Account}}", account)
ctx := rpc.ContextWithMockPeerInfo(context.Background(), "http", "localhost:4361")
message := strings.ReplaceAll(msg, "{{Account}}", a.Address().Hex())
control.approveCh <- "Y"
control.inputCh <- "a_long_password"
signature, err := api.SignData(ctx, apitypes.TextPlain.Mime, a, hexutil.Encode([]byte(message)))
if expectingWarning {
// todo: check UI for warning message
} else {
require.NoError(t, err)
}
if signature == nil || len(signature) != 65 {
t.Errorf("Expected 65 byte signature (got %d bytes)", len(signature))
}
})
}
}
func TestSignInWithEtheriumValidMessages(t *testing.T) {
jsonFile, err := os.ReadFile(filepath.Join("testdata", "siwe", "valid_messages.json"))
require.NoError(t, err)
tests := make(map[string]string)
require.NoError(t, json.Unmarshal(jsonFile, &tests))
for testName, msg := range tests {
t.Run(testName, func(t *testing.T) {
t.Parallel()
api, control := setup(t, true)
createAccount(control, api, t)
createAccount(control, api, t)
control.approveCh <- "1"
list, err := api.List(context.Background())
require.NoError(t, err)
a := common.NewMixedcaseAddress(list[0])
ctx := rpc.ContextWithMockPeerInfo(context.Background(), "https", "service.org")
message := strings.ReplaceAll(msg, "{{Account}}", a.Address().Hex())
control.approveCh <- "Y"
control.inputCh <- "a_long_password"
signature, err := api.SignData(ctx, apitypes.TextPlain.Mime, a, hexutil.Encode([]byte(message)))
require.NoError(t, err)
// todo: check UI for warning message
if signature == nil || len(signature) != 65 {
t.Errorf("Expected 65 byte signature (got %d bytes)", len(signature))
}
})
}
}
func TestSignInWithEtheriumInvlid(t *testing.T) {
var tests map[string]struct {
Msg string `json:"msg"`
RequestContext struct {
Transport string `json:"transport"`
Source string `json:"source"`
Account string `json:"account"`
} `json:"request_context"`
}
jsonFile, err := os.ReadFile(filepath.Join("testdata", "siwe", "error_spoofing.json"))
require.NoError(t, err)
require.NoError(t, json.Unmarshal(jsonFile, &tests))
for testName, testData := range tests {
t.Run(testName, func(t *testing.T) {
t.Parallel()
api, control := setup(t, true)
createAccount(control, api, t)
createAccount(control, api, t)
control.approveCh <- "1"
list, err := api.List(context.Background())
require.NoError(t, err)
a := common.NewMixedcaseAddress(list[0])
ctx := rpc.ContextWithMockPeerInfo(context.Background(), testData.RequestContext.Transport, testData.RequestContext.Source)
account := cmp.Or(testData.RequestContext.Account, a.Address().Hex())
message := strings.ReplaceAll(testData.Msg, "{{Account}}", account)
control.approveCh <- "Y"
control.inputCh <- "a_long_password"
_, err = api.SignData(ctx, apitypes.TextPlain.Mime, a, hexutil.Encode([]byte(message)))
require.Error(t, err)
})
}
}
func TestSignInWithEtheriumWarning(t *testing.T) {
jsonFile, err := os.ReadFile(filepath.Join("testdata", "siwe", "warnings.json"))
require.NoError(t, err)
tests := make(map[string]string)
require.NoError(t, json.Unmarshal(jsonFile, &tests))
for testName, msg := range tests {
t.Run(testName, func(t *testing.T) {
t.Parallel()
api, control := setup(t, true)
createAccount(control, api, t)
createAccount(control, api, t)
control.approveCh <- "1"
list, err := api.List(context.Background())
require.NoError(t, err)
a := common.NewMixedcaseAddress(list[0])
ctx := rpc.ContextWithMockPeerInfo(context.Background(), "https", "service.org")
message := strings.ReplaceAll(msg, "{{Account}}", a.Address().Hex())
control.approveCh <- "Y"
control.inputCh <- "a_long_password"
signature, err := api.SignData(ctx, apitypes.TextPlain.Mime, a, hexutil.Encode([]byte(message)))
require.NoError(t, err)
// todo: check UI for warning message
if signature == nil || len(signature) != 65 {
t.Errorf("Expected 65 byte signature (got %d bytes)", len(signature))
}
})
}
}

View file

@ -30,7 +30,7 @@ var messageSize = `(?:\d+)`
// Regular expression to match SIWE messages
// Scheme (optional)
var scheme = `([a-zA-Z][a-zA-Z0-9+\-.]*://)?`
var scheme = `(?:([a-zA-Z][a-zA-Z0-9+\-.]*)://)?`
// Domain
var domain = `([^ ]+)`

View file

@ -0,0 +1,24 @@
{
"incorrect_transport": {
"msg": "https://localhost:4361 wants you to sign in with your Ethereum account:\n{{Account}}\n\nSIWE Notepad Example\n\nURI: https://localhost:4361\nVersion: 1\nChain ID: 1\nNonce: FbYd6TNB4m0IUHDG7\nIssued At: 2022-04-19T18:55:04.444Z",
"request_context": {
"transport": "http",
"source": "localhost:4361"
}
},
"spoofed_source": {
"msg": "https://important-website.com wants you to sign in with your Ethereum account:\n{{Account}}\n\nSIWE Notepad Example\n\nURI: https://important-website.com\nVersion: 1\nChain ID: 1\nNonce: b19JyMHnM0Jdm20as\nIssued At: 2022-04-19T18:57:09.490Z",
"request_context": {
"transport": "https",
"source": "bad-website.com"
}
},
"spoofed_account": {
"msg": "localhost:4361 wants you to sign in with your Ethereum account:\n{{Account}}\n\nSIWE Notepad Example\n\nURI: https://localhost:4361\nVersion: 1\nChain ID: 1\nNonce: b19JyMHnM0Jdm20as\nIssued At: 2022-04-19T18:57:09.490Z",
"request_context": {
"transport": "https",
"source": "localhost:4361",
"account": "0x1234567890123456789012345678901234567890"
}
}
}

View file

@ -1,16 +0,0 @@
{
"argent": {
"msg": "localhost:4361 wants you to sign in with your Ethereum account:\n{{Account}}\n\nSIWE Notepad Example\n\nURI: http://localhost:4361\nVersion: 1\nChain ID: 1\nNonce: FbYd6TNB4m0IUHDG7\nIssued At: 2022-04-19T18:55:04.444Z",
"request_context": {
"transport": "https",
"source": "localhost:4361"
}
},
"loopring": {
"msg": "localhost:4361 wants you to sign in with your Ethereum account:\n{{Account}}\n\nSIWE Notepad Example\n\nURI: http://localhost:4361\nVersion: 1\nChain ID: 1\nNonce: b19JyMHnM0Jdm20as\nIssued At: 2022-04-19T18:57:09.490Z",
"request_context": {
"transport": "https",
"source": "localhost:4361"
}
}
}

View file

@ -0,0 +1,36 @@
{
"Resources: [uri:, uri://@]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri:\n- uri://@",
"Resources: [uri://@:, uri://]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://@:\n- uri://",
"Resources: [uri://:, uri:?]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://:\n- uri:?",
"Resources: [uri:#, uri://user:pass@example.com:123/one/two.three?q1=a1&q2=a2#body]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri:#\n- uri://user:pass@example.com:123/one/two.three?q1=a1&q2=a2#body",
"Resources IPv4: [uri://10.10.10.10, uri://010.0.00.000]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://10.10.10.10\n- uri://010.0.00.000",
"Resources IP-literal: [uri://[2001:db8::7], uri://[::ffff:129.144.52.38]]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[2001:db8::7]\n- uri://[::ffff:129.144.52.38]",
"Resources IP-literal: [uri://10.10.10.10.example.com/en/process, uri://[2606:2800:220:1:248:1893:25c8:1946]/test]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://10.10.10.10.example.com/en/process\n- uri://[2606:2800:220:1:248:1893:25c8:1946]/test",
"Resources IP-literal: [uri://[2001:db8::1]:80, uri://[2001:db8::1:ffff]:5128]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[2001:db8::1]:80\n- uri://[2001:db8::1:ffff]:5128",
"IPv4 bad octets: - uri://[::0.0.0.256]/p/path": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[::0.0.0.256]/p/path\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv4 bad octets: - uri://[::300.0.0.0]/p/path": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[::300.0.0.0]/p/path\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv4 bad octets: - uri://[::0.ff.0.255]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[::0.ff.0.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv4 bad octets: - uri://[::0.0.256.0]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[::0.0.256.0]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv4 bad octets: - uri://[::.0.255.0]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[::.0.255.0]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 no :: no IPv4 too many 16-bit digits - uri://[ffff:abcd:0:10:200:3000:f8a:1:ffff]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[ffff:abcd:0:10:200:3000:f8a:1:ffff]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 no :: no IPv4 too few 16-bit digits - uri://[ffff:abcd:0:10:200:3000:f8a]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[ffff:abcd:0:10:200:3000:f8a]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 no :: with IPv4 too many 16-bit digits - uri://[ffff:abcd:0:10:200:3000:ff:255.255.255.255]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[ffff:abcd:0:10:200:3000:ff:255.255.255.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 leading :: too many 16-bit digits - uri://[::1:2:3:4:5:6:7:8]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[::1:2:3:4:5:6:7:8]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 leading :: with IPv4 - too many 16-bit digits - uri://[::1:2:3:4:5:6:198.162.10.255]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[::1:2:3:4:5:6:198.162.10.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 trailing :: too many 16-bit digits - uri://[1:2:3:4:5:6:7:8::]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[1:2:3:4:5:6:7:8::]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 trailing :: with IPv4 - too many 16-bit digits - uri://[1:2:3:4:5:6::198.162.10.255]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[1:2:3:4:5:6::198.162.10.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 leading & trailing :: no IPv4 - too many 16-bit digits - uri://[1:2:3:4:5::6:7:8]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[1:2:3:4:5::6:7:8]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 leading & trailing :: with IPv4 - too many 16-bit digits - uri://[1:2:3:4:5::6:198.162.10.255]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[1:2:3:4:5::6:198.162.10.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"No scheme - ://user:pass@example.com:123/one/two.three?q1=a1&q2=a2#body": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: ://user:pass@example.com:123/one/two.three?q1=a1&q2=a2#body\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"bad query - uri://user:pass@example.com:123/one/two.three ?q1=a1&q2=a2#body": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://user:pass@example.com:123/one/two.three ?q1=a1&q2=a2#body\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"bad fragment - uri://user:pass@example.com:123/one/two.three?q1=a1&q2=a2 #body": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://user:pass@example.com:123/one/two.three?q1=a1&q2=a2 #body\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"Resources present": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri:",
"Resources empty": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:",
"Resources missing": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"Request-id present": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nRequest ID: request123",
"Request-id empty": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nRequest ID: ",
"Request-id missing": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"Statement present": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\nhave statement\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"Statement empty": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"Statement missing": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z"
}

View file

@ -1,10 +0,0 @@
{
"Resources: [uri:, uri://@]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri:\n- uri://@",
"Resources: [uri://@:, uri://]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://@:\n- uri://",
"Resources: [uri://:, uri:?]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://:\n- uri:?",
"Resources: [uri:#, uri://user:pass@example.com:123/one/two.three?q1=a1&q2=a2#body]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri:#\n- uri://user:pass@example.com:123/one/two.three?q1=a1&q2=a2#body",
"Resources IPv4: [uri://10.10.10.10, uri://010.0.00.000]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://10.10.10.10\n- uri://010.0.00.000",
"Resources IP-literal: [uri://[2001:db8::7], uri://[::ffff:129.144.52.38]]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[2001:db8::7]\n- uri://[::ffff:129.144.52.38]",
"Resources IP-literal: [uri://10.10.10.10.example.com/en/process, uri://[2606:2800:220:1:248:1893:25c8:1946]/test]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://10.10.10.10.example.com/en/process\n- uri://[2606:2800:220:1:248:1893:25c8:1946]/test",
"Resources IP-literal: [uri://[2001:db8::1]:80, uri://[2001:db8::1:ffff]:5128]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[2001:db8::1]:80\n- uri://[2001:db8::1:ffff]:5128"
}

View file

@ -1,11 +0,0 @@
{
"resources present": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri:",
"resources empty": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:",
"resources missing": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"request-id present": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nRequest ID: request123",
"request-id empty": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nRequest ID: ",
"request-id missing": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"statement present": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\nhave statement\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"statement empty": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"statement missing": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z"
}

View file

@ -1,38 +0,0 @@
{
"uri-js scheme: uri:": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"uri-js userinfo: uri://@": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://@\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"uri-js empty host: uri://@:": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://@:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"uri-js host: uri://": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"uri-js port: uri://:": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"uri-js query: uri:?": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:?\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"uri-js fragment: uri:#": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:#\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"uri-js all: uri://user:pass@example.com:123/one/two.three?q1=a1&q2=a2#body": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://user:pass@example.com:123/one/two.three?q1=a1&q2=a2#body\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"uri-js IPv4address: uri://10.10.10.10": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://10.10.10.10\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"uri-js IPv6address: uri://[2001:db8::7]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[2001:db8::7]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"uri-js mixed IPv6address & IPv4address: uri://[::ffff:129.144.52.38]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[::ffff:129.144.52.38]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"uri-js mixed IPv4address & reg-name: uri://10.10.10.10.example.com/en/process": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://10.10.10.10.example.com/en/process\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"uri-js IPv6address, example from bkw: uri://[2606:2800:220:1:248:1893:25c8:1946]/test": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[2606:2800:220:1:248:1893:25c8:1946]/test\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"uri-js IPv6address, example from RFC 5952: uri://[2001:db8::1]:80": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[2001:db8::1]:80\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"uri-js end test: uri:": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv4address: uri://[::10.10.10.10]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[::10.10.10.10]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv4address leading zeros: uri://[::000.000.010.001]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[::000.000.010.001]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv4address max value: uri://[::001.099.200.255]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[::001.099.200.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6address no :: : uri://[ffff:abcd:0:10:200:3000:f8a:1]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[ffff:abcd:0:10:200:3000:f8a:1]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6address no :: & IPv4: uri://[ffff:abcd:0:10:200:3000:255.255.255.255]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[ffff:abcd:0:10:200:3000:255.255.255.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6address leading :: no IPv4: uri://[::]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[::]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6address leading :: no IPv4: uri://[::ffff]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[::ffff]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6address leading :: no IPv4: uri://[::1:2:3:4:5:6:7]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[::1:2:3:4:5:6:7]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6address leading :: with IPv4: uri://[::198.162.10.255]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[::198.162.10.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6address leading :: with IPv4: uri://[::ffff:198.162.10.255]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[::ffff:198.162.10.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6address leading :: with IPv4: uri://[::1:2:3:4:5:198.162.10.255]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[::1:2:3:4:5:198.162.10.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6address trailing :: no IPv4: uri://[1::]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[1::]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6address trailing :: no IPv4: uri://[1:2:3:4:5:6:7::]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[1:2:3:4:5:6:7::]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6address trailing :: with IPv4: uri://[1::198.162.10.255]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[1::198.162.10.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6address trailing :: with IPv4: uri://[1:2:3:4:5::198.162.10.255]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[1:2:3:4:5::198.162.10.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6address leading & trailing :: no IPv4: uri://[1::2]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[1::2]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6address leading & trailing :: no IPv4: uri://[1:2:3:4:5:6::7]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[1:2:3:4:5:6::7]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6address leading & trailing :: no IPv4: uri://[ffff:aaaa:bbbb::cccc:dddd:eeee:9999]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[ffff:aaaa:bbbb::cccc:dddd:eeee:9999]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6address leading & trailing :: with IPv4: uri://[1::2:198.162.10.255]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[1::2:198.162.10.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6address leading & trailing :: with IPv4: uri://[1:2:3:4::7:198.162.10.255]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[1:2:3:4::7:198.162.10.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6address leading & trailing :: with IPv4: uri://[ffff:aaaa:bbbb::cccc:dddd:198.162.10.255]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[ffff:aaaa:bbbb::cccc:dddd:198.162.10.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z"
}

View file

@ -1,18 +0,0 @@
{
"IPv4 bad octets: - resources uri - uri://[::0.0.0.256]/p/path": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[::0.0.0.256]/p/path",
"IPv4 bad octets: - resources uri - uri://[::300.0.0.0]/p/path": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[::300.0.0.0]/p/path",
"IPv4 bad octets: - resources uri - uri://[::0.ff.0.255]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[::0.ff.0.255]",
"IPv4 bad octets: - resources uri - uri://[::0.0.256.0]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[::0.0.256.0]",
"IPv6 no :: no IPv4 too many 16-bit digits - resources uri - uri://[ffff:abcd:0:10:200:3000:f8a:1:ffff]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[ffff:abcd:0:10:200:3000:f8a:1:ffff]",
"IPv6 no :: no IPv4 too few 16-bit digits - resources uri - uri://[ffff:abcd:0:10:200:3000:f8a]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[ffff:abcd:0:10:200:3000:f8a]",
"IPv6 no :: with IPv4 too many 16-bit digits - resources uri - uri://[ffff:abcd:0:10:200:3000:ff:255.255.255.255]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[ffff:abcd:0:10:200:3000:ff:255.255.255.255]",
"IPv6 leading :: too many 16-bit digits - resources uri - uri://[::1:2:3:4:5:6:7:8]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[::1:2:3:4:5:6:7:8]",
"IPv6 leading :: with IPv4 - too many 16-bit digits - resources uri - uri://[::1:2:3:4:5:6:198.162.10.255]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[::1:2:3:4:5:6:198.162.10.255]",
"IPv6 trailing :: too many 16-bit digits - resources uri - uri://[1:2:3:4:5:6:7:8::]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[1:2:3:4:5:6:7:8::]",
"IPv6 trailing :: with IPv4 - too many 16-bit digits - resources uri - uri://[1:2:3:4:5:6::198.162.10.255]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[1:2:3:4:5:6::198.162.10.255]",
"IPv6 leading & trailing :: no IPv4 - too many 16-bit digits - resources uri - uri://[1:2:3:4:5::6:7:8]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[1:2:3:4:5::6:7:8]",
"IPv6 leading & trailing :: with IPv4 - too many 16-bit digits - resources uri - uri://[1:2:3:4:5::6:198.162.10.255]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[1:2:3:4:5::6:198.162.10.255]",
"No scheme - resources uri - ://user:pass@example.com:123/one/two.three?q1=a1&q2=a2#body": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- ://user:pass@example.com:123/one/two.three?q1=a1&q2=a2#body",
"bad query - resources uri - uri://user:pass@example.com:123/one/two.three ?q1=a1&q2=a2#body": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://user:pass@example.com:123/one/two.three ?q1=a1&q2=a2#body",
"bad fragment - resources uri - uri://user:pass@example.com:123/one/two.three?q1=a1&q2=a2 #body": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://user:pass@example.com:123/one/two.three?q1=a1&q2=a2 #body"
}

View file

@ -1,19 +0,0 @@
{
"IPv4 bad octets: - uri://[::0.0.0.256]/p/path": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[::0.0.0.256]/p/path\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv4 bad octets: - uri://[::300.0.0.0]/p/path": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[::300.0.0.0]/p/path\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv4 bad octets: - uri://[::0.ff.0.255]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[::0.ff.0.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv4 bad octets: - uri://[::0.0.256.0]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[::0.0.256.0]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv4 bad octets: - uri://[::.0.255.0]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[::.0.255.0]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 no :: no IPv4 too many 16-bit digits - uri://[ffff:abcd:0:10:200:3000:f8a:1:ffff]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[ffff:abcd:0:10:200:3000:f8a:1:ffff]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 no :: no IPv4 too few 16-bit digits - uri://[ffff:abcd:0:10:200:3000:f8a]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[ffff:abcd:0:10:200:3000:f8a]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 no :: with IPv4 too many 16-bit digits - uri://[ffff:abcd:0:10:200:3000:ff:255.255.255.255]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[ffff:abcd:0:10:200:3000:ff:255.255.255.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 leading :: too many 16-bit digits - uri://[::1:2:3:4:5:6:7:8]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[::1:2:3:4:5:6:7:8]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 leading :: with IPv4 - too many 16-bit digits - uri://[::1:2:3:4:5:6:198.162.10.255]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[::1:2:3:4:5:6:198.162.10.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 trailing :: too many 16-bit digits - uri://[1:2:3:4:5:6:7:8::]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[1:2:3:4:5:6:7:8::]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 trailing :: with IPv4 - too many 16-bit digits - uri://[1:2:3:4:5:6::198.162.10.255]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[1:2:3:4:5:6::198.162.10.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 leading & trailing :: no IPv4 - too many 16-bit digits - uri://[1:2:3:4:5::6:7:8]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[1:2:3:4:5::6:7:8]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 leading & trailing :: with IPv4 - too many 16-bit digits - uri://[1:2:3:4:5::6:198.162.10.255]": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://[1:2:3:4:5::6:198.162.10.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"No scheme - ://user:pass@example.com:123/one/two.three?q1=a1&q2=a2#body": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: ://user:pass@example.com:123/one/two.three?q1=a1&q2=a2#body\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"bad query - uri://user:pass@example.com:123/one/two.three ?q1=a1&q2=a2#body": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://user:pass@example.com:123/one/two.three ?q1=a1&q2=a2#body\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"bad fragment - uri://user:pass@example.com:123/one/two.three?q1=a1&q2=a2 #body": "service.org wants you to sign in with your Ethereum account:\n0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n\n\nURI: uri://user:pass@example.com:123/one/two.three?q1=a1&q2=a2 #body\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z"
}

36
signer/core/testdata/siwe/warnings.json vendored Normal file
View file

@ -0,0 +1,36 @@
{
"IPv4 bad octets: - resources uri - uri://[::0.0.0.256]/p/path": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[::0.0.0.256]/p/path",
"IPv4 bad octets: - resources uri - uri://[::300.0.0.0]/p/path": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[::300.0.0.0]/p/path",
"IPv4 bad octets: - resources uri - uri://[::0.ff.0.255]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[::0.ff.0.255]",
"IPv4 bad octets: - resources uri - uri://[::0.0.256.0]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[::0.0.256.0]",
"IPv6 no :: no IPv4 too many 16-bit digits - resources uri - uri://[ffff:abcd:0:10:200:3000:f8a:1:ffff]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[ffff:abcd:0:10:200:3000:f8a:1:ffff]",
"IPv6 no :: no IPv4 too few 16-bit digits - resources uri - uri://[ffff:abcd:0:10:200:3000:f8a]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[ffff:abcd:0:10:200:3000:f8a]",
"IPv6 no :: with IPv4 too many 16-bit digits - resources uri - uri://[ffff:abcd:0:10:200:3000:ff:255.255.255.255]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[ffff:abcd:0:10:200:3000:ff:255.255.255.255]",
"IPv6 leading :: too many 16-bit digits - resources uri - uri://[::1:2:3:4:5:6:7:8]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[::1:2:3:4:5:6:7:8]",
"IPv6 leading :: with IPv4 - too many 16-bit digits - resources uri - uri://[::1:2:3:4:5:6:198.162.10.255]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[::1:2:3:4:5:6:198.162.10.255]",
"IPv6 trailing :: too many 16-bit digits - resources uri - uri://[1:2:3:4:5:6:7:8::]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[1:2:3:4:5:6:7:8::]",
"IPv6 trailing :: with IPv4 - too many 16-bit digits - resources uri - uri://[1:2:3:4:5:6::198.162.10.255]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[1:2:3:4:5:6::198.162.10.255]",
"IPv6 leading & trailing :: no IPv4 - too many 16-bit digits - resources uri - uri://[1:2:3:4:5::6:7:8]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[1:2:3:4:5::6:7:8]",
"IPv6 leading & trailing :: with IPv4 - too many 16-bit digits - resources uri - uri://[1:2:3:4:5::6:198.162.10.255]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://[1:2:3:4:5::6:198.162.10.255]",
"No scheme - resources uri - ://user:pass@example.com:123/one/two.three?q1=a1&q2=a2#body": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- ://user:pass@example.com:123/one/two.three?q1=a1&q2=a2#body",
"bad query - resources uri - uri://user:pass@example.com:123/one/two.three ?q1=a1&q2=a2#body": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://user:pass@example.com:123/one/two.three ?q1=a1&q2=a2#body",
"bad fragment - resources uri - uri://user:pass@example.com:123/one/two.three?q1=a1&q2=a2 #body": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri:\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z\nResources:\n- uri://user:pass@example.com:123/one/two.three?q1=a1&q2=a2 #body",
"IPv4 bad octets: - uri://[::0.0.0.256]/p/path": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[::0.0.0.256]/p/path\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv4 bad octets: - uri://[::300.0.0.0]/p/path": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[::300.0.0.0]/p/path\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv4 bad octets: - uri://[::0.ff.0.255]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[::0.ff.0.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv4 bad octets: - uri://[::0.0.256.0]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[::0.0.256.0]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv4 bad octets: - uri://[::.0.255.0]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[::.0.255.0]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 no :: no IPv4 too many 16-bit digits - uri://[ffff:abcd:0:10:200:3000:f8a:1:ffff]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[ffff:abcd:0:10:200:3000:f8a:1:ffff]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 no :: no IPv4 too few 16-bit digits - uri://[ffff:abcd:0:10:200:3000:f8a]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[ffff:abcd:0:10:200:3000:f8a]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 no :: with IPv4 too many 16-bit digits - uri://[ffff:abcd:0:10:200:3000:ff:255.255.255.255]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[ffff:abcd:0:10:200:3000:ff:255.255.255.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 leading :: too many 16-bit digits - uri://[::1:2:3:4:5:6:7:8]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[::1:2:3:4:5:6:7:8]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 leading :: with IPv4 - too many 16-bit digits - uri://[::1:2:3:4:5:6:198.162.10.255]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[::1:2:3:4:5:6:198.162.10.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 trailing :: too many 16-bit digits - uri://[1:2:3:4:5:6:7:8::]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[1:2:3:4:5:6:7:8::]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 trailing :: with IPv4 - too many 16-bit digits - uri://[1:2:3:4:5:6::198.162.10.255]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[1:2:3:4:5:6::198.162.10.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 leading & trailing :: no IPv4 - too many 16-bit digits - uri://[1:2:3:4:5::6:7:8]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[1:2:3:4:5::6:7:8]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"IPv6 leading & trailing :: with IPv4 - too many 16-bit digits - uri://[1:2:3:4:5::6:198.162.10.255]": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://[1:2:3:4:5::6:198.162.10.255]\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"No scheme - ://user:pass@example.com:123/one/two.three?q1=a1&q2=a2#body": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: ://user:pass@example.com:123/one/two.three?q1=a1&q2=a2#body\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"bad query - uri://user:pass@example.com:123/one/two.three ?q1=a1&q2=a2#body": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://user:pass@example.com:123/one/two.three ?q1=a1&q2=a2#body\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z",
"bad fragment - uri://user:pass@example.com:123/one/two.three?q1=a1&q2=a2 #body": "service.org wants you to sign in with your Ethereum account:\n0x{{Account}}\n\n\nURI: uri://user:pass@example.com:123/one/two.three?q1=a1&q2=a2 #body\nVersion: 1\nChain ID: 1\nNonce: 32891757\nIssued At: 2021-09-30T16:25:24.000Z"
}