Skip to content
This repository has been archived by the owner on Dec 2, 2024. It is now read-only.

Commit

Permalink
IOS- Sui: code fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
siblockchaina committed Sep 18, 2024
1 parent 99af311 commit e893cc6
Show file tree
Hide file tree
Showing 8 changed files with 67 additions and 64 deletions.
90 changes: 45 additions & 45 deletions BlockchainSdk/Blockchains/Sui/Network/SuiResponse.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,21 @@ import Foundation
//MARK: Balance
public struct SuiGetCoins: Codable {
public struct Coin: Codable, Hashable {
public var coinType: String
public var coinObjectId: String
public var version: String
public var digest: String
public var balance: String
public var previousTransaction: String
public let coinType: String
public let coinObjectId: String
public let version: String
public let digest: String
public let balance: String
public let previousTransaction: String

public func hash(into hasher: inout Hasher) {
digest.hash(into: &hasher)
}
}

public var hasNextPage: Bool
public var data: [Coin]
public var nextCursor: String?
public let hasNextPage: Bool
public let data: [Coin]
public let nextCursor: String?
}


Expand All @@ -34,81 +34,81 @@ public typealias SuiReferenceGasPrice = String

//MARK: ExecuteTransaction
public struct SuiExecuteTransaction: Codable {
public var digest: String
public let digest: String
}

//MARK: DryRunTransaction
public struct SuiInspectTransaction: Codable {
public var effects: SuiTransaction.SuiTransactionEffects
public var input: SuiTransaction.SuiTransactionData
public let effects: SuiTransaction.SuiTransactionEffects
public let input: SuiTransaction.SuiTransactionData
}

public struct SuiTransaction: Codable {

//SubTypes
public struct Transaction: Codable {
public struct SuiTransactionInput: Codable {
public var type: String
public let type: String
//
public var valueType: String?
public var value: String?
public let valueType: String?
public let value: String?
//
public var objectType: String?
public var objectId: String?
public var version: String?
public var digest: String?
public let objectType: String?
public let objectId: String?
public let version: String?
public let digest: String?
}

public struct SuiTransactions: Codable {

}

public var kind: String
public var inputs: [SuiTransactionInput]
public let kind: String
public let inputs: [SuiTransactionInput]
}

public struct GasData: Codable {
public struct Payment: Codable {
public var objectId: String
public var version: UInt64
public var digest: String
public let objectId: String
public let version: UInt64
public let digest: String
}

public var owner: String
public var price: String
public var budget: String
public var payment: [Payment]
public let owner: String
public let price: String
public let budget: String
public let payment: [Payment]
}

public struct SuiTransactionData: Codable {
public var messageVersion: String
public var transaction: SuiTransaction.Transaction
public var sender: String
public var gasData: GasData
public let messageVersion: String
public let transaction: SuiTransaction.Transaction
public let sender: String
public let gasData: GasData
}

public struct SuiTransactionGasUsed: Codable {
public var computationCost: String
public var storageCost: String
public var storageRebate: String
public var nonRefundableStorageFee: String
public let computationCost: String
public let storageCost: String
public let storageRebate: String
public let nonRefundableStorageFee: String
}

public struct SuiTransactionEffects: Codable {
public struct Status: Codable {
public var status: String
public let status: String
}

public var messageVersion: String
public var status: Status
public var gasUsed: SuiTransactionGasUsed
public var transactionDigest: String
public let messageVersion: String
public let status: Status
public let gasUsed: SuiTransactionGasUsed
public let transactionDigest: String

}

// Body
public var data: SuiTransactionData
public var txSignatures: [String]
public var rawTransaction: String
public var effects: SuiTransactionEffects
public let data: SuiTransactionData
public let txSignatures: [String]
public let rawTransaction: String
public let effects: SuiTransactionEffects
}
14 changes: 7 additions & 7 deletions BlockchainSdk/Blockchains/Sui/Network/SuiTarget.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,23 +9,23 @@
import Foundation
import Moya

