tari-project / tari

The Tari protocol
https://tari.com
BSD 3-Clause "New" or "Revised" License
339 stars 210 forks source link

feat: generate script challenge on the ledger #6344

Closed brianp closed 2 months ago

brianp commented 2 months ago

Description

This generates the entire challenge for the script signature on the ledger. Move signature signing functions into respective handler files. Move hash domains into the hashing file.

Motivation and Context

The total payload size is smaller than before, and can now be done in a single message. With no batching needed I've removed the script signature context struct on the ledger side to reduce complexity, remove persisted state, and free up a bit of memory.

How Has This Been Tested?

Manually with new wallets

Breaking Changes

github-actions[bot] commented 2 months ago

Test Results (CI)

    3 files    120 suites   36m 0s :stopwatch: 1 280 tests 1 280 :white_check_mark: 0 :zzz: 0 :x: 3 832 runs  3 832 :white_check_mark: 0 :zzz: 0 :x:

Results for commit d5c9a62f.

:recycle: This comment has been updated with latest results.

github-actions[bot] commented 2 months ago

Test Results (Integration tests)

 2 files  11 suites   22m 50s :stopwatch: 33 tests 32 :white_check_mark: 0 :zzz: 1 :x: 34 runs  33 :white_check_mark: 0 :zzz: 1 :x:

For more details on these failures, see this check.

Results for commit d5c9a62f.

:recycle: This comment has been updated with latest results.

brianp commented 2 months ago

Moved the hash domains into hashing/src/. This does require making that create a no_std but that wasn't so difficult.

I looked at using rand_core instead of ledger's random impl, but it's not no_std friendly.

I'll save the byte optimizations for another PR.

hansieodendaal commented 2 months ago

@brianp, please see the comment about the u64 random^