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

IOS-4136 Add ed25519 full support #313

Merged
merged 13 commits into from
Aug 8, 2023
Merged

IOS-4136 Add ed25519 full support #313

merged 13 commits into from
Aug 8, 2023

Conversation

tureck1y
Copy link
Collaborator

  • добавилась новая кривая ed25519_slip0010, для нее подходит старая реализация импорта ключа
  • добавлена новая реализация импорта ключа для ed25519
  • отрефакторен импорт ключа
  • удален интерфейс импорта с seed, потому что он больше не позволит создать ключ на любой кривой
  • добавлены тесты

@tureck1y tureck1y marked this pull request as ready for review August 2, 2023 18:24
@tureck1y
Copy link
Collaborator Author

tureck1y commented Aug 2, 2023

тесты пока будут падать, разбираемся

Copy link
Contributor

@megakoko megakoko left a comment

Choose a reason for hiding this comment

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

Тесты не досмотрел

TangemSdk/TangemSdk/Crypto/BIP39/BIP39.swift Outdated Show resolved Hide resolved
TangemSdk/TangemSdk/Crypto/CryptoUtils.swift Outdated Show resolved Hide resolved
TangemSdk/TangemSdk/Crypto/CryptoUtils.swift Outdated Show resolved Hide resolved

// generated by card
let publicKeyFromCard = "32EA4EE339B0B01233E5F0728D733DC68A26D17A58C140AA23FE1C8EEABD5ABE"
XCTAssertEqual(publicKeyFromCard.lowercased(), expectedPublicKey)
Copy link
Contributor

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.

Это статичные тесты на работу карты. Для новых прошивок тесты будут обновляться.

TangemSdk/TangemSdkTests/SLIP10Tests.swift Outdated Show resolved Hide resolved
TangemSdk/TangemSdkTests/SLIP10Tests.swift Outdated Show resolved Hide resolved
TangemSdk/TangemSdkTests/SLIP10Tests.swift Outdated Show resolved Hide resolved
@tureck1y
Copy link
Collaborator Author

tureck1y commented Aug 3, 2023

  • Обновил код по комментам
  • Добавил сниппеты для запрашивания инфы с карты для тествекторов
  • Тесты статичные, я не могу запускать юниты на карте. С одной стороны у меня хардкод от тест-вектора, с другой - инфа от карты. Этот код должен где-то быть и тесты будем обновлять при необходимости. Сейчас тесты выполнены на 6.31.
  • часть тестов все еще падает

megakoko
megakoko previously approved these changes Aug 3, 2023
Balashov152
Balashov152 previously approved these changes Aug 3, 2023
@tureck1y tureck1y dismissed stale reviews from Balashov152 and megakoko via efba46c August 3, 2023 16:25
@tureck1y
Copy link
Collaborator Author

tureck1y commented Aug 7, 2023

Тут все. Тесты переделал на спиппеты, пока тут, потом сложим в отдельный кит, либо прям в демо сдк.
Добавил сразу в демо дефолтные деривации и верификацию подписи, нам постоянно нужно. Либо потом поделим экраны на базовый и девелоперский, тогда все тесты уйдут туда.

Еще добавил отдельный метод в утилиту для верификации подписи r1

Comment on lines +304 to +308
self.printEquals(expected1.publicKey.hexString, derived1.publicKey.hexString)
self.printEquals(expected1.chainCode.hexString, derived1.chainCode.hexString)

case .failure(let error):
print(error)
Copy link
Contributor

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.

а это не юниты, так что ок

@tureck1y tureck1y merged commit e2b8b02 into develop Aug 8, 2023
1 check passed
@tureck1y tureck1y deleted the IOS-4136_compatible_ed branch August 8, 2023 11:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants