Skip to content

Commit

Permalink
Handle as processTransaction
Browse files Browse the repository at this point in the history
  • Loading branch information
vikmeup committed Mar 29, 2018
1 parent 0ce32d1 commit e271f0a
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 18 deletions.
2 changes: 1 addition & 1 deletion Trust/Browser/Factory/WKWebViewConfiguration.swift
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ extension WKWebViewConfiguration {
Trust.init(rpcURL, {
getAccounts: function (cb) { cb(null, [addressHex]) },
signTransaction: function (tx, cb){
processTransaction: function (tx, cb){
console.log('signing a transaction', tx)
const { id = 8888 } = tx
Trust.addCallback(id, cb)
Expand Down
4 changes: 2 additions & 2 deletions Trust/Transfer/Controllers/TransactionConfigurator.swift
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ class TransactionConfigurator {
account: account,
address: transaction.to,
contract: .none,
nonce: -1,
nonce: Int(transaction.nonce?.description ?? "-1") ?? -1,
data: configuration.data,
gasPrice: configuration.gasPrice,
gasLimit: configuration.gasLimit,
Expand All @@ -173,7 +173,7 @@ class TransactionConfigurator {
value: value,
account: account,
to: address,
nonce: -1,
nonce: Int(transaction.nonce?.description ?? "-1") ?? -1,
data: configuration.data,
gasPrice: configuration.gasPrice,
gasLimit: configuration.gasLimit,
Expand Down
34 changes: 19 additions & 15 deletions Trust/Transfer/Coordinators/SendTransactionCoordinator.swift
Original file line number Diff line number Diff line change
Expand Up @@ -68,27 +68,31 @@ class SendTransactionCoordinator {

switch signedTransaction {
case .success(let data):
let transaction = SentTransaction(
id: data.sha3(.keccak256).hexEncoded,
original: transaction,
data: data
)
switch confirmType {
case .sign:
completion(.success(.signedTransaction(transaction)))
approve(transaction: transaction, data: data, completion: completion)
case .signThenSend:
let request = EtherServiceRequest(batch: BatchFactory().create(SendRawTransactionRequest(signedTransaction: data.hexEncoded)))
Session.send(request) { result in
switch result {
case .success:
completion(.success(.sentTransaction(transaction)))
case .failure(let error):
completion(.failure(AnyError(error)))
}
}
approve(transaction: transaction, data: data, completion: completion)
}
case .failure(let error):
completion(.failure(AnyError(error)))
}
}

func approve(transaction: SignTransaction, data: Data, completion: @escaping (Result<ConfirmResult, AnyError>) -> Void) {
let transaction = SentTransaction(
id: data.sha3(.keccak256).hexEncoded,
original: transaction,
data: data
)
let request = EtherServiceRequest(batch: BatchFactory().create(SendRawTransactionRequest(signedTransaction: data.hexEncoded)))
Session.send(request) { result in
switch result {
case .success:
completion(.success(.sentTransaction(transaction)))
case .failure(let error):
completion(.failure(AnyError(error)))
}
}
}
}

0 comments on commit e271f0a

Please sign in to comment.