Skip to content
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

App version 1.0.5 #14

Merged
merged 103 commits into from
Jan 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
103 commits
Select commit Hold shift + click to select a range
6dccd52
Merge pull request #8 from vacuumlabs/merge_LedgerHQ_changes
relatko Apr 6, 2022
7b115c3
Add containerized build
relatko Apr 9, 2022
6cb7c7b
Make CI more continious
relatko Apr 10, 2022
1117cbb
Start and stop Speculos
relatko Apr 10, 2022
01eda26
Makefile containing JS related goals
relatko Apr 10, 2022
0bf8219
Infrastructure
relatko Jun 3, 2022
7c079db
Speculos tests documentation + .gitignore
relatko Jun 3, 2022
bf361ab
Remove unused files
relatko Jun 18, 2022
569838c
Ass Diffie-Hellman encryption support
relatko Jun 18, 2022
fcc4b96
Merge pull request #9 from vacuumlabs/build_in_container
relatko Jun 18, 2022
62f3f1c
Fix formatting
relatko Jun 20, 2022
7fc2d3d
Introduce NO_PULL option (for build and speculos)
relatko Jun 20, 2022
8efc041
Add sign tx commands integrity checking tools
relatko Jun 20, 2022
0c17bd3
Update github workflows linter to 12
relatko Jun 20, 2022
f1617fb
Refactor tx integrity functions
relatko Jun 20, 2022
dbab988
INIT, APPEND_CONST_DATA, SHOW_MESSAGE, SHOW_MESAGE, FINISH calls
relatko Jun 21, 2022
aec86f7
Counted section internals and unit tests
relatko Jun 21, 2022
8280104
Counted section commands
relatko Jun 22, 2022
0b11271
Storage Commands
relatko Jun 22, 2022
d508b45
Transaction templates
relatko Jun 23, 2022
cc7d25b
Der. path is sent in INIT call instead of FINAL
relatko Jun 24, 2022
1e0b53b
DH commands
relatko Jun 24, 2022
aa81895
DH encryption now encodes the result with base64
relatko Jun 25, 2022
f560dfb
Add Request funds transaction
relatko Jun 26, 2022
b87abed
Integrity check in END DH command + minor chanes
relatko Jun 28, 2022
39c4d04
Add option to skip integrity check in DEVEL mode
relatko Jun 29, 2022
86f2999
Simplifying js parsing
relatko Jun 29, 2022
397daa0
Finish BE->LE transition
relatko Jun 29, 2022
d5b9493
Recordobt transaction
relatko Jun 29, 2022
2a8cb69
New storage compare mode
relatko Jun 30, 2022
2289f87
Refactor contract name and account handling in parser
relatko Jul 1, 2022
540beca
DH decoding internals
relatko Jul 1, 2022
196973b
Remove U2F support according to LedgerHQ commit
relatko Jul 5, 2022
a985bc5
Decoding DH encrypted messages
relatko Jul 6, 2022
281a4ff
Cleanup
relatko Jul 7, 2022
2426707
Addaddress transaction
relatko Jul 7, 2022
28c0949
APPEND_DATA mode for memo hash offline url
relatko Jul 8, 2022
626cc48
Chain code Token code public addr instruction
relatko Jul 10, 2022
37a36cc
Remaddress
relatko Jul 10, 2022
933a3fe
Addnft
relatko Jul 10, 2022
f42e0ed
Remnft
relatko Jul 10, 2022
c273f77
addalladdr, cancelfndreq, rejecthndreq
relatko Jul 10, 2022
95f5c53
addbundles, regaddress, xferaddress, regdomain, renewdomain
relatko Jul 10, 2022
57743f1
Setdomainpub, xferdomain, remallnfts
relatko Jul 11, 2022
b4bec5b
Stakefio, unstakefio, voteproducer, voteproxy
relatko Jul 11, 2022
ad16e50
Add integrity hashes, fix missing tests
relatko Jul 11, 2022
8261a59
Max number of producets in voteproducer to 30
relatko Jul 12, 2022
d8b6a69
NanoX/SP speculos tests + on device tests
relatko Jul 12, 2022
e5609dd
Minor UI improvements
relatko Jul 12, 2022
c1189a8
Merge pull request #17 from vacuumlabs/other_transactions
relatko Jul 12, 2022
61aa75f
Add Speculos tests to CI
relatko Sep 30, 2022
83f49a6
Minor fixes all around
relatko Oct 3, 2022
d32b38b
Merge pull request #18 from vacuumlabs/speculos-to-ci
relatko Oct 3, 2022
ba58b53
Add unit tests to CI
relatko Oct 3, 2022
562e525
Bump version
relatko Oct 3, 2022
a42a138
Merge pull request #19 from vacuumlabs/speculos-to-ci
relatko Oct 3, 2022
320cf6d
Show data POLICY_SHOW_BEFORE_RESPONSE_IF_NONEMPTY
relatko Oct 7, 2022
2e8ed47
Fio request id is not displayed if empty in recordobt
relatko Oct 7, 2022
99a1b13
Merge pull request #20 from vacuumlabs/fixes
relatko Oct 7, 2022
463620f
Rename payee_public_key to other_public_key
relatko Oct 7, 2022
8b14398
Merge pull request #21 from vacuumlabs/fixes
relatko Oct 7, 2022
8c578a2
Minor TS fixes
relatko Oct 7, 2022
9e1e3b5
Merge pull request #22 from vacuumlabs/fixes
relatko Oct 7, 2022
0155d0e
Fix chaincode tokecode serilization + cleanup
relatko Oct 19, 2022
79a4766
Change min public address length in parsing
relatko Oct 19, 2022
714a303
Merge pull request #23 from vacuumlabs/fixes
relatko Oct 19, 2022
21c2117
Fix too too small buffer for tx append
relatko Oct 24, 2022
6af9572
Save some memory in unittests so they pass
relatko Oct 24, 2022
a49e72b
Merge pull request #24 from vacuumlabs/fixes
relatko Oct 24, 2022
48ecf22
Fix code format, force lint with each push
relatko Oct 24, 2022
db167ca
Merge pull request #25 from vacuumlabs/fixes
relatko Oct 24, 2022
24825a9
Fio Oracle transaction
relatko Nov 8, 2022
e12c0c1
Merge pull request #26 from vacuumlabs/fio_oracle
relatko Nov 8, 2022
91c4ded
Bump version
relatko Nov 8, 2022
79dfe80
Merge pull request #27 from vacuumlabs/fio_oracle
relatko Nov 8, 2022
f88f3e4
Change DH texts
relatko Nov 21, 2022
27b2092
Merge pull request #28 from vacuumlabs/fixes2
relatko Nov 21, 2022
31ade88
Modify string in decrypt
relatko Nov 26, 2022
55026fc
Merge pull request #29 from vacuumlabs/fixes2
relatko Nov 28, 2022
86760e8
Extend addnft and remnft token_id parameter
relatko Dec 19, 2022
e0becde
Merge pull request #30 from vacuumlabs/fixes2
relatko Dec 20, 2022
2eae657
Merge pull request #11 from LedgerHQ/develop
sgliner-ledger Jan 2, 2023
a63478d
APDU docs update
relatko Jan 18, 2023
de47ac9
Allowed sequences documentation
relatko Jan 18, 2023
9b282ab
NanoX icon update
relatko Jan 22, 2023
a412d73
Add fuzzing
relatko Jan 23, 2023
7ed0629
Merge branch 'LedgerHQmaster' into documentation_and_cleanup
relatko Jan 23, 2023
46b2edf
Fuzzer modified with very basic new corpus
relatko Jan 23, 2023
cc8ef81
Improve fuzzing
relatko Jan 23, 2023
5b05c9b
Security review documentation and minor fixes
relatko Jan 27, 2023
46b6c6b
Merge pull request #31 from vacuumlabs/documentation_and_cleanup
relatko Jan 27, 2023
43264af
Fix on device get app version test
relatko Jan 27, 2023
a897892
Merge pull request #32 from vacuumlabs/documentation_and_cleanup
relatko Jan 27, 2023
9bf9a7b
Add guidelines enforcer
relatko May 30, 2023
1b228f8
Easy code style fixes
relatko May 30, 2023
76297da
eos_utils guideline_enforcer fix
relatko May 30, 2023
230398e
Fix build
relatko Jun 10, 2023
760ad88
Minor testing fixes
relatko Jun 10, 2023
ab29900
Update speculos container
relatko Jun 10, 2023
9fddc72
Vulnerability fixes
relatko Jul 18, 2023
d4cf90e
Bump containers
relatko Sep 6, 2023
937b5b9
Remove stax from guidelines enforcer, add stax icon
relatko Sep 7, 2023
e0169cc
ledger_app.toml: Initial version
Jan 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
168 changes: 151 additions & 17 deletions .github/workflows/ci-workflow.yml
Original file line number Diff line number Diff line change
@@ -1,33 +1,24 @@
name: Compilation & tests

