-
Notifications
You must be signed in to change notification settings - Fork 18
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
Add types spec #2
Conversation
also cleanup some folders
Add a paragraph introducting the Client API to give context and link to the RPC spec that the Client needs to implement
Provide information regarding the need to serialize and deserialize some types in the client before and after interaction with the server
Provide information about error handling by the Client
ec8e9f4
to
2d4eabd
Compare
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.
Nice j'ai pas fait le tour de chaque type mais ça à l'air clean comme ça, on devra aussi update la spec rpc avec des liens vers le bon type
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.
I wonder if we should not explain what is a raw
type and its purpose, unless it's common sense for everyone.
Good idea 👍 |
Added note regarding raw types ed4ba34 For now I limited it to JSON primitive types (Strings, Numbers, Booleans, and Null) but there might not be any technical limitation to use structured types (Objects and Arrays). With that said, if we can use Objects, then raw types might not be useful since everything can be represented by an Object 🤔 |
recreated here #7 |
signandbroadcast handles tokencurrency test account receive remove local manifest test
Add specification for types based on https://github.com/LedgerHQ/live-app-sdk/blob/main/docs/reference/modules.md
It looks like some types are not related to the specification (are more implementation specific), like
EcdsaSignature
,ExchangeDeviceTxId
orExchangePayload
.Also, some types are actually not used anywhere today (like
ApplicationDetails
orDeviceInfo
).Some types are also Ledger Live specific like
RawSignedTransaction
.It feels like all these types should be either removed from the spec or reworked (like
RawSignedTransaction
that seems quite useless as a type since the object it represents is juste passed through the Client SDK fromsignTransaction
tobroadcastSignedTransaction
.Same general feeling regarding types, some types are JS specific (like
BigNumber
orBuffer
). We should represent them in a language agnostic way (how? what type should we use?)What do you think? What's your opinion? How should we go about that?