forked from trezor/trezor-firmware
-
Notifications
You must be signed in to change notification settings - Fork 0
feat(cardano): Message signing #88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
jaskp
wants to merge
170
commits into
main
Choose a base branch
from
feat/cardano/message-signing
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
170 commits
Select commit
Hold shift + click to select a range
a8f976c
chore(python): move dev keys from BootloaderV2Image
M1nd3r db52028
refactor(core): make SLIP-24 UI independent of ETH
ibz c27dba5
feat(core): use new SLIP-24 UI for Bitcoin
ibz e3e2b8c
fix(core): allow text details memos in Bitcoin
ibz 02741b2
refactor(core): drop outdated Bitcoin SLIP-24 UI
ibz 8805f9c
feat(tests): SLIP-24 tests for Bitcoin
ibz d568f80
chore(tests): update fixtures
ibz 04adf71
feat(core): SLIP-24 UI for Ripple
ibz 16bc848
fix(core): Ripple unit formatting
ibz 022c7fe
fix(core): remove unnecessary changelog
ibz 41f6072
chore(translations): normalize strings to NFC not NFKC
matejcik 658bec5
chore(tools): warn about unsupported characters
bieleluk 24bc11f
feat(core): adjust wireless setup QR code
obrusvit b8c7822
feat(core): derive entropy from master key
cepetr 4aa64d8
fix(core): reset primask in emergency rescue
TychoVrahe b56da39
feat(core): adjust Eckhart screen border
obrusvit 6e6fe3a
feat(core): render logo on welcome screen
obrusvit b3ba006
feat(core): show pairing code in big font in bld
obrusvit 98692d5
refactor(core): rename debug overlay to performance overlay
TychoVrahe 4926a02
fix(core): fix eckhart performance overlay
TychoVrahe 74c3dea
refactor(core): rewrite debug overlay in rust
TychoVrahe 8d65415
fix(core): fix BLE pairing
TychoVrahe a12ecd9
chore(core): update T3W1 embedded binaries
TychoVrahe fe24219
chore(core): make CPace implementation more explanatory
M1nd3r 532d7d8
chore(tests): adjust THP pairing tests to the new `code_code_entry` e…
M1nd3r 572cddd
chore(core): change encoding of `code_code_entry` used in CPace
M1nd3r d3399e0
chore(python): fix `code_entry_code` encoding in trezorlib
M1nd3r 601ef83
test(core): allow wiping via DebugLink
romanz 09fc377
chore(core): remove THP fallback support
romanz 20a519e
refactor(core): move message reassembly into a separate class
romanz 384e015
fix(build): no ui_debug_overlay only in prod
obrusvit 4b9deb7
chore(core): remove logging from `alternating_bit_protocol`
romanz f1c08bc
chore(core): reduce default value in `MockHID` c-tor
romanz 8b06fda
chore(core): fix a small typo in `thp_common.py`
romanz 18db6c9
refactor(core): introduce `ThpContext`
romanz 71e589b
chore(core): remove unused `interface_manager`
romanz 33259c9
fix(core): don't reuse `Shutdown` exception object
romanz f0015e5
fix(core): don't reuse `FORBIDDEN_KEY_PATH` exception object
romanz 697c3a5
chore(core): export `memzero()` via `trezor.utils`
romanz e1b5602
refactor(core): simplify THP write-related code
romanz b7fb51a
chore(core): regen foreign chars
obrusvit 23b2fc6
chore(core): remove all fonts data
obrusvit 2454d37
refactor(core/prodtest): unify binary update function
TychoVrahe c20d9fb
feat(core/prodtest): add boardloader update command
TychoVrahe 24e318d
feat(core/tools): make nrf update script more universal and allow upd…
TychoVrahe e5bf739
chore(core): remove reflash tool
TychoVrahe d5d38b2
chore(core/prodtest): improve nrf-update and bootloader-update descri…
TychoVrahe f4fb558
chore: remove forgotten diff file
obrusvit 8a8ecdf
refactor(core): cleanup storage syscalls, prepare early initialization
cepetr 9951c96
refactor(core): remove circular dependencies, new 'storage' feature
cepetr 7502821
refactor(core): simplify entropy module, relocate/rename to storage_salt
cepetr 2f74e03
chore(core): remove unused define
cepetr 3adda59
chore(core): set T3W1 full name
TychoVrahe 12cafe7
chore(core): remove unusued code from BldHeader
obrusvit 218805d
feat(core): SLIP-24 payment requests for Cardano
ibz 5b27988
feat(core): SLIP-24 payment requests for Solana
ibz d9b204a
fix(tests): add t3w1 to skiplist
ibz 538aa5c
feat(core): extend THP credentials with app_name
mmilata 6897cef
feat(core): add Eckhart LED colors palette
obrusvit 8c171c2
feat(core): use LED colors for diode in Eckhart
obrusvit 618ee3c
chore(core): expose BLE connection flags to python
mmilata 7d82a8a
feat(core): adjust RSOD
obrusvit 3b97bd1
fix(core/io): Incomplete disabling of haptics
bieleluk 2e082f4
feat(core): introduce props spacing
bieleluk c827a00
chore(core): change string tuple to propertytype
bieleluk 913ac8e
chore(core): add default params to propslist
bieleluk 681afd4
feat(core): Rename otp-device-id-write to otp-device-sn-write.
andrewkozlik 76a9b91
chore: bump `cachix/install-nix-action` to v31
romanz 10aef49
chore(tests): vertical menu content
bieleluk 65b753d
chore(tests): make go to menu item an action
bieleluk d165262
fix(core/tests): wrong eckhart action
bieleluk 88d7d4a
test(core): reduce the probability for `test_repeated_backup_via_devi…
romanz 7f5df8f
fix(python): fix BootloaderV2Image verify
M1nd3r b85ab37
feat(bolt): SLIP-24 payment requests
ibz 386fd4c
fix(core): preserve BLE peer count info during suspend
TychoVrahe fb9a087
fix(core): don't reuse `TASK_CLOSED` exception object
romanz 7ee8637
fix(core/bootloader): improve failed communication behavior
TychoVrahe 093ad5f
chore(core/eckhart): update tutorial screen
bieleluk 7700537
chore(core/eckhart): adapt loader for click tests
bieleluk 89d09b6
feat(core): implement explicit secret sector locking mechanism
TychoVrahe c505499
feat(core): use explicit secret locking on T3W1 and allocate space fo…
TychoVrahe 7499713
fix(core/prodtest): fix tropic version and chip id commands error han…
TychoVrahe c1b769a
chore(core): update libtropic
TychoVrahe ab3c671
fix(core): tropic fixes after libtropic update
TychoVrahe 139f582
feat(core/prodtest): implement tropic FW update
TychoVrahe d31832d
fix(core): initialize tropic model device in emulator
TychoVrahe b7f2e6f
feat(core): remove `tropic.get_certificate()`
onvej-sl ec41236
fix(core): fix irq locking in ble driver
cepetr affeefa
chore(python): add ROOT signing public keys
M1nd3r f82944d
chore(embed): add boardloader ec/pq and secmon public keys to T3W1 model
M1nd3r 02d058e
feat(core): extend fuel gauge UI component
obrusvit 26b3d50
feat(core): show chrg icon in Eckhart BldHeader
obrusvit 469ebc9
fix(python): skip `EndSession` in case of invalidated THP channel
romanz ccb728b
ci(core): disable `core_flash_size_compare:` job
romanz 1831084
ci: increase `poetry install` timeout
romanz 45e870b
test(core): send `Cancel` only on T1B1
romanz 614044d
refactor(core): move checksum validation to `Channel`
romanz 6fb28ff
refactor(python): define `MAX_RETRANSMISSION_COUNT` in `protocol_v2`
romanz 56f9490
feat(core): add THP transport-level PING/PONG messages
romanz 478aa79
feat(core/eckhart): haptic feedback for HTC animation
bieleluk fd2d9d0
style(core): make style consistent
onvej-sl f9b0af2
fix(core): fixes after libtropic update
onvej-sl 68ecf16
chore(core): update ts-tvl to 2.2
onvej-sl 7494b61
feat(core/prodtest): implement tropic prodtest
onvej-sl fbd36c8
chore(core): update UI fixtures for T2T1
romanz ba3056b
fix(core): don't reuse `_TIMEOUT_ERROR` exception object
romanz ad3cb11
feat(core/bootloader): start the device on short press
TychoVrahe 1f58816
feat(core/bootloader): improve bootloader entry sequence on T3W1
TychoVrahe e5e2e06
fix(core): fine tune BLE behavior after unexpected events
TychoVrahe e3fcde1
feat(core/eckhart): add label keyboard layout
bieleluk e06b331
fix(core): unify power manager timings.
kopecdav 0e72c21
feat(core/eckhart): regulatory screen
bieleluk 6dc393a
refactor(core): improve Stellar signing UX
overcat ebf0d7c
fix(core): set model variant in THP DeviceProperties
mmilata 308f9e9
refactor(core): step `loop.race()` task without `loop.schedule()`
romanz d9a5a3c
test(core): allow joining debuglink task before restarting event loop
romanz d9286ea
feat(core): join debuglink task before restarting Codec v1 event loop
romanz a303f9c
refactor(python): don't return SEQ bit for irrelevant THP messages
romanz 3406932
refactor(python): inline `ProtocolV2Channel.prepare_channel_without_p…
romanz 8b19697
feat(python): ignore retransmitted THP payloads
romanz e451adc
chore(core): remove forgotten `log.info()` in `interface_context.py`
romanz 441283c
fix(prodtest): remove extra crlf in response in non-interactive mode
cepetr ac426c6
fix(prodtest): fix wpc-info command output
cepetr 755f6ab
fix(prodtest): fix secrets-certdev-write arg count check
cepetr 8e51245
fix(core/prodtest): fix conditional usage of tropic testing keys
TychoVrahe 12c045d
test(core): wait for device availability to avoid UI tests flakiness
romanz c320020
feat(core): reimplement THP event loop restarts
romanz 5bb49f1
test(core): wait for debuglink task before restarting THP event loop
romanz 3ca9525
feat(core): reimplement THP retransmissions
romanz f947c4c
feat(core/bootloader): stronger haptic effect on power on
TychoVrahe b14e343
build(core): fix dependency versions in trezor-core-tools
matejcik a6f6dbb
fix(core): increase prodtest stack size
cepetr dbda8d0
feat(core): firmware suspend by power button
obrusvit b4f857b
fix(python): correct CLI error message on uninitialized device
romanz ff68e6b
fix: re-lock Poetry env using the version from Nix
obrusvit d86a50d
fix(core): increase `MAX_SUBSCREENS` a bit
romanz 6335c00
fix(core): avoid infinite THP error loop
romanz 326d381
chore(core): fix log formatting in `trezor/wire/thp/channel.py`
romanz bd31cc4
chore(core): update T3W1 embedded binaries
obrusvit 031247b
chore(core/eckhart): invert QR screen colors
bieleluk 62b26ca
chore(core/eckhart): make paginate buttons equally sized
bieleluk 73f3a6d
chore(core/eckhart): enable menu separators by default
bieleluk 9ac1dbd
chore(core/eckhart): update apply settings label flow
bieleluk d8cff7a
chore(core/eckhart): extend header buttons
bieleluk 97396ff
chore(core/eckhart): device menu translations
bieleluk 18b2005
chore(core/eckhart): update device menu about screen
bieleluk 9dfa7f4
chore(core/eckhart): extend device menu FwUI param list
bieleluk 6e4b343
chore(core): add new menu length
bieleluk a484420
chore(core): add secmon keys to trezorlib
TychoVrahe eecd1e8
chore(core): add LED enable/disable functionality
bieleluk c693963
refactor(python): refactor THP-related exception types
romanz dc82cd1
fix(core): correct `ticks_diff` arguments' order
romanz c95f5b5
chore(core): exclude logging on non-debug builds
romanz af2e787
refactor(core): inline THP `PairingContext` confirmation methods
romanz d680f9e
chore(core): remove `thp.pairing._skip_pairing_dialog()`
romanz ff18b00
chore(core): move `show_pairing_dialog()` to `trezor.wire.thp.ui` module
romanz d5ebdd8
feat(cardano): Message signing
jaskp 13cf5c3
feat(cardano): Show path, address params and longer payload chunk
jaskp 6d42732
fix(cardano): Change display_ascii flag to prefer_hex_display
jaskp 5bc7576
fix(cardano): Return pubkey
jaskp 2703ba6
chore(cardano): add missing translations
davidmisiak 063b621
chore(cardano): update UI fixtures
davidmisiak 2a3153c
chore(cardano): changes after rebase
jaskp 7311704
feat(cardano): stop hashing in message signing
jaskp 5343ea9
feat(cardano): replace chunking with length+offset
jaskp f1c4d45
feat(cardano): reject probable hashes
jaskp 0f94f34
fix: changelog formatting
jaskp e1ae222
chore(cardano): rename payload
ibz ed8cbe5
fix(cardano): stop trimming long messages
ibz 30eb997
chore(tests): update fixtures
ibz File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
{ | ||
"setup": { | ||
"mnemonic": "all all all all all all all all all all all all", | ||
"passphrase": "" | ||
}, | ||
"tests": [ | ||
{ | ||
"description": "Missing network id and protocol magic", | ||
"parameters": { | ||
"signing_path": "m/1852'/1815'/4'/0/0", | ||
"address_parameters": { | ||
"addressType": 0, | ||
"path": "m/1852'/1815'/0'/0/0", | ||
"stakingPath": "m/1852'/1815'/0'/2/0" | ||
}, | ||
"payload": "", | ||
"prefer_hex_display": true | ||
}, | ||
"result": { | ||
"error_message": "Must specify network_id and protocol_magic if using address_parameters" | ||
} | ||
}, | ||
{ | ||
"description": "Reject probable hash 28-byte non-ASCII payload", | ||
"parameters": { | ||
"signing_path": "m/1852'/1815'/4'/0/0", | ||
"network_id": 1, | ||
"protocol_magic": 764824073, | ||
"payload": "ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00", | ||
"prefer_hex_display": true | ||
}, | ||
"result": { | ||
"error_message": "The payload is interpreted as a hash and cannot be signed" | ||
} | ||
} | ||
] | ||
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
{ | ||
"setup": { | ||
"mnemonic": "all all all all all all all all all all all all", | ||
"passphrase": "" | ||
}, | ||
"tests": [ | ||
{ | ||
"description": "Sign short non-ASCII payload", | ||
"parameters": { | ||
"signing_path": "m/1852'/1815'/4'/0/0", | ||
"payload": "ff00", | ||
"prefer_hex_display": true | ||
}, | ||
"result": { | ||
"signature": "5ad6ba670e65353b2c1ad4053a1ed4a9348a73fe965ffa0afafa24bad06e3eb3e325d49029604c09bf665c3c43a750ec81a43b1f8b746b07e999b913b980d006", | ||
"address": "d9553a4de9c7ad8532abdb1d0a7f425b8007d25c9f1edcf0b5f5c3ba", | ||
"pub_key": "67e3d14e1e0db2a6ff68832994451f63d3e92a4ee85c3681d72634ccfe889f2c" | ||
} | ||
}, | ||
{ | ||
"description": "Sign short non-ASCII payload with address parameters", | ||
"parameters": { | ||
"signing_path": "m/1852'/1815'/4'/0/0", | ||
"network_id": 1, | ||
"protocol_magic": 764824073, | ||
"payload": "ff00", | ||
"address_parameters": { | ||
"addressType": 0, | ||
"path": "m/1852'/1815'/0'/0/0", | ||
"stakingPath": "m/1852'/1815'/0'/2/0" | ||
}, | ||
"prefer_hex_display": true | ||
}, | ||
"result": { | ||
"signature": "9efaff0b74c0beb2cadd727d8bafe13b31107235c5fc46c6c33e596e024d391c9fbe37072e43965add6ee0a4788562382031486b74fd59d636aa1ca3b1ddfe06", | ||
"address": "0180f9e2c88e6c817008f3a812ed889b4a4da8e0bd103f86e7335422aa122a946b9ad3d2ddf029d3a828f0468aece76895f15c9efbd69b4277", | ||
"pub_key": "67e3d14e1e0db2a6ff68832994451f63d3e92a4ee85c3681d72634ccfe889f2c" | ||
} | ||
}, | ||
{ | ||
"description": "Sign short ASCII payload", | ||
"parameters": { | ||
"signing_path": "m/1852'/1815'/4'/0/0", | ||
"payload": "54657374", | ||
"prefer_hex_display": false | ||
}, | ||
"result": { | ||
"signature": "2201b8e7fa9ea919935e06ecc3e845433855066acaaf61cb8e624a2eb7139b73a9d126e7ee04548fff06ac933bd5419fc78c5aebee9b536cbee1481b52ec3e03", | ||
"address": "d9553a4de9c7ad8532abdb1d0a7f425b8007d25c9f1edcf0b5f5c3ba", | ||
"pub_key": "67e3d14e1e0db2a6ff68832994451f63d3e92a4ee85c3681d72634ccfe889f2c" | ||
} | ||
}, | ||
{ | ||
"description": "Sign short ASCII payload rendered as hex", | ||
"parameters": { | ||
"signing_path": "m/1852'/1815'/4'/0/0", | ||
"payload": "54657374", | ||
"prefer_hex_display": true | ||
}, | ||
"result": { | ||
"signature": "2201b8e7fa9ea919935e06ecc3e845433855066acaaf61cb8e624a2eb7139b73a9d126e7ee04548fff06ac933bd5419fc78c5aebee9b536cbee1481b52ec3e03", | ||
"address": "d9553a4de9c7ad8532abdb1d0a7f425b8007d25c9f1edcf0b5f5c3ba", | ||
"pub_key": "67e3d14e1e0db2a6ff68832994451f63d3e92a4ee85c3681d72634ccfe889f2c" | ||
} | ||
}, | ||
{ | ||
"description": "Sign empty payload", | ||
"parameters": { | ||
"signing_path": "m/1852'/1815'/4'/0/0", | ||
"payload": "", | ||
"prefer_hex_display": true | ||
}, | ||
"result": { | ||
"signature": "b09177a06cb2deba7ada89fec96fc4380e746f67c6b16a9ef9ae6b7cbbe941fdad8a8a573b809cd88db296b91b476c436033a29d86a63959e270047e47cd5d0d", | ||
"address": "d9553a4de9c7ad8532abdb1d0a7f425b8007d25c9f1edcf0b5f5c3ba", | ||
"pub_key": "67e3d14e1e0db2a6ff68832994451f63d3e92a4ee85c3681d72634ccfe889f2c" | ||
} | ||
}, | ||
{ | ||
"description": "Non-ASCII payload falls back to hex", | ||
"parameters": { | ||
"signing_path": "m/1852'/1815'/4'/0/0", | ||
"network_id": 1, | ||
"protocol_magic": 764824073, | ||
"payload": "ff", | ||
"prefer_hex_display": false | ||
}, | ||
"result": { | ||
"signature": "eb7e48bb2de912b24ea4e295cfbf338e95e2a2d9c5eb41d72ddd8ebf96ca6128696e91e65e20a755821781b8ea0b4aa7ffcfa6ab0c7da2c67ecaf33fcd596509", | ||
"address": "d9553a4de9c7ad8532abdb1d0a7f425b8007d25c9f1edcf0b5f5c3ba", | ||
"pub_key": "67e3d14e1e0db2a6ff68832994451f63d3e92a4ee85c3681d72634ccfe889f2c" | ||
} | ||
}, | ||
{ | ||
"description": "Ambiguous ASCII payload falls back to hex", | ||
"parameters": { | ||
"signing_path": "m/1852'/1815'/4'/0/0", | ||
"network_id": 1, | ||
"protocol_magic": 764824073, | ||
"payload": "20", | ||
"prefer_hex_display": false | ||
}, | ||
"result": { | ||
"signature": "1cd79c511e58e0d00bc402c24631a982c0f596e13cad38447d4f31213d085b23b9990b45023450f5ab4d47987993af662702b07bfc8195feb80b2c9e1c1dc10f", | ||
"address": "d9553a4de9c7ad8532abdb1d0a7f425b8007d25c9f1edcf0b5f5c3ba", | ||
"pub_key": "67e3d14e1e0db2a6ff68832994451f63d3e92a4ee85c3681d72634ccfe889f2c" | ||
} | ||
}, | ||
{ | ||
"description": "Long payload", | ||
"parameters": { | ||
"signing_path": "m/1852'/1815'/4'/0/0", | ||
"network_id": 1, | ||
"protocol_magic": 764824073, | ||
"payload": "aaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff00011100011aaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbddd1bbbdddaafffaaafff000111000111bbbdddaaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff00011100011aaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbdddaaafffaaafff000111000111bbbddd1bbbdddaafffaaafff000111000111bbbdddee", | ||
"prefer_hex_display": true | ||
}, | ||
"result": { | ||
"signature": "6d1e9bf2f704413b1a99340bb88f27a4a74f00fe7ed891b814a9a0167b6482b0b92982a5eb0be513fe5e432c4a79550d615222cf9ffcf70f42f8e600bf302c0f", | ||
"address": "d9553a4de9c7ad8532abdb1d0a7f425b8007d25c9f1edcf0b5f5c3ba", | ||
"pub_key": "67e3d14e1e0db2a6ff68832994451f63d3e92a4ee85c3681d72634ccfe889f2c" | ||
} | ||
} | ||
] | ||
} | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please also add a long ascii message (so that we have a UI test for that).