Skip to content

Commit

Permalink
Fix swift tests
Browse files Browse the repository at this point in the history
  • Loading branch information
micbakos-rdx committed Feb 7, 2025
1 parent a60d216 commit 3727177
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,12 @@ extension AccountOrPersona: EntityBaseProtocol {
\.virtualHierarchicalDeterministicFactorInstances
)
}

public var unsecuredControllingFactorInstance: SargonUniFFI.HierarchicalDeterministicFactorInstance? {
property(
\.unsecuredControllingFactorInstance
)
}
}

extension AccountOrPersona {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ extension Account: EntityBaseProtocol {
public var asGeneral: AccountOrPersona {
.account(self)
}

public var unsecuredControllingFactorInstance: SargonUniFFI.HierarchicalDeterministicFactorInstance? {
accountUnsecuredControllingFactorInstance(account: self)
}
}

extension Account {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ extension Persona: EntityBaseProtocol {
public var asGeneral: AccountOrPersona {
.persona(self)
}

public var unsecuredControllingFactorInstance: SargonUniFFI.HierarchicalDeterministicFactorInstance? {
personaUnsecuredControllingFactorInstance(persona: self)
}
}

// MARK: - Persona + EntityProtocol
Expand Down
24 changes: 12 additions & 12 deletions apple/Sources/Sargon/Protocols/EntityProtocol.swift
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ public protocol EntityBaseProtocol: BaseBaseEntityProtocol, CustomStringConverti
var securityState: EntitySecurityState { get }
var entityKind: EntityKind { get }
var asGeneral: AccountOrPersona { get }
var unsecuredControllingFactorInstance: HierarchicalDeterministicFactorInstance? { get }

#if DEBUG
static var sampleMainnet: Self { get }
Expand Down Expand Up @@ -47,30 +48,29 @@ extension EntityBaseProtocol {
Set<HierarchicalDeterministicFactorInstance>
{
var factorInstances = Set<HierarchicalDeterministicFactorInstance>()
switch securityState {
case let .unsecured(unsecuredEntityControl):
factorInstances.insert(unsecuredEntityControl.transactionSigning)
return factorInstances

if let unsecuredControllingFactorInstance {
factorInstances.insert(unsecuredControllingFactorInstance)
}

return factorInstances
}

public var hasAuthenticationSigningKey: Bool {
switch securityState {
case .unsecured:
false
case .securified(value: _):
false

Check warning on line 64 in apple/Sources/Sargon/Protocols/EntityProtocol.swift

View check run for this annotation

Codecov / codecov/patch

apple/Sources/Sargon/Protocols/EntityProtocol.swift#L64

Added line #L64 was not covered by tests
}
}

public var deviceFactorSourceID: FactorSourceIDFromHash? {
switch self.securityState {
case let .unsecured(control):
let factorSourceID = control.transactionSigning.factorSourceID
guard factorSourceID.kind == .device else {
return nil
}

return factorSourceID
guard let factorSourceId = unsecuredControllingFactorInstance?.factorSourceId, factorSourceId.kind == .device else {
return nil
}

return factorSourceId
}
}

Expand Down
6 changes: 2 additions & 4 deletions apple/Tests/Utils/EntityProtocolTest.swift
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,8 @@ class EntityBaseTest<SUT_: EntityBaseProtocol>: Test<SUT_> {
case .ed25519: break // good
case .secp256k1: XCTFail("Wrong key kind")
}
// TODO: Handle
// case .securified(value: _):
// XCTFail("Wrong security state")
// }
case .securified(value: _):
XCTFail("Wrong security state")
}
}
}
Expand Down

0 comments on commit 3727177

Please sign in to comment.