Skip to content

Releases: Zondax/ledger-icp

v3.2.1

26 Nov 13:20
6ff61fe
Compare
Choose a tag to compare
Update parser for new bls data (#253)

* Update parser for cbor and candid

Add helper types for candid

Add new parsing trait

New constants

Fix consent message parsing

Update constant

Factor out one parser for consent_request and call_request, as internals are the same and update test and ffi interface

Unify metadata parser as type is equivalent and improve cnadid parser in icrc21 types update tests

Improve the UI engine to handle longer messages than screen witdh

General improvements and testing data

Add insta testing

Some enhancements

Reduce stack usage and some cleanups

Update zemu tests

Disable for now bls tests until formatting is fixed

* bump app version and update snapshots

* Update deps and snapshots

v3.2.0

20 Sep 18:18
23a4a9a
Compare
Choose a tag to compare
Feat/bls poc (#244)

* verify bls signatures
Fix return type and add comment
fix(bls): Fixed wrong data size in constants
ping to ic_bls12_381 to 0.9.1

* Remove unnecessary cargo patch holder code that was commented out

* Initial parser for icp certificates

* add some useful methods and lookup funtion

* Implement the reconstruct function and enhance a bit the lookup function which needs to be rewritten

* Add the lookup_path_list and fix simple lookup function

* Fix delegation parser

* Update error definitions

* Complete Certificate parsing and verification

* Add more test and ensure parser/root_hash/lookup are working

* New testing dependencies

* enhance verification

* Improve tests and error handling, add C interface meant to parse certificates

* some improvements

* fix typo

* Initial candid parser for irc21-consent-message-response type

* Add license note

* Implement candid parser for ConsentMessageResponse and add unit test

* Many improvements and add UI for MessageResponse type and full parser along with some unit tests

* Add helper lines function

* Document code better

* new function to compute message

* shore: Re-structure the project better by moving certificate related parts into a separate folder

* Add parser for call_request argument in apdu instruction

* Add parser for consent_msg_request argument in apdu instruction

* Update value() method and add canister ranges parsing

* Add method to check if a canister is within certain ranges, add test

* Implement UI functions and export entry points

* add some new files and placeholders for bls parsing

* add apdu js interface

* adding new nvdata functions to save bls info

* update js package and add simple zemu test

* add rust ffi for parsing

* improve root_key handling and cleaning

* root_key as global value

* save call hash to be signed

* improve sign apdu

* add placeholder for certificate verifying function

* type fix

* Restructure files

* prefix state names

* Implement checks for payload and consent request plus minor fixes

* Fill handler path with processing functions in tx module and parser

* use config.toml

* Separate icrc21 types into their own module, and implement request_id computation

* Add utility functions to compute hashes

* Minor updates, and checks

* Add type table parsing and use it to parse candid values

* Fix icrc21 consentmessage request parsing and update other parts to use type_table

* use little endiannes and add extra checks in test

* Nonce is optional

* Add request_id method and tests along with conversion methods

* Use request_id to check also for certificate validation and add simple test

* Use inner arg and method name to set ffi struct for certificate verification

* Add signing method for bls certificate and update actions

* Use proper constants to define type lengths in ffi

* Remove unused method to compute request_id

* Some improvements and fixing warnings

* Add compilation flag to enable/disable bls certificate verification depending on ledger target

* Conditional compilation and fix tests and js library

* Remove decode trait implementation reducing stack usage

* Use ledger-rust bindings to create static resources for call/consent request and update C api and handlers

* Update build command in cargo for ledger-rust

* Add bls_message to build digest used in certificate signature verification and update from_bytes_into implementation

* Use certificate resource and improve certificate handler

* Fix bls test key

* Fix signing and resource cleaning

* Some improvements

* Some cleanups

* Fix test and add snapshot

* Add logs

* Add prefix to exported rust functions

* Print to std-out in tests

* Many clean-ups and fix js instruction to verify certificate

* Use constant and implement FromBytes

* Remove from_bytes impl in delegation and fix certificate::from_bytes_into

* Add timestamp check

* Add consent message formatting

* Add utilities for testing with cargo insta later

* Update test snapshots

* Use TryFrom impl and add pubkey test

* Ensure resources are freed and state is reset after signing

* Define a state at creation level

* Enable certificate verification using official key for testing

* Add test with/without custom root key

* Improve parsing by using from_bytes_into which reduces stack usage

* Fix ingress_expiry and method_name checks

* Add new constants

* use from_bytes_into

* Remove table logging

* Remove check on root_key as it could be an optional parameters

* Update testing data

* export C function to rust to handle principal request and use it to verify certificate

* Import rslib if BLS feature is enable

* Improve CI for rust parser

* fix clippy and test

* fix clippy and zemu tests

* Improve zemu testing

* fix clippy

* fix zemu

* fix flex compilation

* filter out nanos for bls testing in zemu

* some CI fixes

* Re-structuring code to reduce stack usage relying on lazy parsing and ensuring table lenght is sized to a reasonable size

* Reduce stack usage

* Add test to verify ffi verification flow

* fix ffi test

* Reduce stack usage and more logging

* update dep

* Add more logging

* update cargo.lock

* move from stack to nvm

* Disable nanox for now on zemu tests

* Remove BLS support for nanoX

* Fix hashing computation, now we hash name and value separately and update the global hasher

* Ensure jest reporter module gets installed

* Ensure jest reporter module gets installed

* Fix warnings and compile c api on bls feature only

* Add try script for bls verification

* Adjust time expiryti offset as requested to 10 minutes and not 12

* Update testing data and snapshots

* Update submodules

* Fix compilation error with protobuf

* Update testing data

* remove flow which is not compatible with our hybrid app

* remove dead code

* Update error type in C code to match Rust new errors

* Removed commemted code and add more notes to clarify design desitions

* Rename test for bls to avoid snapshots overlapping

Ensure state gets restarted in case of errors

Remove unnecessary SDK modules

Document and more comments

consice header

Fix typo

* Fix canister ranges comparisson and update testing data in ffi-test

* Bum app version and update snapshots

* Add a new set of tests, and increase time offset to 12 minutes

* Minor fix and use call request for sender validation

* Add new zemu test to ensure principal verification agains certificate data

* Use default device principal in our unit tests

* Increate time offset to 12 minutes, so a call request is valid if made within those 12 minutes window since certificate creation

* Update sender verification to follow what they suggested

---------

Co-authored-by: Carlos Medeiros <[email protected]>

ledger-icp js package

01 Nov 13:36
23a4a9a
Compare
Choose a tag to compare

This release incorporates some new features added to the ledger app, the most critical want is the support to handle, verify and sign certificates

v3.1.1

05 Sep 12:34
8e8a2ce
Compare
Choose a tag to compare
Merge pull request #245 from Zondax/ledger-update

Ledger update

v3.1.0

02 Sep 16:22
bf474f0
Compare
Choose a tag to compare
Revert Protobuf removal (#243)

* add nanopb submodule

* add protobuf support

* update makefiles

* update tests

* update snapshots

v3.0.3

28 Aug 08:47
a3c5342
Compare
Choose a tag to compare
Merge pull request #241 from Zondax/feat/dynamic_parser

Improve optionals handling

v3.0.2

29 Jul 14:31
Compare
Choose a tag to compare

What's Changed

Full Changelog: v3.0.1...v3.0.2

v3.0.1

26 Jul 14:04
7ccd0e9
Compare
Choose a tag to compare
Merge pull request #232 from Zondax/neurons-fix

Neurons fix & update

v3.0.0

13 Mar 11:58
0e58ab6
Compare
Choose a tag to compare
Merge pull request #228 from Zondax/feat/remove_protobuf

Feat/remove protobuf

v2.4.9

12 Oct 15:13
42f8b35
Compare
Choose a tag to compare
Merge pull request #225 from Zondax/fixes