Comments (8)
This wouldn't be acceptable -- there are likely to be transactions involving much larger lists and tuples. However, it would be acceptable to do something like display 'list of length X with elements of type Y' for large lists and tuples.
from ledger-stacks.
We have limitations on the amount of RAM (~2kB) and NVRAM (~8kB) in Nano S. For this reason, we need to set some maximum values. In multiple places, we are already pre-parsing and indexing and later parsing on demand as the user navigates the information. Still, we we need to set some limits and see if we can fit them.
Nano X can definitely have higher limits (~38kB RAM).
What would you suggest as an acceptable limit that still is useful in 90% of the cases?
from ledger-stacks.
What's running out of memory in the parser here? Is it the parser itself? Or is the object being constructed too large? I think it should be possible to address this by not parsing large lists/tuples, and instead providing some kind of stand-in/summary value for the large object.
from ledger-stacks.
Well, it is a combination of all those.. we need to balance storage, call stack consumption plus work out a way to format and present the information.
Yes, we normally do all these things and many other tricks and somersault.. :)
I think the point is: we try to concentrate the effort in areas that are required. We were not sure what was the value we need to target. Having a number if mind helps to see how/where to spend more time and if we need to use some more complex approaches.
from ledger-stacks.
I see -- I think a limit of ~10 is more reasonable and would handle most cases, however, I think an error path that still allows a user to sign more complex transactions while possibly eliding some information from the prompts is preferable to a hard error.
from ledger-stacks.
@neithanmo Can we document here the limits of the latest release?
I think we can then close this issue
from ledger-stacks.
@kantai @kyranjamie Can we close this?
I think the current limit has been acceptable in practice, right?
from ledger-stacks.
We do not have any limit here regarding the list, other than the number of the nested lists it may contain..that limit is 3 at the moment, but it can be increased if needed..
from ledger-stacks.
Related Issues (20)
- Wrong/unknown error code for `AppDoesNotSeemToBeOpen`
- Support JWT signing for Stacks authentication HOT 5
- Unable to retrieve keys for `m/888'` derivations paths
- Publish js app `v0.22.3` HOT 1
- Update data key derivation path HOT 1
- NPM published version is different than github HOT 2
- Display Domain name when signing JWT messages HOT 1
- Structured message signing support HOT 7
- Issues signing `principalCV` clarity types HOT 2
- Adjust `Stacks Signed Message` length prefix HOT 1
- Use varuint encoding for message prefix HOT 2
- Rename & publish npm package under `@zondax/ledger-stacks` HOT 2
- Replace buffer usage with Uint8Array HOT 1
- Message signing: payloads not accepted, line break issues HOT 3
- Contract principal not displayed properly on Ledger screen HOT 4
- Ledger Nano S screen showing incorrect address (40 instead of 41 characters) HOT 4
- Reduce the app size
- Fix CI HOT 1
- Update zxlib HOT 1
- Add new S+ sdk HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ledger-stacks.