-
Notifications
You must be signed in to change notification settings - Fork 118
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
ARC-52 Contextual Wallet API #239
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: ehanoc <[email protected]>
One thing that needs to be considered when it comes to signing is that currently the Algorand SDK does NOT support signing arbitrary bytes unless they are prefixed with |
I think this is okay. I think we can just defined the API (or Data Models) that any wallet could, if it chooses to, implement. The SDK can choose to update (or not). But there's not really specific to Algorand about key-generation, bip39/32/44 derivations or signing. In fact i think most Contextual keygen/signing past transactions (&logicsigs maybe) will be done with dedicated keys, not directly associated with addresses / accounts. Which i think it would make cryptographic sense to have dedicated keys for dedicated purposes; but still all of them recoverable from the same seed. |
I think method Why is it only possible to export GPG keys but not any other kind of keys? It seems like we should either support exporting all keys or no keys. Why is the interface written in typescript? Not all wallets are web-wallets written in TS/JS. How is a mobile wallet supposed to implement this ARC? Maybe this is meant as some abstract pseudo-code, but if so, it seems too specific to typescript since promises are returned. This also applies to many other ARCs that are typically written with some JS runtime in mind. |
Signed-off-by: ehanoc <[email protected]>
Signed-off-by: ehanoc <[email protected]>
The SDK has a sign bytes function but IT prepends MX prior to the received bytes and then hashes it. The bytes passed into it can be anything. |
Great ARC Proposal! So excited to see how it goes! |
Signed-off-by: ehanoc <[email protected]>
Signed-off-by: ehanoc <[email protected]>
Signed-off-by: ehanoc <[email protected]>
Signed-off-by: ehanoc <[email protected]>
Signed-off-by: ehanoc <[email protected]>
Signed-off-by: ehanoc <[email protected]>
…uded Signed-off-by: ehanoc <[email protected]>
Taken this into account @k13n . Thanks for this. I've removed the GPG bit. Might introduce too much confusion. |
Signed-off-by: ehanoc <[email protected]>
Signed-off-by: ehanoc <[email protected]>
Signed-off-by: ehanoc <[email protected]>
|
||
- `context`: The context of the key to be generated | ||
- `account`: The account index to be used for key derivation. The value value should be hardened as per BIP44 | ||
- `keyIndex`: The key index to be used for key derivation. |
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.
Bip-44 includes the change type but we are not incorporating it?
Signed-off-by: ehanoc <[email protected]>
1-1 feature parity with Kotlin
Revert "1-1 feature parity with Kotlin"
add public key verification to trnasaction signing test
1-1 feature parity with Kotlin
Co-authored-by: ori-shem-tov <[email protected]>
Co-authored-by: ori-shem-tov <[email protected]>
Signed-off-by: ehanoc <[email protected]>
Signed-off-by: ehanoc <[email protected]>
Signed-off-by: ehanoc <[email protected]>
Signed-off-by: ehanoc <[email protected]>
…ss of public node derivations Signed-off-by: ehanoc <[email protected]>
chore: clarify childChainCode naming
37da2bb
to
a6ffb6e
Compare
…ng bits were being zeroed Signed-off-by: ehanoc <[email protected]>
Signed-off-by: ehanoc <[email protected]>
Signed-off-by: ehanoc <[email protected]>
Embracing wallets ability to be (or use) a KMS for more functions that are web3 friendly / compliant.
This also addresses problems for some projects in the ecosystem where wallets aren't able to generate, hold and recover keys that related to something else than transactions (i.e Identity / DIDs, Authentication, Secret Sharing, etc)