mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-07-10 08:38:07 +00:00
feat(tests): new tests for Ethereum definitions
This commit is contained in:
parent
43438395f3
commit
bcc4314462
2
.gitignore
vendored
2
.gitignore
vendored
@ -11,5 +11,5 @@ __pycache__/
|
||||
proto.gv*
|
||||
.DS_Store
|
||||
crypto/tests/libtrezor-crypto.so.dSYM/
|
||||
definitions-latest/
|
||||
/definitions-latest
|
||||
definitions-cache.json
|
||||
|
BIN
common/tests/fixtures/ethereum/definitions-latest/by_chain_id/1/network.dat
vendored
Normal file
BIN
common/tests/fixtures/ethereum/definitions-latest/by_chain_id/1/network.dat
vendored
Normal file
Binary file not shown.
Binary file not shown.
BIN
common/tests/fixtures/ethereum/definitions-latest/by_chain_id/8/network.dat
vendored
Normal file
BIN
common/tests/fixtures/ethereum/definitions-latest/by_chain_id/8/network.dat
vendored
Normal file
Binary file not shown.
Binary file not shown.
30
common/tests/fixtures/ethereum/getaddress.json
vendored
30
common/tests/fixtures/ethereum/getaddress.json
vendored
@ -36,11 +36,33 @@
|
||||
"address": "0x1e6E3708a059aEa1241a81c7aAe84b6CDbC54d59"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_do_not_send_network",
|
||||
"parameters": {
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"definitions": {
|
||||
"slip44": -1
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"address": "0x73d0385F4d8E00C5e6504C6030F47BF6212736A8"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_send_wrong_network",
|
||||
"parameters": {
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"definitions": {
|
||||
"slip44": 6060
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"address": "0x73d0385F4d8E00C5e6504C6030F47BF6212736A8"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ETC",
|
||||
"parameters": {
|
||||
"builtin_network": false,
|
||||
"slip44": 61,
|
||||
"path": "m/44'/61'/0'/0/0"
|
||||
},
|
||||
"result": {
|
||||
@ -50,8 +72,6 @@
|
||||
{
|
||||
"name": "GoChain",
|
||||
"parameters": {
|
||||
"builtin_network": false,
|
||||
"slip44": 6060,
|
||||
"path": "m/44'/6060'/0'/0/0"
|
||||
},
|
||||
"result": {
|
||||
@ -61,8 +81,6 @@
|
||||
{
|
||||
"name": "Wanchain",
|
||||
"parameters": {
|
||||
"builtin_network": false,
|
||||
"slip44": 5718350,
|
||||
"path": "m/44'/5718350'/0'/0/0"
|
||||
},
|
||||
"result": {
|
||||
|
6
common/tests/fixtures/ethereum/sign_tx.json
vendored
6
common/tests/fixtures/ethereum/sign_tx.json
vendored
@ -16,8 +16,7 @@
|
||||
"gas_price": "0x14",
|
||||
"gas_limit": "0x14",
|
||||
"tx_type": null,
|
||||
"value": "0x0",
|
||||
"builtin_token": false
|
||||
"value": "0x0"
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 37,
|
||||
@ -56,8 +55,7 @@
|
||||
"gas_price": "0x14",
|
||||
"gas_limit": "0x14",
|
||||
"tx_type": 1,
|
||||
"value": "0x64",
|
||||
"builtin_network": false
|
||||
"value": "0x64"
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 1811,
|
||||
|
336
common/tests/fixtures/ethereum/sign_tx_definitions.json
vendored
Normal file
336
common/tests/fixtures/ethereum/sign_tx_definitions.json
vendored
Normal file
@ -0,0 +1,336 @@
|
||||
{
|
||||
"setup": {
|
||||
"mnemonic": "all all all all all all all all all all all all",
|
||||
"passphrase": ""
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"name": "builtin_Ethereum_builtin_Tether_send_network_token",
|
||||
"parameters": {
|
||||
"chain_id": 1,
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"nonce": "0x0",
|
||||
"gas_price": "0x14",
|
||||
"gas_limit": "0x14",
|
||||
"value": "0x0",
|
||||
"to_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
|
||||
"tx_type": null,
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 38,
|
||||
"sig_r": "a82c902c3c4d82e9a3d3894bf1298b14217c0d6149faaff26e254b7753063158",
|
||||
"sig_s": "2200f34790df5a71f7349eb941f11c294e480dadcf15e323851ae43845ee9a80"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_builtin_Tether_send_network",
|
||||
"parameters": {
|
||||
"chain_id": 1,
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"nonce": "0x0",
|
||||
"gas_price": "0x14",
|
||||
"gas_limit": "0x14",
|
||||
"value": "0x0",
|
||||
"to_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
|
||||
"tx_type": null,
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"definitions": {
|
||||
"to_address": ""
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 38,
|
||||
"sig_r": "a82c902c3c4d82e9a3d3894bf1298b14217c0d6149faaff26e254b7753063158",
|
||||
"sig_s": "2200f34790df5a71f7349eb941f11c294e480dadcf15e323851ae43845ee9a80"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_builtin_Tether_send_token",
|
||||
"parameters": {
|
||||
"chain_id": 1,
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"nonce": "0x0",
|
||||
"gas_price": "0x14",
|
||||
"gas_limit": "0x14",
|
||||
"value": "0x0",
|
||||
"to_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
|
||||
"tx_type": null,
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"definitions": {
|
||||
"chain_id": -1
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 38,
|
||||
"sig_r": "a82c902c3c4d82e9a3d3894bf1298b14217c0d6149faaff26e254b7753063158",
|
||||
"sig_s": "2200f34790df5a71f7349eb941f11c294e480dadcf15e323851ae43845ee9a80"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_builtin_Tether_send_nothing",
|
||||
"parameters": {
|
||||
"chain_id": 1,
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"nonce": "0x0",
|
||||
"gas_price": "0x14",
|
||||
"gas_limit": "0x14",
|
||||
"value": "0x0",
|
||||
"to_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
|
||||
"tx_type": null,
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"definitions": {
|
||||
"chain_id": -1,
|
||||
"to_address": ""
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 38,
|
||||
"sig_r": "a82c902c3c4d82e9a3d3894bf1298b14217c0d6149faaff26e254b7753063158",
|
||||
"sig_s": "2200f34790df5a71f7349eb941f11c294e480dadcf15e323851ae43845ee9a80"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_builtin_Tether_wrong_network_token",
|
||||
"parameters": {
|
||||
"chain_id": 1,
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"nonce": "0x0",
|
||||
"gas_price": "0x14",
|
||||
"gas_limit": "0x14",
|
||||
"value": "0x0",
|
||||
"to_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
|
||||
"tx_type": null,
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"definitions": {
|
||||
"chain_id": 8,
|
||||
"token_chain_id": 8,
|
||||
"to_address": "0x20e3dd746ddf519b23ffbbb6da7a5d33ea6349d6"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 38,
|
||||
"sig_r": "a82c902c3c4d82e9a3d3894bf1298b14217c0d6149faaff26e254b7753063158",
|
||||
"sig_s": "2200f34790df5a71f7349eb941f11c294e480dadcf15e323851ae43845ee9a80"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_builtin_Tether_wrong_network",
|
||||
"parameters": {
|
||||
"chain_id": 1,
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"nonce": "0x0",
|
||||
"gas_price": "0x14",
|
||||
"gas_limit": "0x14",
|
||||
"value": "0x0",
|
||||
"to_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
|
||||
"tx_type": null,
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"definitions": {
|
||||
"chain_id": 8
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 38,
|
||||
"sig_r": "a82c902c3c4d82e9a3d3894bf1298b14217c0d6149faaff26e254b7753063158",
|
||||
"sig_s": "2200f34790df5a71f7349eb941f11c294e480dadcf15e323851ae43845ee9a80"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_builtin_Tether_wrong_token",
|
||||
"parameters": {
|
||||
"chain_id": 1,
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"nonce": "0x0",
|
||||
"gas_price": "0x14",
|
||||
"gas_limit": "0x14",
|
||||
"value": "0x0",
|
||||
"to_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
|
||||
"tx_type": null,
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"definitions": {
|
||||
"token_chain_id": 8,
|
||||
"to_address": "0x20e3dd746ddf519b23ffbbb6da7a5d33ea6349d6"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 38,
|
||||
"sig_r": "a82c902c3c4d82e9a3d3894bf1298b14217c0d6149faaff26e254b7753063158",
|
||||
"sig_s": "2200f34790df5a71f7349eb941f11c294e480dadcf15e323851ae43845ee9a80"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_extern_adChain_send_network_token",
|
||||
"parameters": {
|
||||
"chain_id": 1,
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"nonce": "0x0",
|
||||
"gas_price": "0x14",
|
||||
"gas_limit": "0x14",
|
||||
"value": "0x0",
|
||||
"to_address": "0xd0d6d6c5fe4a677d343cc433536bb717bae167dd",
|
||||
"tx_type": null,
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 38,
|
||||
"sig_r": "78e9bab4abda13d3cdc2e6dee69e96a7215ff4254b2b9a2321f970941925250c",
|
||||
"sig_s": "2c08ebde47552e7d407767710c4fd48d8c66e71f28004d87170a430ecf7d56a6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_extern_adChain_send_network",
|
||||
"parameters": {
|
||||
"chain_id": 1,
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"nonce": "0x0",
|
||||
"gas_price": "0x14",
|
||||
"gas_limit": "0x14",
|
||||
"value": "0x0",
|
||||
"to_address": "0xd0d6d6c5fe4a677d343cc433536bb717bae167dd",
|
||||
"tx_type": null,
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"definitions": {
|
||||
"to_address": ""
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 38,
|
||||
"sig_r": "78e9bab4abda13d3cdc2e6dee69e96a7215ff4254b2b9a2321f970941925250c",
|
||||
"sig_s": "2c08ebde47552e7d407767710c4fd48d8c66e71f28004d87170a430ecf7d56a6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_extern_adChain_send_token",
|
||||
"parameters": {
|
||||
"chain_id": 1,
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"nonce": "0x0",
|
||||
"gas_price": "0x14",
|
||||
"gas_limit": "0x14",
|
||||
"value": "0x0",
|
||||
"to_address": "0xd0d6d6c5fe4a677d343cc433536bb717bae167dd",
|
||||
"tx_type": null,
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"definitions": {
|
||||
"chain_id": -1
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 38,
|
||||
"sig_r": "78e9bab4abda13d3cdc2e6dee69e96a7215ff4254b2b9a2321f970941925250c",
|
||||
"sig_s": "2c08ebde47552e7d407767710c4fd48d8c66e71f28004d87170a430ecf7d56a6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_extern_adChain_send_nothing",
|
||||
"parameters": {
|
||||
"chain_id": 1,
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"nonce": "0x0",
|
||||
"gas_price": "0x14",
|
||||
"gas_limit": "0x14",
|
||||
"value": "0x0",
|
||||
"to_address": "0xd0d6d6c5fe4a677d343cc433536bb717bae167dd",
|
||||
"tx_type": null,
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"definitions": {
|
||||
"chain_id": -1,
|
||||
"to_address": ""
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 38,
|
||||
"sig_r": "78e9bab4abda13d3cdc2e6dee69e96a7215ff4254b2b9a2321f970941925250c",
|
||||
"sig_s": "2c08ebde47552e7d407767710c4fd48d8c66e71f28004d87170a430ecf7d56a6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_extern_adChain_wrong_token",
|
||||
"parameters": {
|
||||
"chain_id": 1,
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"nonce": "0x0",
|
||||
"gas_price": "0x14",
|
||||
"gas_limit": "0x14",
|
||||
"value": "0x0",
|
||||
"to_address": "0xd0d6d6c5fe4a677d343cc433536bb717bae167dd",
|
||||
"tx_type": null,
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"definitions": {
|
||||
"token_chain_id": 8,
|
||||
"to_address": "0x20e3dd746ddf519b23ffbbb6da7a5d33ea6349d6"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 38,
|
||||
"sig_r": "78e9bab4abda13d3cdc2e6dee69e96a7215ff4254b2b9a2321f970941925250c",
|
||||
"sig_s": "2c08ebde47552e7d407767710c4fd48d8c66e71f28004d87170a430ecf7d56a6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "extern_Ubiq_extern_Sphere_send_network_token",
|
||||
"parameters": {
|
||||
"chain_id": 8,
|
||||
"path": "m/44'/108'/0'/0/0",
|
||||
"nonce": "0x0",
|
||||
"gas_price": "0x14",
|
||||
"gas_limit": "0x14",
|
||||
"value": "0x0",
|
||||
"to_address": "0x20e3dd746ddf519b23ffbbb6da7a5d33ea6349d6",
|
||||
"tx_type": null,
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 52,
|
||||
"sig_r": "1db04aa641665618467a2e40f840da081601c266050f951c8bb8688efd43a7d9",
|
||||
"sig_s": "5f4bb9b86814cb8647b7aad6e23c73ffbfb284109068d5d1061583bff252ec82"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "extern_Ubiq_extern_Sphere_send_network",
|
||||
"parameters": {
|
||||
"chain_id": 8,
|
||||
"path": "m/44'/108'/0'/0/0",
|
||||
"nonce": "0x0",
|
||||
"gas_price": "0x14",
|
||||
"gas_limit": "0x14",
|
||||
"value": "0x0",
|
||||
"to_address": "0x20e3dd746ddf519b23ffbbb6da7a5d33ea6349d6",
|
||||
"tx_type": null,
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"definitions": {
|
||||
"to_address": ""
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 52,
|
||||
"sig_r": "1db04aa641665618467a2e40f840da081601c266050f951c8bb8688efd43a7d9",
|
||||
"sig_s": "5f4bb9b86814cb8647b7aad6e23c73ffbfb284109068d5d1061583bff252ec82"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "extern_Ubiq_extern_Sphere_wrong_token",
|
||||
"parameters": {
|
||||
"chain_id": 8,
|
||||
"path": "m/44'/108'/0'/0/0",
|
||||
"nonce": "0x0",
|
||||
"gas_price": "0x14",
|
||||
"gas_limit": "0x14",
|
||||
"value": "0x0",
|
||||
"to_address": "0x20e3dd746ddf519b23ffbbb6da7a5d33ea6349d6",
|
||||
"tx_type": null,
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"definitions": {
|
||||
"token_chain_id": 1,
|
||||
"to_address": "0xd0d6d6c5fe4a677d343cc433536bb717bae167dd"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 52,
|
||||
"sig_r": "1db04aa641665618467a2e40f840da081601c266050f951c8bb8688efd43a7d9",
|
||||
"sig_s": "5f4bb9b86814cb8647b7aad6e23c73ffbfb284109068d5d1061583bff252ec82"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -53,8 +53,7 @@
|
||||
"value": "0x2540be400",
|
||||
"to_address": "0x8eA7a3fccC211ED48b763b4164884DDbcF3b0A98",
|
||||
"tx_type": null,
|
||||
"data": "",
|
||||
"builtin_network": false
|
||||
"data": ""
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 43,
|
||||
@ -73,8 +72,7 @@
|
||||
"value": "0x2540be400",
|
||||
"to_address": "0x8eA7a3fccC211ED48b763b4164884DDbcF3b0A98",
|
||||
"tx_type": null,
|
||||
"data": "",
|
||||
"builtin_network": false
|
||||
"data": ""
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 158,
|
||||
@ -93,8 +91,7 @@
|
||||
"value": "0x2540be400",
|
||||
"to_address": "0x8eA7a3fccC211ED48b763b4164884DDbcF3b0A98",
|
||||
"tx_type": null,
|
||||
"data": "",
|
||||
"builtin_network": false
|
||||
"data": ""
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 57891008,
|
||||
@ -113,8 +110,7 @@
|
||||
"value": "0x2540be400",
|
||||
"to_address": "0x8eA7a3fccC211ED48b763b4164884DDbcF3b0A98",
|
||||
"tx_type": null,
|
||||
"data": "",
|
||||
"builtin_network": false
|
||||
"data": ""
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 6251318340,
|
||||
@ -171,8 +167,7 @@
|
||||
"value": "0x2540be400",
|
||||
"to_address": "0x8eA7a3fccC211ED48b763b4164884DDbcF3b0A98",
|
||||
"tx_type": null,
|
||||
"data": "",
|
||||
"builtin_network": false
|
||||
"data": ""
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 22594216254,
|
||||
|
@ -73,8 +73,7 @@
|
||||
"gas_limit": "0x14",
|
||||
"max_gas_fee": "0x14",
|
||||
"max_priority_fee": "0x1",
|
||||
"value": "0x0",
|
||||
"builtin_token": false
|
||||
"value": "0x0"
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 1,
|
||||
@ -114,8 +113,7 @@
|
||||
"gas_limit": "0x14",
|
||||
"max_gas_fee": "0x14",
|
||||
"max_priority_fee": "0x1",
|
||||
"value": "0xa",
|
||||
"builtin_network": false
|
||||
"value": "0xa"
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 0,
|
||||
|
336
common/tests/fixtures/ethereum/sign_tx_eip1559_definitions.json
vendored
Normal file
336
common/tests/fixtures/ethereum/sign_tx_eip1559_definitions.json
vendored
Normal file
@ -0,0 +1,336 @@
|
||||
{
|
||||
"setup": {
|
||||
"mnemonic": "all all all all all all all all all all all all",
|
||||
"passphrase": ""
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"name": "builtin_Ethereum_builtin_Tether_send_network_token",
|
||||
"parameters": {
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"to_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
|
||||
"chain_id": 1,
|
||||
"nonce": "0x0",
|
||||
"gas_limit": "0x14",
|
||||
"max_gas_fee": "0x14",
|
||||
"max_priority_fee": "0x1",
|
||||
"value": "0x0"
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 1,
|
||||
"sig_r": "8b5002dc26252120e89c5194a72fb96663930c3bb709487bec72132a0c32033f",
|
||||
"sig_s": "47f36b4c02bad110bf7eb4fd71d6cd12bca7443bad3f31700a404302dbbb6e1c"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_builtin_Tether_send_network",
|
||||
"parameters": {
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"to_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
|
||||
"chain_id": 1,
|
||||
"nonce": "0x0",
|
||||
"gas_limit": "0x14",
|
||||
"max_gas_fee": "0x14",
|
||||
"max_priority_fee": "0x1",
|
||||
"value": "0x0",
|
||||
"definitions": {
|
||||
"to_address": ""
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 1,
|
||||
"sig_r": "8b5002dc26252120e89c5194a72fb96663930c3bb709487bec72132a0c32033f",
|
||||
"sig_s": "47f36b4c02bad110bf7eb4fd71d6cd12bca7443bad3f31700a404302dbbb6e1c"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_builtin_Tether_send_token",
|
||||
"parameters": {
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"to_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
|
||||
"chain_id": 1,
|
||||
"nonce": "0x0",
|
||||
"gas_limit": "0x14",
|
||||
"max_gas_fee": "0x14",
|
||||
"max_priority_fee": "0x1",
|
||||
"value": "0x0",
|
||||
"definitions": {
|
||||
"chain_id": -1
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 1,
|
||||
"sig_r": "8b5002dc26252120e89c5194a72fb96663930c3bb709487bec72132a0c32033f",
|
||||
"sig_s": "47f36b4c02bad110bf7eb4fd71d6cd12bca7443bad3f31700a404302dbbb6e1c"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_builtin_Tether_send_nothing",
|
||||
"parameters": {
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"to_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
|
||||
"chain_id": 1,
|
||||
"nonce": "0x0",
|
||||
"gas_limit": "0x14",
|
||||
"max_gas_fee": "0x14",
|
||||
"max_priority_fee": "0x1",
|
||||
"value": "0x0",
|
||||
"definitions": {
|
||||
"chain_id": -1,
|
||||
"to_address": ""
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 1,
|
||||
"sig_r": "8b5002dc26252120e89c5194a72fb96663930c3bb709487bec72132a0c32033f",
|
||||
"sig_s": "47f36b4c02bad110bf7eb4fd71d6cd12bca7443bad3f31700a404302dbbb6e1c"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_builtin_Tether_wrong_network_token",
|
||||
"parameters": {
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"to_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
|
||||
"chain_id": 1,
|
||||
"nonce": "0x0",
|
||||
"gas_limit": "0x14",
|
||||
"max_gas_fee": "0x14",
|
||||
"max_priority_fee": "0x1",
|
||||
"value": "0x0",
|
||||
"definitions": {
|
||||
"chain_id": 8,
|
||||
"token_chain_id": 8,
|
||||
"to_address": "0x20e3dd746ddf519b23ffbbb6da7a5d33ea6349d6"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 1,
|
||||
"sig_r": "8b5002dc26252120e89c5194a72fb96663930c3bb709487bec72132a0c32033f",
|
||||
"sig_s": "47f36b4c02bad110bf7eb4fd71d6cd12bca7443bad3f31700a404302dbbb6e1c"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_builtin_Tether_wrong_network",
|
||||
"parameters": {
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"to_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
|
||||
"chain_id": 1,
|
||||
"nonce": "0x0",
|
||||
"gas_limit": "0x14",
|
||||
"max_gas_fee": "0x14",
|
||||
"max_priority_fee": "0x1",
|
||||
"value": "0x0",
|
||||
"definitions": {
|
||||
"chain_id": 8
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 1,
|
||||
"sig_r": "8b5002dc26252120e89c5194a72fb96663930c3bb709487bec72132a0c32033f",
|
||||
"sig_s": "47f36b4c02bad110bf7eb4fd71d6cd12bca7443bad3f31700a404302dbbb6e1c"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_builtin_Tether_wrong_token",
|
||||
"parameters": {
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"to_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
|
||||
"chain_id": 1,
|
||||
"nonce": "0x0",
|
||||
"gas_limit": "0x14",
|
||||
"max_gas_fee": "0x14",
|
||||
"max_priority_fee": "0x1",
|
||||
"value": "0x0",
|
||||
"definitions": {
|
||||
"token_chain_id": 8,
|
||||
"to_address": "0x20e3dd746ddf519b23ffbbb6da7a5d33ea6349d6"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 1,
|
||||
"sig_r": "8b5002dc26252120e89c5194a72fb96663930c3bb709487bec72132a0c32033f",
|
||||
"sig_s": "47f36b4c02bad110bf7eb4fd71d6cd12bca7443bad3f31700a404302dbbb6e1c"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_extern_adChain_send_network_token",
|
||||
"parameters": {
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"to_address": "0xd0d6d6c5fe4a677d343cc433536bb717bae167dd",
|
||||
"chain_id": 1,
|
||||
"nonce": "0x0",
|
||||
"gas_limit": "0x14",
|
||||
"max_gas_fee": "0x14",
|
||||
"max_priority_fee": "0x1",
|
||||
"value": "0x0"
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 0,
|
||||
"sig_r": "a29ac8d36f0b49b12fcde74878593a75b4990062e8c722da602d4a48733382a2",
|
||||
"sig_s": "60758c000ee9d276972191c200ef92d395cecf0a9586d65449c73057ae561883"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_extern_adChain_send_network",
|
||||
"parameters": {
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"to_address": "0xd0d6d6c5fe4a677d343cc433536bb717bae167dd",
|
||||
"chain_id": 1,
|
||||
"nonce": "0x0",
|
||||
"gas_limit": "0x14",
|
||||
"max_gas_fee": "0x14",
|
||||
"max_priority_fee": "0x1",
|
||||
"value": "0x0",
|
||||
"definitions": {
|
||||
"to_address": ""
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 0,
|
||||
"sig_r": "a29ac8d36f0b49b12fcde74878593a75b4990062e8c722da602d4a48733382a2",
|
||||
"sig_s": "60758c000ee9d276972191c200ef92d395cecf0a9586d65449c73057ae561883"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_extern_adChain_send_token",
|
||||
"parameters": {
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"to_address": "0xd0d6d6c5fe4a677d343cc433536bb717bae167dd",
|
||||
"chain_id": 1,
|
||||
"nonce": "0x0",
|
||||
"gas_limit": "0x14",
|
||||
"max_gas_fee": "0x14",
|
||||
"max_priority_fee": "0x1",
|
||||
"value": "0x0",
|
||||
"definitions": {
|
||||
"chain_id": -1
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 0,
|
||||
"sig_r": "a29ac8d36f0b49b12fcde74878593a75b4990062e8c722da602d4a48733382a2",
|
||||
"sig_s": "60758c000ee9d276972191c200ef92d395cecf0a9586d65449c73057ae561883"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_extern_adChain_send_nothing",
|
||||
"parameters": {
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"to_address": "0xd0d6d6c5fe4a677d343cc433536bb717bae167dd",
|
||||
"chain_id": 1,
|
||||
"nonce": "0x0",
|
||||
"gas_limit": "0x14",
|
||||
"max_gas_fee": "0x14",
|
||||
"max_priority_fee": "0x1",
|
||||
"value": "0x0",
|
||||
"definitions": {
|
||||
"chain_id": -1,
|
||||
"to_address": ""
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 0,
|
||||
"sig_r": "a29ac8d36f0b49b12fcde74878593a75b4990062e8c722da602d4a48733382a2",
|
||||
"sig_s": "60758c000ee9d276972191c200ef92d395cecf0a9586d65449c73057ae561883"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_extern_adChain_wrong_token",
|
||||
"parameters": {
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"to_address": "0xd0d6d6c5fe4a677d343cc433536bb717bae167dd",
|
||||
"chain_id": 1,
|
||||
"nonce": "0x0",
|
||||
"gas_limit": "0x14",
|
||||
"max_gas_fee": "0x14",
|
||||
"max_priority_fee": "0x1",
|
||||
"value": "0x0",
|
||||
"definitions": {
|
||||
"token_chain_id": 8,
|
||||
"to_address": "0x20e3dd746ddf519b23ffbbb6da7a5d33ea6349d6"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 0,
|
||||
"sig_r": "a29ac8d36f0b49b12fcde74878593a75b4990062e8c722da602d4a48733382a2",
|
||||
"sig_s": "60758c000ee9d276972191c200ef92d395cecf0a9586d65449c73057ae561883"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "extern_Ubiq_extern_Sphere_send_network_token",
|
||||
"parameters": {
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"path": "m/44'/108'/0'/0/0",
|
||||
"to_address": "0x20e3dd746ddf519b23ffbbb6da7a5d33ea6349d6",
|
||||
"chain_id": 8,
|
||||
"nonce": "0x0",
|
||||
"gas_limit": "0x14",
|
||||
"max_gas_fee": "0x14",
|
||||
"max_priority_fee": "0x1",
|
||||
"value": "0x0"
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 1,
|
||||
"sig_r": "1607bb4422b8cd139228f0d4f48521f6b249f2daeb7a254f9e9e998fd8dd6b68",
|
||||
"sig_s": "4a17515b78d7d70fc8df8b17f602f0cd57a0afe2417cc893cd3cda706ab018fa"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "extern_Ubiq_extern_Sphere_send_network",
|
||||
"parameters": {
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"path": "m/44'/108'/0'/0/0",
|
||||
"to_address": "0x20e3dd746ddf519b23ffbbb6da7a5d33ea6349d6",
|
||||
"chain_id": 8,
|
||||
"nonce": "0x0",
|
||||
"gas_limit": "0x14",
|
||||
"max_gas_fee": "0x14",
|
||||
"max_priority_fee": "0x1",
|
||||
"value": "0x0",
|
||||
"definitions": {
|
||||
"to_address": ""
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 1,
|
||||
"sig_r": "1607bb4422b8cd139228f0d4f48521f6b249f2daeb7a254f9e9e998fd8dd6b68",
|
||||
"sig_s": "4a17515b78d7d70fc8df8b17f602f0cd57a0afe2417cc893cd3cda706ab018fa"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "extern_Ubiq_extern_Sphere_wrong_token",
|
||||
"parameters": {
|
||||
"data": "a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"path": "m/44'/108'/0'/0/0",
|
||||
"to_address": "0x20e3dd746ddf519b23ffbbb6da7a5d33ea6349d6",
|
||||
"chain_id": 8,
|
||||
"nonce": "0x0",
|
||||
"gas_limit": "0x14",
|
||||
"max_gas_fee": "0x14",
|
||||
"max_priority_fee": "0x1",
|
||||
"value": "0x0",
|
||||
"definitions": {
|
||||
"token_chain_id": 1,
|
||||
"to_address": "0xd0d6d6c5fe4a677d343cc433536bb717bae167dd"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"sig_v": 1,
|
||||
"sig_r": "1607bb4422b8cd139228f0d4f48521f6b249f2daeb7a254f9e9e998fd8dd6b68",
|
||||
"sig_s": "4a17515b78d7d70fc8df8b17f602f0cd57a0afe2417cc893cd3cda706ab018fa"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -26,6 +26,78 @@
|
||||
"sig": "0x18aaea9abed7cd88d3763a9a420e2e7b71a9f991685fbc62d74da86326cffa680644862d459d1973e422777a3933bc74190b1cae9a5418ddaea645a7d7630dd91c"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_do_not_send_network",
|
||||
"comment": "Bare minimum EIP-712 message (domain only)",
|
||||
"parameters": {
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"metamask_v4_compat": true,
|
||||
"data": {
|
||||
"types": {
|
||||
"EIP712Domain": []
|
||||
},
|
||||
"primaryType": "EIP712Domain",
|
||||
"message": {},
|
||||
"domain": {}
|
||||
},
|
||||
"message_hash": null,
|
||||
"domain_separator_hash": "0x6192106f129ce05c9075d319c1fa6ea9b3ae37cbd0c1ef92e2be7137bb07baa1",
|
||||
"definitions": {
|
||||
"slip44": -1
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"address": "0x73d0385F4d8E00C5e6504C6030F47BF6212736A8",
|
||||
"sig": "0x18aaea9abed7cd88d3763a9a420e2e7b71a9f991685fbc62d74da86326cffa680644862d459d1973e422777a3933bc74190b1cae9a5418ddaea645a7d7630dd91c"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_send_wrong_network",
|
||||
"comment": "Bare minimum EIP-712 message (domain only)",
|
||||
"parameters": {
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"metamask_v4_compat": true,
|
||||
"data": {
|
||||
"types": {
|
||||
"EIP712Domain": []
|
||||
},
|
||||
"primaryType": "EIP712Domain",
|
||||
"message": {},
|
||||
"domain": {}
|
||||
},
|
||||
"message_hash": null,
|
||||
"domain_separator_hash": "0x6192106f129ce05c9075d319c1fa6ea9b3ae37cbd0c1ef92e2be7137bb07baa1",
|
||||
"definitions": {
|
||||
"slip44": 6060
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"address": "0x73d0385F4d8E00C5e6504C6030F47BF6212736A8",
|
||||
"sig": "0x18aaea9abed7cd88d3763a9a420e2e7b71a9f991685fbc62d74da86326cffa680644862d459d1973e422777a3933bc74190b1cae9a5418ddaea645a7d7630dd91c"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "extern_GoChain_send_network",
|
||||
"comment": "Bare minimum EIP-712 message (domain only)",
|
||||
"parameters": {
|
||||
"path": "m/44'/6060'/0'/0/0",
|
||||
"metamask_v4_compat": true,
|
||||
"data": {
|
||||
"types": {
|
||||
"EIP712Domain": []
|
||||
},
|
||||
"primaryType": "EIP712Domain",
|
||||
"message": {},
|
||||
"domain": {}
|
||||
},
|
||||
"message_hash": null,
|
||||
"domain_separator_hash": "0x6192106f129ce05c9075d319c1fa6ea9b3ae37cbd0c1ef92e2be7137bb07baa1"
|
||||
},
|
||||
"result": {
|
||||
"address": "0xA26a450ef46a5f11a510eBA2119A3236fa0Aca92",
|
||||
"sig": "0x0d7be57dfc60b5ec97383761a3404846fcbb71f8c4b317d178ffbc09a0e71b8639ffcedcb3774cf362b50e1c95938d245778c5e3d9679ed4ae63bedafb935b601b"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "full_domain_empty_message",
|
||||
"comment": "Domain only EIP-712 message",
|
||||
|
39
common/tests/fixtures/ethereum/signmessage.json
vendored
39
common/tests/fixtures/ethereum/signmessage.json
vendored
@ -14,6 +14,45 @@
|
||||
"sig": "af4eac50f21acc6daeb0ab036f616f5d19fccade46e47100642b3dfc798c9b740d5873887bdc2f02502c90777a082d10dca113bd1ec29d08108396401421c8cc1b"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_do_not_send_network",
|
||||
"parameters": {
|
||||
"msg": "This is an example of a signed message.",
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"definitions": {
|
||||
"slip44": -1
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"address": "0x73d0385F4d8E00C5e6504C6030F47BF6212736A8",
|
||||
"sig": "af4eac50f21acc6daeb0ab036f616f5d19fccade46e47100642b3dfc798c9b740d5873887bdc2f02502c90777a082d10dca113bd1ec29d08108396401421c8cc1b"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "builtin_Ethereum_send_wrong_network",
|
||||
"parameters": {
|
||||
"msg": "This is an example of a signed message.",
|
||||
"path": "m/44'/60'/0'/0/0",
|
||||
"definitions": {
|
||||
"slip44": 6060
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"address": "0x73d0385F4d8E00C5e6504C6030F47BF6212736A8",
|
||||
"sig": "af4eac50f21acc6daeb0ab036f616f5d19fccade46e47100642b3dfc798c9b740d5873887bdc2f02502c90777a082d10dca113bd1ec29d08108396401421c8cc1b"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "extern_GoChain_send_network",
|
||||
"parameters": {
|
||||
"msg": "This is an example of a signed message.",
|
||||
"path": "m/44'/6060'/0'/0/0"
|
||||
},
|
||||
"result": {
|
||||
"address": "0xA26a450ef46a5f11a510eBA2119A3236fa0Aca92",
|
||||
"sig": "e642dd21fd87ead65b380f5cc6a9159b8a83e024c3fac13e261ad07dc344b6ef2e8e5ef476a908aeb37aece2afe2e248f029634979fd68b57635fb9e083c91a91c"
|
||||
}
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"msg": "VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!VeryLongMessage!",
|
||||
|
@ -18,7 +18,8 @@ import pytest
|
||||
|
||||
from trezorlib import ethereum
|
||||
from trezorlib.debuglink import TrezorClientDebugLink as Client
|
||||
from trezorlib.tools import parse_path
|
||||
from trezorlib.exceptions import TrezorFailure
|
||||
from trezorlib.tools import UH_, parse_path
|
||||
|
||||
from ...common import COMMON_FIXTURES_DIR, parametrize_using_common_fixtures
|
||||
|
||||
@ -27,14 +28,26 @@ pytestmark = [pytest.mark.altcoin, pytest.mark.ethereum]
|
||||
|
||||
@parametrize_using_common_fixtures("ethereum/getaddress.json")
|
||||
def test_getaddress(client: Client, parameters, result):
|
||||
encoded_network = None
|
||||
if not parameters.get("builtin_network", True):
|
||||
encoded_network = ethereum.network_definition_from_dir(
|
||||
path=COMMON_FIXTURES_DIR / "ethereum" / "definitions-latest",
|
||||
slip44=parameters["slip44"],
|
||||
)
|
||||
address_n = parse_path(parameters["path"])
|
||||
encoded_network_slip44 = UH_(address_n[1])
|
||||
if "definitions" in parameters:
|
||||
encoded_network_slip44 = parameters["definitions"].get(
|
||||
"slip44", encoded_network_slip44
|
||||
)
|
||||
|
||||
encoded_network = ethereum.network_definition_from_dir(
|
||||
path=COMMON_FIXTURES_DIR / "ethereum" / "definitions-latest",
|
||||
slip44=encoded_network_slip44,
|
||||
)
|
||||
assert (
|
||||
ethereum.get_address(client, address_n, encoded_network=encoded_network)
|
||||
== result["address"]
|
||||
)
|
||||
|
||||
|
||||
def test_getaddress_missing_extern_definitions(client: Client):
|
||||
path = "m/44'/6060'/0'/0/0" # GoChain
|
||||
address_n = parse_path(path)
|
||||
|
||||
with pytest.raises(TrezorFailure, match=r"DataError:.*Forbidden key path"):
|
||||
ethereum.get_address(client, address_n, encoded_network=None)
|
||||
|
@ -18,9 +18,10 @@ import pytest
|
||||
|
||||
from trezorlib import ethereum, exceptions
|
||||
from trezorlib.debuglink import TrezorClientDebugLink as Client
|
||||
from trezorlib.tools import parse_path
|
||||
from trezorlib.exceptions import TrezorFailure
|
||||
from trezorlib.tools import UH_, parse_path
|
||||
|
||||
from ...common import parametrize_using_common_fixtures
|
||||
from ...common import COMMON_FIXTURES_DIR, parametrize_using_common_fixtures
|
||||
|
||||
SHOW_MORE = (143, 167)
|
||||
|
||||
@ -32,21 +33,61 @@ pytestmark = [pytest.mark.altcoin, pytest.mark.ethereum]
|
||||
def test_ethereum_sign_typed_data(client: Client, parameters, result):
|
||||
with client:
|
||||
address_n = parse_path(parameters["path"])
|
||||
encoded_network_slip44 = UH_(address_n[1])
|
||||
if "definitions" in parameters:
|
||||
encoded_network_slip44 = parameters["definitions"].get(
|
||||
"slip44", encoded_network_slip44
|
||||
)
|
||||
|
||||
encoded_network = ethereum.network_definition_from_dir(
|
||||
path=COMMON_FIXTURES_DIR / "ethereum" / "definitions-latest",
|
||||
slip44=encoded_network_slip44,
|
||||
)
|
||||
ret = ethereum.sign_typed_data(
|
||||
client,
|
||||
address_n,
|
||||
parameters["data"],
|
||||
metamask_v4_compat=parameters["metamask_v4_compat"],
|
||||
encoded_network=encoded_network,
|
||||
)
|
||||
assert ret.address == result["address"]
|
||||
assert f"0x{ret.signature.hex()}" == result["sig"]
|
||||
|
||||
|
||||
@pytest.mark.skip_t1
|
||||
def test_ethereum_sign_typed_data_missing_extern_definitions(client: Client):
|
||||
path = "m/44'/6060'/0'/0/0" # GoChain
|
||||
|
||||
with pytest.raises(TrezorFailure, match=r"DataError: Forbidden key path"):
|
||||
ethereum.sign_typed_data(
|
||||
client,
|
||||
parse_path(path),
|
||||
{
|
||||
"types": {"EIP712Domain": []},
|
||||
"primaryType": "EIP712Domain",
|
||||
"message": {},
|
||||
"domain": {},
|
||||
},
|
||||
metamask_v4_compat=True,
|
||||
encoded_network=None,
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.skip_t2
|
||||
@parametrize_using_common_fixtures("ethereum/sign_typed_data.json")
|
||||
def test_ethereum_sign_typed_data_blind(client: Client, parameters, result):
|
||||
with client:
|
||||
address_n = parse_path(parameters["path"])
|
||||
encoded_network_slip44 = UH_(address_n[1])
|
||||
if "definitions" in parameters:
|
||||
encoded_network_slip44 = parameters["definitions"].get(
|
||||
"slip44", encoded_network_slip44
|
||||
)
|
||||
|
||||
encoded_network = ethereum.network_definition_from_dir(
|
||||
path=COMMON_FIXTURES_DIR / "ethereum" / "definitions-latest",
|
||||
slip44=encoded_network_slip44,
|
||||
)
|
||||
ret = ethereum.sign_typed_data_hash(
|
||||
client,
|
||||
address_n,
|
||||
@ -55,11 +96,28 @@ def test_ethereum_sign_typed_data_blind(client: Client, parameters, result):
|
||||
ethereum.decode_hex(parameters["message_hash"])
|
||||
if parameters["message_hash"]
|
||||
else None,
|
||||
encoded_network=encoded_network,
|
||||
)
|
||||
assert ret.address == result["address"]
|
||||
assert f"0x{ret.signature.hex()}" == result["sig"]
|
||||
|
||||
|
||||
@pytest.mark.skip_t2
|
||||
def test_ethereum_sign_typed_data_blind_missing_extern_definitions(client: Client):
|
||||
path = "m/44'/6060'/0'/0/0" # GoChain
|
||||
|
||||
with pytest.raises(TrezorFailure, match=r"DataError:.*Forbidden key path"):
|
||||
ethereum.sign_typed_data_hash(
|
||||
client,
|
||||
parse_path(path),
|
||||
ethereum.decode_hex(
|
||||
"0x6192106f129ce05c9075d319c1fa6ea9b3ae37cbd0c1ef92e2be7137bb07baa1"
|
||||
),
|
||||
None,
|
||||
encoded_network=None,
|
||||
)
|
||||
|
||||
|
||||
# Being the same as the first object in ethereum/sign_typed_data.json
|
||||
DATA = {
|
||||
"types": {
|
||||
|
@ -18,22 +18,41 @@ import pytest
|
||||
|
||||
from trezorlib import ethereum
|
||||
from trezorlib.debuglink import TrezorClientDebugLink as Client
|
||||
from trezorlib.tools import parse_path
|
||||
from trezorlib.exceptions import TrezorFailure
|
||||
from trezorlib.tools import UH_, parse_path
|
||||
|
||||
from ...common import parametrize_using_common_fixtures
|
||||
from ...common import COMMON_FIXTURES_DIR, parametrize_using_common_fixtures
|
||||
|
||||
pytestmark = [pytest.mark.altcoin, pytest.mark.ethereum]
|
||||
|
||||
|
||||
@parametrize_using_common_fixtures("ethereum/signmessage.json")
|
||||
def test_signmessage(client: Client, parameters, result):
|
||||
res = ethereum.sign_message(
|
||||
client, parse_path(parameters["path"]), parameters["msg"]
|
||||
address_n = parse_path(parameters["path"])
|
||||
encoded_network_slip44 = UH_(address_n[1])
|
||||
if "definitions" in parameters:
|
||||
encoded_network_slip44 = parameters["definitions"].get(
|
||||
"slip44", encoded_network_slip44
|
||||
)
|
||||
|
||||
encoded_network = ethereum.network_definition_from_dir(
|
||||
path=COMMON_FIXTURES_DIR / "ethereum" / "definitions-latest",
|
||||
slip44=encoded_network_slip44,
|
||||
)
|
||||
res = ethereum.sign_message(client, address_n, parameters["msg"], encoded_network)
|
||||
assert res.address == result["address"]
|
||||
assert res.signature.hex() == result["sig"]
|
||||
|
||||
|
||||
def test_signmessage_missing_extern_definitions(client: Client):
|
||||
path = "m/44'/6060'/0'/0/0" # GoChain
|
||||
address_n = parse_path(path)
|
||||
msg = "This is an example of a signed message."
|
||||
|
||||
with pytest.raises(TrezorFailure, match=r"DataError:.*Forbidden key path"):
|
||||
ethereum.sign_message(client, address_n, msg, encoded_network=None)
|
||||
|
||||
|
||||
@parametrize_using_common_fixtures("ethereum/verifymessage.json")
|
||||
def test_verify(client: Client, parameters, result):
|
||||
res = ethereum.verify_message(
|
||||
|
@ -14,7 +14,7 @@
|
||||
# You should have received a copy of the License along with this library.
|
||||
# If not, see <https://www.gnu.org/licenses/lgpl-3.0.html>.
|
||||
|
||||
from typing import Optional
|
||||
from functools import partial
|
||||
|
||||
import pytest
|
||||
|
||||
@ -34,32 +34,35 @@ pytestmark = [pytest.mark.altcoin, pytest.mark.ethereum]
|
||||
|
||||
def get_EthereumEncodedDefinitions(
|
||||
parameters: dict,
|
||||
) -> Optional[messages.EthereumEncodedDefinitions]:
|
||||
encoded_network = None
|
||||
encoded_token = None
|
||||
if not parameters.get("builtin_network", True):
|
||||
encoded_network = ethereum.network_definition_from_dir(
|
||||
path=COMMON_FIXTURES_DIR / "ethereum" / "definitions-latest",
|
||||
chain_id=parameters["chain_id"],
|
||||
)
|
||||
if not parameters.get("builtin_token", True):
|
||||
encoded_token = ethereum.token_definition_from_dir(
|
||||
path=COMMON_FIXTURES_DIR / "ethereum" / "definitions-latest",
|
||||
chain_id=parameters["chain_id"],
|
||||
token_address=parameters["to_address"],
|
||||
)
|
||||
) -> messages.EthereumEncodedDefinitions:
|
||||
chain_id = parameters["chain_id"]
|
||||
token_chain_id = parameters["chain_id"]
|
||||
token_address = parameters["to_address"]
|
||||
|
||||
if encoded_network is not None or encoded_token is not None:
|
||||
return messages.EthereumEncodedDefinitions(
|
||||
encoded_network=encoded_network, encoded_token=encoded_token
|
||||
)
|
||||
if "definitions" in parameters:
|
||||
chain_id = parameters["definitions"].get("chain_id", chain_id)
|
||||
token_chain_id = parameters["definitions"].get("token_chain_id", token_chain_id)
|
||||
token_address = parameters["definitions"].get("to_address", token_address)
|
||||
|
||||
return None
|
||||
encoded_network = ethereum.network_definition_from_dir(
|
||||
path=COMMON_FIXTURES_DIR / "ethereum" / "definitions-latest",
|
||||
chain_id=chain_id,
|
||||
)
|
||||
encoded_token = ethereum.token_definition_from_dir(
|
||||
path=COMMON_FIXTURES_DIR / "ethereum" / "definitions-latest",
|
||||
chain_id=token_chain_id,
|
||||
token_address=token_address,
|
||||
)
|
||||
|
||||
return messages.EthereumEncodedDefinitions(
|
||||
encoded_network=encoded_network, encoded_token=encoded_token
|
||||
)
|
||||
|
||||
|
||||
@parametrize_using_common_fixtures(
|
||||
"ethereum/sign_tx.json",
|
||||
"ethereum/sign_tx_eip155.json",
|
||||
"ethereum/sign_tx_definitions.json",
|
||||
)
|
||||
def test_signtx(client: Client, parameters, result):
|
||||
with client:
|
||||
@ -84,7 +87,93 @@ def test_signtx(client: Client, parameters, result):
|
||||
assert sig_v == result["sig_v"]
|
||||
|
||||
|
||||
@parametrize_using_common_fixtures("ethereum/sign_tx_eip1559.json")
|
||||
def test_signtx_missing_extern_definitions(client: Client):
|
||||
chain_id = 8 # Ubiq
|
||||
to_address = "0x20e3dd746ddf519b23ffbbb6da7a5d33ea6349d6" # Sphere
|
||||
|
||||
sign_tx_call = partial(
|
||||
ethereum.sign_tx,
|
||||
client,
|
||||
n=parse_path("m/44'/108'/0'/0/0"),
|
||||
nonce=0,
|
||||
gas_price=20,
|
||||
gas_limit=20,
|
||||
to=to_address,
|
||||
chain_id=chain_id,
|
||||
value=0,
|
||||
data=b"a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
)
|
||||
|
||||
definitions_vector = [
|
||||
get_EthereumEncodedDefinitions(
|
||||
{
|
||||
"chain_id": chain_id,
|
||||
"to_address": to_address,
|
||||
"definitions": {
|
||||
"chain_id": -1,
|
||||
},
|
||||
}
|
||||
), # missing network
|
||||
get_EthereumEncodedDefinitions(
|
||||
{
|
||||
"chain_id": -1,
|
||||
"to_address": "",
|
||||
}
|
||||
), # missing network and token
|
||||
]
|
||||
|
||||
for definitions in definitions_vector:
|
||||
with pytest.raises(TrezorFailure, match=r"DataError:.*Forbidden key path"):
|
||||
sign_tx_call(definitions=definitions)
|
||||
|
||||
|
||||
def test_signtx_wrong_extern_definitions(client: Client):
|
||||
chain_id = 8 # Ubiq
|
||||
to_address = "0x20e3dd746ddf519b23ffbbb6da7a5d33ea6349d6" # Sphere
|
||||
|
||||
sign_tx_call = partial(
|
||||
ethereum.sign_tx,
|
||||
client,
|
||||
n=parse_path("m/44'/108'/0'/0/0"),
|
||||
nonce=0,
|
||||
gas_price=20,
|
||||
gas_limit=20,
|
||||
to=to_address,
|
||||
chain_id=chain_id,
|
||||
value=0,
|
||||
data=b"a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
)
|
||||
|
||||
definitions_vector = [
|
||||
get_EthereumEncodedDefinitions(
|
||||
{
|
||||
"chain_id": chain_id,
|
||||
"to_address": to_address,
|
||||
"definitions": {
|
||||
"chain_id": 1,
|
||||
},
|
||||
}
|
||||
), # wrong network
|
||||
get_EthereumEncodedDefinitions(
|
||||
{
|
||||
"chain_id": 1,
|
||||
"to_address": "0xd0d6d6c5fe4a677d343cc433536bb717bae167dd",
|
||||
}
|
||||
), # wrong network and token
|
||||
]
|
||||
|
||||
for definitions in definitions_vector:
|
||||
with pytest.raises(
|
||||
TrezorFailure,
|
||||
match=r"DataError:.*Invalid network definition - chain IDs not equal.",
|
||||
):
|
||||
sign_tx_call(definitions=definitions)
|
||||
|
||||
|
||||
@parametrize_using_common_fixtures(
|
||||
"ethereum/sign_tx_eip1559.json",
|
||||
"ethereum/sign_tx_eip1559_definitions.json",
|
||||
)
|
||||
def test_signtx_eip1559(client: Client, parameters, result):
|
||||
with client:
|
||||
sig_v, sig_r, sig_s = ethereum.sign_tx_eip1559(
|
||||
@ -106,6 +195,91 @@ def test_signtx_eip1559(client: Client, parameters, result):
|
||||
assert sig_v == result["sig_v"]
|
||||
|
||||
|
||||
def test_signtx_eip1559_missing_extern_definitions(client: Client):
|
||||
chain_id = 8 # Ubiq
|
||||
to_address = "0x20e3dd746ddf519b23ffbbb6da7a5d33ea6349d6" # Sphere
|
||||
|
||||
sign_tx_eip1559_call = partial(
|
||||
ethereum.sign_tx_eip1559,
|
||||
client,
|
||||
n=parse_path("m/44'/108'/0'/0/0"),
|
||||
nonce=0,
|
||||
gas_limit=20,
|
||||
max_gas_fee=20,
|
||||
max_priority_fee=1,
|
||||
to=to_address,
|
||||
chain_id=chain_id,
|
||||
value=0,
|
||||
data=b"a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
)
|
||||
|
||||
definitions_vector = [
|
||||
get_EthereumEncodedDefinitions(
|
||||
{
|
||||
"chain_id": chain_id,
|
||||
"to_address": to_address,
|
||||
"definitions": {
|
||||
"chain_id": -1,
|
||||
},
|
||||
}
|
||||
), # missing network
|
||||
get_EthereumEncodedDefinitions(
|
||||
{
|
||||
"chain_id": -1,
|
||||
"to_address": "",
|
||||
}
|
||||
), # missing network and token
|
||||
]
|
||||
|
||||
for definitions in definitions_vector:
|
||||
with pytest.raises(TrezorFailure, match=r"DataError:.*Forbidden key path"):
|
||||
sign_tx_eip1559_call(definitions=definitions)
|
||||
|
||||
|
||||
def test_signtx_eip1559_wrong_extern_definitions(client: Client):
|
||||
chain_id = 8 # Ubiq
|
||||
to_address = "0x20e3dd746ddf519b23ffbbb6da7a5d33ea6349d6" # Sphere
|
||||
|
||||
sign_tx_eip1559_call = partial(
|
||||
ethereum.sign_tx_eip1559,
|
||||
client,
|
||||
n=parse_path("m/44'/108'/0'/0/0"),
|
||||
nonce=0,
|
||||
gas_limit=20,
|
||||
max_gas_fee=20,
|
||||
max_priority_fee=1,
|
||||
to=to_address,
|
||||
chain_id=chain_id,
|
||||
value=0,
|
||||
data=b"a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
)
|
||||
|
||||
definitions_vector = [
|
||||
get_EthereumEncodedDefinitions(
|
||||
{
|
||||
"chain_id": chain_id,
|
||||
"to_address": to_address,
|
||||
"definitions": {
|
||||
"chain_id": 1,
|
||||
},
|
||||
}
|
||||
), # wrong network
|
||||
get_EthereumEncodedDefinitions(
|
||||
{
|
||||
"chain_id": 1,
|
||||
"to_address": "0xd0d6d6c5fe4a677d343cc433536bb717bae167dd",
|
||||
}
|
||||
), # wrong network and token
|
||||
]
|
||||
|
||||
for definitions in definitions_vector:
|
||||
with pytest.raises(
|
||||
TrezorFailure,
|
||||
match=r"DataError:.*Invalid network definition - chain IDs not equal.",
|
||||
):
|
||||
sign_tx_eip1559_call(definitions=definitions)
|
||||
|
||||
|
||||
def test_sanity_checks(client: Client):
|
||||
"""Is not vectorized because these are internal-only tests that do not
|
||||
need to be exposed to the public.
|
||||
|
@ -337,6 +337,8 @@
|
||||
"T1_ethereum-test_getaddress.py::test_getaddress[GoChain]": "37e446e17465ce9823c34c9162d94e4ad3c84faa86bae7966c753be5c5fd77a2",
|
||||
"T1_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "37e446e17465ce9823c34c9162d94e4ad3c84faa86bae7966c753be5c5fd77a2",
|
||||
"T1_ethereum-test_getaddress.py::test_getaddress[Wanchain]": "37e446e17465ce9823c34c9162d94e4ad3c84faa86bae7966c753be5c5fd77a2",
|
||||
"T1_ethereum-test_getaddress.py::test_getaddress[builtin_Ethereum_do_not_send_network]": "37e446e17465ce9823c34c9162d94e4ad3c84faa86bae7966c753be5c5fd77a2",
|
||||
"T1_ethereum-test_getaddress.py::test_getaddress[builtin_Ethereum_send_wrong_network]": "37e446e17465ce9823c34c9162d94e4ad3c84faa86bae7966c753be5c5fd77a2",
|
||||
"T1_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "37e446e17465ce9823c34c9162d94e4ad3c84faa86bae7966c753be5c5fd77a2",
|
||||
"T1_ethereum-test_getaddress.py::test_getaddress[parameters1-result1]": "37e446e17465ce9823c34c9162d94e4ad3c84faa86bae7966c753be5c5fd77a2",
|
||||
"T1_ethereum-test_getaddress.py::test_getaddress[parameters2-result2]": "37e446e17465ce9823c34c9162d94e4ad3c84faa86bae7966c753be5c5fd77a2",
|
||||
@ -348,20 +350,28 @@
|
||||
"T1_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data_blind[array_of_structs]": "04b94ca842aa77fdc6b75b07bbe178c4ea99c35e6dae630588fa5d9cb67b9090",
|
||||
"T1_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data_blind[bare_minimum]": "730a5d3bf1389ac14aec7ee9f65e2cbf516957e5077acc0e07a7541f667e2f0b",
|
||||
"T1_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data_blind[basic_data]": "fd99dc685a4a125db0f3f8d2a16ffa242bd57e4ff714d66cc9c4161c486f53be",
|
||||
"T1_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data_blind[builtin_Ethereum_do_n-06060e3d": "730a5d3bf1389ac14aec7ee9f65e2cbf516957e5077acc0e07a7541f667e2f0b",
|
||||
"T1_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data_blind[builtin_Ethereum_send-a187d8ad": "730a5d3bf1389ac14aec7ee9f65e2cbf516957e5077acc0e07a7541f667e2f0b",
|
||||
"T1_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data_blind[complex_data]": "24957177a20a1aacba25207e210ee3d97a9ca0b62b19e2fa9598d77bd27f3cde",
|
||||
"T1_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data_blind[extern_GoChain_send_network]": "a9d7f956d786b8d01d3b325caaf69c02816689622a29050ffd686fda8ed2aecd",
|
||||
"T1_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data_blind[full_domain_empty_message]": "68d748b8407f9d9005d293b5c6c122051f7376761c3628ea4968255ecbc1df39",
|
||||
"T1_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data_blind[injective_testcase]": "586a48367b619266abb0ddd39ae825156fcc1945ae01170e5f4ee7ba66c83360",
|
||||
"T1_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data_blind[struct_list_non_v4]": "eb17b48c8495ae235345920089c1662f5aa36fbb6e90f0c0c4b270c7bb2f2ea8",
|
||||
"T1_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data_blind[struct_list_v4]": "b0ce2ac7326df63ae12badf47a58db955fe2b17a327fcdc6eee1fd06375a25f7",
|
||||
"T1_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data_blind[structs_arrays_v4]": "a38f3ef2571424b460cd7351cd7263c8fc19684041d57f32f5599588c89046bf",
|
||||
"T1_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data_blind_missing_extern_definitions": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"T1_ethereum-test_sign_verify_message.py::test_signmessage[builtin_Ethereum_do_not_send_network]": "0f1e81d57996381781e8e3c5865875e6d48c29128d2de78f33556d96f29c2785",
|
||||
"T1_ethereum-test_sign_verify_message.py::test_signmessage[builtin_Ethereum_send_wrong_network]": "0f1e81d57996381781e8e3c5865875e6d48c29128d2de78f33556d96f29c2785",
|
||||
"T1_ethereum-test_sign_verify_message.py::test_signmessage[extern_GoChain_send_network]": "a72aad838b023cce57d15c42f0e55da11e30ca965e42cab2e5019d6636dde47d",
|
||||
"T1_ethereum-test_sign_verify_message.py::test_signmessage[parameters0-result0]": "0f1e81d57996381781e8e3c5865875e6d48c29128d2de78f33556d96f29c2785",
|
||||
"T1_ethereum-test_sign_verify_message.py::test_signmessage[parameters1-result1]": "b56508b17391e12992ce21c04f0ae096ee9b2cd4e1dd2912e75b55a634158976",
|
||||
"T1_ethereum-test_sign_verify_message.py::test_signmessage[parameters2-result2]": "a8ec598be6255799e7f01e84343cc7e5e02d84cee5c3cb909457304390d6fc9b",
|
||||
"T1_ethereum-test_sign_verify_message.py::test_signmessage[parameters3-result3]": "c6e541efccc6d50fe6e2d590bd48c5d89fdd3defda6088d11c771827b48e2656",
|
||||
"T1_ethereum-test_sign_verify_message.py::test_signmessage[parameters4-result4]": "06a642eaad886c01421973efa714c59eb6da8e60d06fc44cc42a5f959ec3dd27",
|
||||
"T1_ethereum-test_sign_verify_message.py::test_signmessage[parameters5-result5]": "a6b54a1244c1c457de732c2d27371475c02e451a4820f283912a5e3c62fe2842",
|
||||
"T1_ethereum-test_sign_verify_message.py::test_signmessage[parameters6-result6]": "858c5f14ecf61cbc85acb7d11f85b65a88c3d14f2591f185e1925092a977a7d6",
|
||||
"T1_ethereum-test_sign_verify_message.py::test_signmessage[parameters7-result7]": "72795258943a821df0fca67a6e1d915883c414e5066cff8f93d4a5735c0ba45b",
|
||||
"T1_ethereum-test_sign_verify_message.py::test_signmessage[parameters10-result10]": "72795258943a821df0fca67a6e1d915883c414e5066cff8f93d4a5735c0ba45b",
|
||||
"T1_ethereum-test_sign_verify_message.py::test_signmessage[parameters4-result4]": "b56508b17391e12992ce21c04f0ae096ee9b2cd4e1dd2912e75b55a634158976",
|
||||
"T1_ethereum-test_sign_verify_message.py::test_signmessage[parameters5-result5]": "a8ec598be6255799e7f01e84343cc7e5e02d84cee5c3cb909457304390d6fc9b",
|
||||
"T1_ethereum-test_sign_verify_message.py::test_signmessage[parameters6-result6]": "c6e541efccc6d50fe6e2d590bd48c5d89fdd3defda6088d11c771827b48e2656",
|
||||
"T1_ethereum-test_sign_verify_message.py::test_signmessage[parameters7-result7]": "06a642eaad886c01421973efa714c59eb6da8e60d06fc44cc42a5f959ec3dd27",
|
||||
"T1_ethereum-test_sign_verify_message.py::test_signmessage[parameters8-result8]": "a6b54a1244c1c457de732c2d27371475c02e451a4820f283912a5e3c62fe2842",
|
||||
"T1_ethereum-test_sign_verify_message.py::test_signmessage[parameters9-result9]": "858c5f14ecf61cbc85acb7d11f85b65a88c3d14f2591f185e1925092a977a7d6",
|
||||
"T1_ethereum-test_sign_verify_message.py::test_signmessage_missing_extern_definitions": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"T1_ethereum-test_sign_verify_message.py::test_verify[parameters0-result0]": "cdec0f79f2abbd90f4346494037f7bb4dd4dccc7c6739b497873d0c5603f2a26",
|
||||
"T1_ethereum-test_sign_verify_message.py::test_verify[parameters1-result1]": "9e51345ff0d3736f81a5c169768f9a80c555187eef2db3046f5ad12262990466",
|
||||
"T1_ethereum-test_sign_verify_message.py::test_verify[parameters2-result2]": "e2aff8a36dffd76b0e48256a5012ff191d0ce877a42cf31e1f25f7c3cd786d64",
|
||||
@ -385,6 +395,18 @@
|
||||
"T1_ethereum-test_signtx.py::test_signtx[Ropsten]": "05db6420b63ecf8b96c61ea206bbc10edeaab5408e72e16e984db2c799ccd778",
|
||||
"T1_ethereum-test_signtx.py::test_signtx[Unknown_chain_id_eth_path]": "a6e6d63cba839c897e80dc0b7cf5c2263be8ff64a5281a43fca992380cca872b",
|
||||
"T1_ethereum-test_signtx.py::test_signtx[Unknown_chain_id_testnet_path]": "a6e6d63cba839c897e80dc0b7cf5c2263be8ff64a5281a43fca992380cca872b",
|
||||
"T1_ethereum-test_signtx.py::test_signtx[builtin_Ethereum_builtin_Tether_send_network]": "2ad8d58e1c04bfde465902c6edd2308a392a4afeffbeaf5e32e0ef22380acf75",
|
||||
"T1_ethereum-test_signtx.py::test_signtx[builtin_Ethereum_builtin_Tether_send_network_token]": "2ad8d58e1c04bfde465902c6edd2308a392a4afeffbeaf5e32e0ef22380acf75",
|
||||
"T1_ethereum-test_signtx.py::test_signtx[builtin_Ethereum_builtin_Tether_send_nothing]": "2ad8d58e1c04bfde465902c6edd2308a392a4afeffbeaf5e32e0ef22380acf75",
|
||||
"T1_ethereum-test_signtx.py::test_signtx[builtin_Ethereum_builtin_Tether_send_token]": "2ad8d58e1c04bfde465902c6edd2308a392a4afeffbeaf5e32e0ef22380acf75",
|
||||
"T1_ethereum-test_signtx.py::test_signtx[builtin_Ethereum_builtin_Tether_wrong_network]": "2ad8d58e1c04bfde465902c6edd2308a392a4afeffbeaf5e32e0ef22380acf75",
|
||||
"T1_ethereum-test_signtx.py::test_signtx[builtin_Ethereum_builtin_Tether_wrong_network_token]": "2ad8d58e1c04bfde465902c6edd2308a392a4afeffbeaf5e32e0ef22380acf75",
|
||||
"T1_ethereum-test_signtx.py::test_signtx[builtin_Ethereum_builtin_Tether_wrong_token]": "2ad8d58e1c04bfde465902c6edd2308a392a4afeffbeaf5e32e0ef22380acf75",
|
||||
"T1_ethereum-test_signtx.py::test_signtx[builtin_Ethereum_extern_adChain_send_network]": "0143f7c4273964eb5eb8113c7e63674c033bebeca7ae619270b7ca77bb6aed66",
|
||||
"T1_ethereum-test_signtx.py::test_signtx[builtin_Ethereum_extern_adChain_send_network_token]": "08e9da493a8ac1f4e7f05bbb8f7c2b2fd97481421899a170ac0ead26b0764a21",
|
||||
"T1_ethereum-test_signtx.py::test_signtx[builtin_Ethereum_extern_adChain_send_nothing]": "0143f7c4273964eb5eb8113c7e63674c033bebeca7ae619270b7ca77bb6aed66",
|
||||
"T1_ethereum-test_signtx.py::test_signtx[builtin_Ethereum_extern_adChain_send_token]": "08e9da493a8ac1f4e7f05bbb8f7c2b2fd97481421899a170ac0ead26b0764a21",
|
||||
"T1_ethereum-test_signtx.py::test_signtx[builtin_Ethereum_extern_adChain_wrong_token]": "0143f7c4273964eb5eb8113c7e63674c033bebeca7ae619270b7ca77bb6aed66",
|
||||
"T1_ethereum-test_signtx.py::test_signtx[data_1]": "8b432aba21bc4344814cceaf693e114b9d3e3d6ceb83c3a6af7c3ed0f9b37449",
|
||||
"T1_ethereum-test_signtx.py::test_signtx[data_2_bigdata]": "445286b7501ca67dd16dafd7ea09c57cc4a37a642ae50f0c812d74353c37c017",
|
||||
"T1_ethereum-test_signtx.py::test_signtx[known_erc20_token]": "7ef8d3bbf6e299b41522769a893f72b04571fc7176bc93e5c1701a2b5721fb20",
|
||||
|
Loading…
Reference in New Issue
Block a user