on:
workflow_dispatch:
push:
branches:
- master
- develop
pull_request:
branches:
- master
- develop
on: [workflow_dispatch, push, pull_request]

jobs:
job_nanoS_build_debug:
name: Build debug app for NanoS
runs-on: ubuntu-latest

container:
image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:latest
image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:d5bfe2e793f15a826971ae9de2adcad524df3e8e

steps:
- name: Clone
uses: actions/checkout@v2

- name: Build
run: |
make DEBUG=1
make DEVEL=1

- name: Upload app binary
- name: Upload app binary NanoS
uses: actions/upload-artifact@v2
with:
name: fio-app-nanoS-debug
Expand All @@ -38,29 +29,50 @@ jobs:
runs-on: ubuntu-latest

container:
image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:latest
image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:d5bfe2e793f15a826971ae9de2adcad524df3e8e

steps:
- name: Clone
uses: actions/checkout@v2

- name: Build
run: |
make DEBUG=1 BOLOS_SDK=$NANOX_SDK
make DEVEL=1 BOLOS_SDK=$NANOX_SDK

- name: Upload app binary
- name: Upload app binary NanoX
uses: actions/upload-artifact@v2
with:
name: fio-app-nanoX-debug
path: bin

job_nanoSP_build_debug:
name: Build debug app for NanoSP
runs-on: ubuntu-latest

