mirror of
https://github.com/luxfi/safe-ios.git
synced 2026-10-30 15:19:20 +00:00
36 lines
1.2 KiB
Swift
36 lines
1.2 KiB
Swift
//
|
|
// NamingPolicy.swift
|
|
// Multisig
|
|
//
|
|
// Created by Moaaz on 10/30/21.
|
|
// Copyright © 2021 Gnosis Ltd. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
class NamingPolicy {
|
|
static func name(for address: Address? = nil,
|
|
info: AddressInfo? = nil,
|
|
chainId: String) -> (name: String?, imageUri: URL?) {
|
|
guard let addr = address ?? info?.address else { return (info?.name, info?.logoUri) }
|
|
|
|
if let safeName = Safe.cachedName(by: AddressString(addr), chainId: chainId) {
|
|
return (safeName, nil)
|
|
} else if let ownerName = KeyInfo.name(address: addr) {
|
|
return (ownerName, nil)
|
|
} else if let entryName = AddressBookEntry.cachedName(by: AddressString(addr), chainId: chainId) {
|
|
return (entryName, nil)
|
|
}
|
|
|
|
return (info?.name, info?.logoUri)
|
|
}
|
|
|
|
static func name(for info: AddressInfo? = nil, chainId: String) -> (name: String?, imageUri: URL?) {
|
|
return NamingPolicy.name(for: info?.address, info: info, chainId: chainId)
|
|
}
|
|
|
|
static func name(for info: SCGModels.AddressInfo? = nil, chainId: String) -> (name: String?, imageUri: URL?) {
|
|
return NamingPolicy.name(for: info?.value.address, info: info?.addressInfo, chainId: chainId)
|
|
}
|
|
}
|