public struct SuiTarget: TargetType {
public var baseURL: URL
public var request: SuiTarget.Request
struct SuiTarget: TargetType {
let baseURL: URL
let request: SuiTarget.Request

public var path: String {
var path: String {
""
}

public var method: Moya.Method {
var method: Moya.Method {
.post
}

public var task: Moya.Task {
var task: Moya.Task {
.requestJSONRPC(id: request.id, method: request.method, params: request.params)
}

public var headers: [String : String]?
var headers: [String : String]?
}


Expand Down
2 changes: 1 addition & 1 deletion BlockchainSdk/Blockchains/Sui/Sui.swift
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ struct Sui {
upperID = elements[2]
}

public func encode(to encoder: any Encoder) throws {
public func encode(to encoder: any Encoder) throws {
try string.encode(to: encoder)
}

Expand Down
4 changes: 2 additions & 2 deletions BlockchainSdk/Blockchains/Sui/SuiAddress.swift
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ struct SuiAddress {
throw WalletCoreAddressService.TWError.makeAddressFailed
}

let string = "0x" + hashed.hexString
let string = hashed.hexString.addHexPrefix()

self.formattedString = string
self.curveID = curveID
}

public init(hex string: String, curveID: Sui.EllipticCurveID) throws {
self.formattedString = string.hasHexPrefix() ? string : "0x" + string
self.formattedString = string.hasHexPrefix() ? string : string.addHexPrefix()
self.curveID = curveID
}
}
Expand Down
6 changes: 3 additions & 3 deletions BlockchainSdk/Blockchains/Sui/SuiFeeParameters.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

import Foundation

public struct SuiFeeParameters: FeeParameters {
public var gasPrice: Decimal
public var gasBudget: Decimal
struct SuiFeeParameters: FeeParameters {
public let gasPrice: Decimal
public let gasBudget: Decimal
}
4 changes: 2 additions & 2 deletions BlockchainSdk/Blockchains/Sui/SuiTransactionBuilder.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ import WalletCore
import TangemSdk

class SuiTransactionBuilder {
private var publicKey: Wallet.PublicKey
private let publicKey: Wallet.PublicKey
private let decimals: Decimal
private var coins: [SuiCoinObject] = []
private var decimals: Decimal

public init(publicKey: Wallet.PublicKey, decimals: Decimal) {
self.publicKey = publicKey
Expand Down
7 changes: 5 additions & 2 deletions BlockchainSdk/Blockchains/Sui/SuiWalletAssembly.swift
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,10 @@ struct SuiWalletAssembly: WalletManagerAssembly {
networkConfiguration: input.networkConfig
)
}

return SuiWalletManager(wallet: input.wallet, networkService: SuiNetworkService(providers: providers))

let transactionBuilder = SuiTransactionBuilder(publicKey: input.wallet.publicKey,
decimals: input.wallet.blockchain.decimalValue)

return SuiWalletManager(wallet: input.wallet, networkService: SuiNetworkService(providers: providers), transactionBuilder: transactionBuilder)
}
}
4 changes: 2 additions & 2 deletions BlockchainSdk/Blockchains/Sui/SuiWalletManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ class SuiWalletManager: BaseManager, WalletManager {
public let networkService: SuiNetworkService
public let transactionBuilder: SuiTransactionBuilder

public init(wallet: Wallet, networkService: SuiNetworkService) {
public init(wallet: Wallet, networkService: SuiNetworkService, transactionBuilder: SuiTransactionBuilder) {
self.networkService = networkService
self.transactionBuilder = SuiTransactionBuilder(publicKey: wallet.publicKey, decimals: wallet.blockchain.decimalValue)
self.transactionBuilder = transactionBuilder
super.init(wallet: wallet)
}

Expand Down

0 comments on commit e893cc6

Please sign in to comment.