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

Multisig: fetch participant identities from the public key package #4920

Merged

Conversation

andiflabs
Copy link
Contributor

Summary

When importing a multisig account, participant identities are stored in two places:

  1. the public key package (part of the account record in the walletdb)
  2. on dedicated records in the walletdb

The #2 records can sometimes get lost. This is the case currently of account rescans.

Because there is no future development scheduled that will benefit from #2, it's easier to just ignore those records and instead rely only on the public key package.

Testing Plan

Unit tests

Documentation

Does this change require any updates to the Iron Fish Docs (ex. the RPC API
Reference
)? If yes, link a
related documentation pull request for the website.

[ ] Yes

Breaking Change

Is this a breaking change? If yes, add notes below on why this is breaking and label it with breaking-change-rpc or breaking-change-sdk.

[ ] Yes

When importing a multisig account, participant identities are stored in
two places:
1. the public key package (part of the account record in the walletdb)
2. on dedicated records in the walletdb

The #2 records can sometimes get lost. This is the case currently of
account rescans.

Because there is no future development scheduled that will benefit
from #2, it's easier to just ignore those records and instead rely only
on the public key package.
@andiflabs andiflabs added the breaking-change-sdk A breaking change to the SDK API that should be called out in release notes label Apr 22, 2024
@andiflabs andiflabs requested a review from a team as a code owner April 22, 2024 21:11
identity: Buffer,
tx?: IDatabaseTransaction,
): Promise<void> {
await this.participantIdentities.put([account.prefix, identity], { identity }, tx)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we remove this datastore from the walletdb altogether?

maybe in a separate pr

@andiflabs andiflabs merged commit 4ab45df into staging Apr 23, 2024
10 of 11 checks passed
@andiflabs andiflabs deleted the andrea/multisig-do-not-store-identities-separately branch April 23, 2024 09:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking-change-sdk A breaking change to the SDK API that should be called out in release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants