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

fix: metadata missing password_hint error #88

Merged
merged 2 commits into from Apr 18, 2024

Conversation

XuNeal
Copy link
Collaborator

@XuNeal XuNeal commented Apr 18, 2024

fix: throw error when keystore metadata missing passwordHint field

@@ -28,7 +28,7 @@ pub struct OldMetadata {
pub chain_type: Option<String>,
pub chain: Option<String>,
pub network: Option<String>,
pub password_hint: String,
pub password_hint: Option<String>,

Choose a reason for hiding this comment

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

只有這裡有嗎?會不會有其他地方?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

只有老四链使用了 serde_json 这种反序列化,新四链直接读的 json object。不会报这种错误

Copy link
Collaborator Author

@XuNeal XuNeal Apr 18, 2024

Choose a reason for hiding this comment

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

不过我也再看看别的地方会不会有影响

@@ -69,7 +69,7 @@ impl OldMetadata {

Metadata {
name: self.name.clone(),
password_hint: self.password_hint.clone(),
password_hint: self.password_hint.clone().unwrap_or_default(),

Choose a reason for hiding this comment

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

Rust的 default 會是 "" ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

是的。

@XuNeal XuNeal merged commit 7799ba6 into release-2.7.0 Apr 18, 2024
XuNeal added a commit that referenced this pull request May 8, 2024
* feat: modify the struct of identity remove api

* bug: fix tx_type conversion bug

* chore: pr review question optimization

* feat: token-core merge review problem optimization

* chore: clear build warnings

* chore: the source field is restored from enum to string

* chore: clean warning info

* feat: common algorithm sample

* feat: add aes-128-ctr encrypt/decrypt no padding sample

* feat: add cosmos eos chains

* feat: add eth keystore v3 import and export feature

* feat: add cosmos eos chains (#42)

Co-authored-by: sun <tyrone98@users.noreply.github.com>

* Feature/support btc (#43)

* pin to Rust version 1.71.1

* rename WifDisplay to WIFDisplay

* add bitcoin segwit address

* add bitcoin tests

* fix!: wrong change address

* refactor bitcoin to support P2WPKH, P2SH-P2WPKH, P2PKH

* fix tests

* refactor: rename tcx-btc-fork to tcx-btc-kin

* refactor: simplify BtcForkNetwork and rename it to BtcKinNetwork

* add implemention for Native SegWit and Taproot

* derive the address based on the input's address type when signing

* add p2tr and p2wpkh tests

* use sig.verify for schnorr signature

* refactor: define const BTC_KIN_NETWORKS

---------

Co-authored-by: tyrone <2125081@qq.com>

* feat: migration mnemonic keystore

* refactor: Address.from_public_key returning Result<Self,Err>

* fix keystore tests

* refactor: generate chain scaffolding code using use_chain macro in tcx

* migrate eos,bitcoin,ethereum,cosmos wallet to HdKeystore

* add merge function for Keystore

* refactor: rename crypto.generate_derived_key to crypto.derive_key

* refactor: reduce kdf executed times

* keep the derived key unchanged during the migration

* add migration for identity wallets

* rename Fake... in macros to Unsupported...

* add encryption and decryption for IPFS files

* merge tcx-bch into tcx-btc-kin

* remove tcx-bch

* remove tcx-bch

* fix: ethereum address

* refactor the definition of sign_message into the packages of each chain

* discard the imToken v3 format and merge it into the tcx_chain.Keystore

* fix ethereum tests in tcx

* fix the encryption and decryption of ipfs

* add sign_authentication_message

* bump rust edition to 2021

* fix tcx-chain tests

* rename tcx-wallet to tcx-identity

* fix build fail on tcx_wallet

* chore: update version

* feat: add backup keystore dir

* merge ec_sign and personal_sign into sign_message

* separate the identity operations from the handler.rs file to identity.rs

* remove the isHex flag and consider strings starting with 0x as hexadecimal

* refactor: store encoded public key instead of account name in eos

* refactor: use tcx-common::keccak256 instead of sha3::keccak

* dk keystore migrate feature (#47)

* feat: add calc external address

* feat: add keystore dk migration

* fix: ios and android keystore inconsistency

* feat: integrate ios dk keystore migration

* feat: implement the functions about identity

* chore: rename tcx_chain to tcx_keystore

* optimize: fixed all compile warnings for token-core

* format codes

* Add get_private_key_by_derivation_path tests

* Change Snake Case to Camel Case in api.proto

* Remove active accounts in keystore and refactor tcx-eth, tcx-eos...

* fix sign_transaction

* feat: add identity to private keystore

* feat: fix api, cosmos, eth2 build error

* Fixed tcx-eth, keystore unit tests

* Fixed eos unit tests

* fix: fix filecoin and tron unit tests

* feat: add the get_public_key and sign_hases api

* Fix bitcoin unit tests

* Fixed btc-kin unit tests

* Fixed tcx-eth ec_sign unit tests

* feat: add bls_sign method implement

* refactor: ChainType, Curve, DerivationPath, Network etc (#50)

* Revert "refactor: ChainType, Curve, DerivationPath, Network etc (#50)"

This reverts commit 3162cd4.

* fix: api and ckb build error

* fix: fix calc external address

* refactor: refactor the api crate

* refactor: remove the encoder trait

* feat: remove eth2 crate、 sign_hashes interface supports BLS algorithm

* refactor: Standardize all function names in the format of verb + noun

* feat: add the exists_* api

* fix: fix failed case cause by init dir changed

* refactor: clean warning info

* refactor: clean unit test build warning

* Upgrade keystore to enable it to generate identity

* add keystore upgrade unit tests

* Add the upgrade of the existing keystore in the migrate_keystore api

* Replace KEYSTORE with KEYSTORE_V3 in imTokenMeta

* feat: add the exists_* api

* refactor: clean warning info

* Method to eliminate duplicate implementiations and unify the processing of hex in tcx_common

* fix: fix unit test error

* feat: add the import json

* Remove unused enable_account function in every chain

* fix: Hex utils build error

* Fixed tcx-primitive unit tests

* fix: crypto miss sha256d

* feat: change derive sub accounts to accept raw xpub

* Removed unused CacheDeriveKey in tcx-crypto

* Recover CacheDerivedKey

* Fixed tcx-ckb unit tests

* feat: derive multi sub accounts

* fix: fix test_create_identity_from_private_key

* ut: add derive_sub_accounts test

* feat: add mnemonic_to_public api

* fix: fix migration unit test error

* typo: remove some todo

* test: add atom unit test

* refactor: remove some comments

* feat: add bitcoincash derive

* To increase test coverage, add more tests

* test: add ckb unit test

* test: add tcx-constants test case

* test: add tcx-eos test case

* test: add tcx-filecoin test case

* feat: add import private key and key hash

* test: add tcx-primitive test case

* fix: fix import private key

* fix: fix private_key* and json* api

* feat: revert ETH2 bls_to_execution_change sign feature

* Rename key_hash to fingerprint

* Add unit tests in tcx-keystore for test coverage

* Add unit tests in tcx-crypto for 100% test coverage

* Add unit tests in tcx-btc-kin for test coverage

* Add unit tests in tcx-keystore

* Add more unit tests in tcx-migrate to achieve 100% coverage

* Add more unit tests in tcx-constants to achieve 100% coverage

* feat: add more derive test

* fix: hd cannot export json

* Fixed ckb sign_transaction

* unittest: fix most tcx test

* Add more unit tests in tcx-migration

* Remove the relevant code of ChainFactory

* feat: return fingerprint

* fix: cannot export polkadot json

* data: add ios test keystore

* data: add btc, bch, ltc keystore

* Add android migrate unit tests

* test: add test case

* refactor: rename the curve name

* Add integration tests for migration

* refactor: remove unused identity and zksync

* chore: unify dependencies library version numbers

* Fixed unit tests of eos keystore migration

* chore: add test case

* Fixed migrate unit tests

* Add serial_test to tcx for sequential execution of unit tests

* refactor: remove some todo

* Use derived key in tcx-migrate unit tests for reducing test times

* Use derived key for tests performance

* refactor: replace test mnemonic str to TEST_MNEMONIC

* fix: cargo merge error

* chore: fixed dependencies version number

* chore: recover from_str_name function

* format: ios online test keystore

* chore: upgrade num_bigint_chainsafe to 0.1.4

* refactor: optimization of clippy code check issues

* chore: remove iop-keyvault library reference

* chore: remove rust-crypto library reference

* Use the enumerated values of segwit VERSION_0, VERSION_1

* feat: delete remove_wallets  function

* optimization of clippy code check issues

* chore: clippy check optimization、upgrade forest_message and forest_crypto version

* feat: add public key encoder

* chore: optimization cargo clippy check problem

* fix: ikc build error

* refactor: replace iop-keyvault with ed25519-dalek-bip32

* feat: add curve field to keystore

* Fixed unit tests in tcx-keystore

* Fixed unit tests in tcx-migration

* Add sign unit tests in tcx-eth and tcx-tron

* Encode extend public key with base58check

* feat: add scan_keystores api

* test: add tcx-primitive test case

* fix: source fingerprint camelcase error

* feat: flush migrated keystore to walletsv2

* unittest: add migration source and curve test

* add a 'derived_key' parameter to all operations that require authorization verification

* add a 'derived_key' to derived_accounts api

* add derivedKey parameters to export_mnemonic

* add derivedKey parameter to tcx-eth2

* chore: add more hash tests

* chore:use aes to replace aes-ctr

* chore: remove useless and unsafe dependencies

* chore: remove aes-soft and  block-modes dependencies

* chore: remove ring dependencies

* chore: remove  block-modes dependencies

* backup & scan_keystores API (#60)

* feat: add enc_origin filed

* feat: add scan_legacy_keystores

* feat: add backup api

* feat: add mismatch network check when import private

* feat: add scan_keystores

* cache the master private to achieve higher performance

* add benchmark tests to tcx and tcx-keystore

* test: add api test case

get_extended_public_keys、sign_authentication_message、
ipfs_encrypt_and_decrypt、eth_recover_address

* test: fix error test case

* fix: revert substrate export error

* feat: imKey support subaddress feature[R2D2-10114] (#58)

* feat: imKey support subaddress feature

* chore:remove useless test code

* chore: optimization path length check

* chore: imKey subaddress review modify

* chore: remove unused import and clean warning

* fix: remove 01 tx_type in eth tx

* fix: merge error

* fix: fix review issue by labs

* remove the dependency on ethers

* test: add trust wallet cross test

* test: add cross test

* test: add bip32/44/49/84 spec test

* bump tiny-bip39 to 1.0.0 and use anyhow instead of failure

* feat: update some error msg key

* fix: fix binding invalid_key_iv_length error

* chore:  ikc upgrade tiny-bip39 to 1.0.0 and use anyhow instead of failure

* test: add polkadot.js corss test

* fix: imKey DeriveAccountsParam tag

* fix: fix nervos and eth derive account error

* fix: substrate path regex is not right

* feat: allow using empty string as substrate derivation path

* use fixed xpub version

* test: fix tron test case error

* fixed broken unit tests

* add eth ec recover

* Remove incorrect comment in the tcx-btc-kin test

* refactor TypePrivateKey signature

* fix: fix review issue by labs

* feat: sign eos using rfc6979+nonce (#62)

* fix: btc address todos

* feat: ikc add derive_sub_accounts api[R2D2-10266] (#61)

* feat: ikc add derive_sub_account feat

* test: add exception test case and code optimization

* chore: remove envdot lib 、unused impore and fix clippy error

* fix: modify polkadot and kusama path in coin_info

* fix: fix polkadot and kusama curve type in coin_info

* feat: add  pull request template

* feat: add reimport unittest

* fix: delete unused testcase

* fix: some missing issue review by labs

* fix: fix all warnings

* feat: add sr25519 derive child test

* fix: cannot backup mnemonic

* Add derived key param to more api (#63)

* feat: add biometric to more api

* feat: remove password required in backup

* fix: remove dbg!

* feat: remove 0x form tron, eth private key

* feat: add eth_batch_personal_sign api (#64)

* Keep duplicate keystore in memory (#65)

* feat: keep old fileid and keystore in memory

* feat: split test cases

* chore: format code

* feat: retur all k1 chain_types (#67)

* delete all associated keystore when delete_keystore is called (#69)

Co-authored-by: tyrone <2125081@qq.com>

* feat: ikc add get_extended_public_key api [R2D2-10567] (#70)

* feat: add ikc get_extended_public_key api

* fix: derive_sub_accounts returns data and adds path field

* fix: modify GetExtendedPublicKeysParam proto message tag number

* chore: modify pr reivew problem

* feat: add get_public_keys api and code optimization

1. add  get_public_keys api
2. remove btc_get_xpub api
3. get_extended_public_key interface removes ed25519 curve support

* feat: migrate add network field (#71)

* feat: MigrateKeystoreParam adds network field

* test: add migrate mainnet test case

* fix: fix eth_batch_personal_sign signature verification failure

* fix: fix batch_personal_sign test case failed

* Export v3 keystore using lower address (#72)

* feat: export with lower address

* testcase: change import v3 keystore json with loweraddress

* fix: sign eth empty address (#73)

* fix: using legacy enc key (#74)

* fix: cannot migrate old private key eos keystore (#75)

* fix: cannot migrate old private key ios eos keystore (#76)

* fix: return error ks id when import multi times a same mnemonic (#77)

* fix: eth_sign is signing arbitrary data (#78)

* fix:fix imKey standard edition btc import error

* chore: modify the createat type of LegacyKeystoreResult to string

* chore: modify btc、ltc、bch transaction utxo path to full path for ikc (#79)

* chore: modify btc transaction utxo path to full path

* chore: modify bch and ltc transaction utxo to full path

* fix: remove old ks in memory (#80)

* fix: fix identity keystore delete bug[R2D2-10888] (#81)

* fix: fix identity keystore deletion bug after migration

* test: otpimization test case

* revert: eth_sign sign hashed message (#82)

* Revert "fix: eth_sign is signing arbitrary data (#78)"

This reverts commit 938b4ab.

* fix: eth_sign cannot sign string begin with 0x

* fix: fix add eth error after upgrade (#84)

* feat: mark identity wallet ids (#83)

* feat: mark identity wallet ids

* feat: add read_keystore_menmonic_path api

* build: upgrade CI gradle-build-action version v2 to v3

* chore: add checksum to the eth address returned by the scan_legacy_keystores interface (#86)

* fix: metadata missing password_hint error (#88)

* fix: metadata missing password_hint error

* feat: make the password_hint is option

* fix: fix ikc cosmos signature error (#89)

* fix: fix imKey standard version call get_public_keys interface error (#90)

---------

Co-authored-by: xiaoguang <xiaoguang101010@163.com>
Co-authored-by: sun <tyrone98@users.noreply.github.com>
Co-authored-by: tyrone <2125081@qq.com>
Co-authored-by: changwu <changwu.me@gmail.com>
Co-authored-by: xiaoguang1010 <40228114+xiaoguang1010@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants