Skip to content

Commit 551d3f7

Browse files
committed
bug fix, serialization
1 parent 3c4b3f4 commit 551d3f7

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

web3swift/BlockExplorer/Classes/BlockExplorer+GetTransactionHistory.swift

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,19 @@ public struct TransactionHistoryRecord: Decodable {
9090
hash = hashData
9191
let intBlock = try container.decode(UInt64.self, forKey: CodingKeys.block)
9292
block = BigUInt.init(integerLiteral: intBlock)
93-
let stringAddressFrom = try container.decode(String.self, forKey: CodingKeys.addressFrom)
94-
guard let nativeAddressFrom = EthereumAddress(stringAddressFrom, type: .normal, ignoreChecksum: true) else {
93+
var stringAddressFrom = try container.decode(String.self, forKey: CodingKeys.addressFrom)
94+
if !stringAddressFrom.hasHexPrefix() {
95+
stringAddressFrom = stringAddressFrom.addHexPrefix()
96+
}
97+
guard let nativeAddressFrom = EthereumAddress(stringAddressFrom) else {
9598
throw Web3Error.transactionSerializationError
9699
}
97100
addressFrom = nativeAddressFrom
98-
let stringAddressTo = try container.decode(String.self, forKey: CodingKeys.addressTo)
99-
100-
guard let nativeAddressTo = EthereumAddress(stringAddressTo, type: .normal, ignoreChecksum: true) else {
101+
var stringAddressTo = try container.decode(String.self, forKey: CodingKeys.addressTo)
102+
if !stringAddressTo.hasHexPrefix() {
103+
stringAddressTo = stringAddressTo.addHexPrefix()
104+
}
105+
guard let nativeAddressTo = EthereumAddress(stringAddressTo) else {
101106
throw Web3Error.transactionSerializationError
102107
}
103108
addressTo = nativeAddressTo

0 commit comments

Comments
 (0)