container:
image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:d5bfe2e793f15a826971ae9de2adcad524df3e8e

steps:
- name: Clone
uses: actions/checkout@v2

- name: Build
run: |
make DEVEL=1 BOLOS_SDK=$NANOSP_SDK

- name: Upload app binary NanoSP
uses: actions/upload-artifact@v2
with:
name: fio-app-nanoSP-debug
path: bin

job_scan_build:
name: Clang Static Analyzer
runs-on: ubuntu-latest
needs: job_nanoS_build_debug

container:
image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:latest
image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:d5bfe2e793f15a826971ae9de2adcad524df3e8e

steps:
- uses: actions/checkout@v2
Expand All @@ -74,3 +86,125 @@ jobs:
with:
name: scan-build
path: scan-build

job_speculos_nanos_unit_tests_5001:
name: NanoS Speculos 5001 unit tests
needs: job_nanoS_build_debug
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v2
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 16.10.0
- name: Download app binary
uses: actions/download-artifact@v2
with:
name: fio-app-nanoS-debug
path: bin

- name: install speculos
run: |
export BOLOS_SDK=
make js-yarn
make test-yarn
- name: Run tests
run: |
make speculos_port_5001_unit_test
- name: Upload Speculos 5001s log
uses: actions/upload-artifact@v2
with:
name: speculos-ut-5001s-log
path: tests_speculos/speculos-port-5001.log
job_speculos_nanos_tests_5001:
name: NanoS Speculos 5001 tests
needs: job_nanoS_build_debug
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v2
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 16.10.0
- name: Download app binary
uses: actions/download-artifact@v2
with:
name: fio-app-nanoS-debug
path: bin

- name: install speculos
run: |
export BOLOS_SDK=
make js-yarn
make test-yarn
- name: Run tests
run: |
make speculos_port_5001_test
- name: Upload Speculos 5001s log
uses: actions/upload-artifact@v2
with:
name: speculos-5001s-log
path: tests_speculos/speculos-port-5001.log
job_speculos_nanox_tests_5001:
name: NanoX Speculos 5001 tests
needs: job_nanoX_build_debug
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v2
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 16.10.0
- name: Download app binary
uses: actions/download-artifact@v2
with:
name: fio-app-nanoX-debug
path: bin

- name: install speculos
run: |
export BOLOS_SDK=
make js-yarn
make test-yarn
- name: Run tests
run: |
TARGET_DEVICE=NANO_X make speculos_port_5001_test
- name: Upload Speculos 5001s log
uses: actions/upload-artifact@v2
with:
name: speculos-5001x-log
path: tests_speculos/speculos-port-5001.log
job_speculos_nanosp_tests_5001:
name: NanoS+ Speculos 5001 tests
needs: job_nanoSP_build_debug
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v2
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 16.10.0
- name: Download app binary
uses: actions/download-artifact@v2
with:
name: fio-app-nanoSP-debug
path: bin

- name: install speculos
run: |
export BOLOS_SDK=
make js-yarn
make test-yarn
- name: Run tests
run: |
TARGET_DEVICE=NANO_SP make speculos_port_5001_test
- name: Upload Speculos 5001sp log
uses: actions/upload-artifact@v2
with:
name: speculos-5001sp-log
path: tests_speculos/speculos-port-5001.log

21 changes: 21 additions & 0 deletions .github/workflows/guidelines_enforcer.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Ensure compliance with Ledger guidelines

# This workflow is mandatory in all applications
# It calls a reusable workflow guidelines_enforcer developed by Ledger's internal developer team.
# The successful completion of the reusable workflow is a mandatory step for an app to be available on the Ledger
# application store.
#
# More information on the guidelines can be found in the repository:
# LedgerHQ/ledger-app-workflows/

on:
workflow_dispatch:
push:
pull_request:

jobs:
guidelines_enforcer:
name: Call Ledger guidelines_enforcer
uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_guidelines_enforcer.yml@v1
with:
run_for_devices: '["nanos", "nanox", "nanosp"]'
10 changes: 2 additions & 8 deletions .github/workflows/lint-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,7 @@ name: Code style check
on:
workflow_dispatch:
push:
branches:
- master
- develop
pull_request:
branches:
- master
- develop

jobs:
job_lint:
Expand All @@ -21,8 +15,8 @@ jobs:
uses: actions/checkout@v2

- name: Lint
uses: DoozyX/clang-format-lint-action@v0.11
uses: DoozyX/clang-format-lint-action@v0.12
with:
source: './src'
extensions: 'h,c'
clangFormatVersion: 11
clangFormatVersion: 12
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,16 @@ docs_generated/
ledger
bin
debug
build
dep
obj
src/u2f_crypto_data.h
src/glyphs.h
src/glyphs.c
.vscode
output-scan-build
pkg
*.log
*.new.png
yarn.lock
null.d
Loading
Loading