Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 37 additions & 2 deletions packages/wallets/wallet-core/src/broadcaster/MsgBroadcaster.ts
Original file line number Diff line number Diff line change
Expand Up @@ -662,10 +662,13 @@ export class MsgBroadcaster {
.toNumber()
}

const totalStart = Date.now()

walletStrategy.emit(
WalletStrategyEmitterEventType.TransactionPreparationStart,
)

const prepareStart = Date.now()
const prepareTxResponse = await transactionApi.prepareTxRequest({
timeoutHeight,
memo: tx.memo,
Expand All @@ -675,16 +678,21 @@ export class MsgBroadcaster {
gasLimit: getGasPriceBasedOnMessage(msgs),
estimateGas: simulateTx,
})
console.log(
`[MsgBroadcaster] Prepare exchange TX: ${Date.now() - prepareStart}ms`,
)

walletStrategy.emit(
WalletStrategyEmitterEventType.TransactionPreparationEnd,
)

const signStart = Date.now()
const signature = await walletStrategy.signEip712TypedData(
prepareTxResponse.data,
tx.ethereumAddress,
{ txTimeout: txTimeoutTimeInSeconds },
)
console.log(`[MsgBroadcaster] Sign: ${Date.now() - signStart}ms`)

const broadcast = async () =>
await transactionApi.broadcastTxRequest({
Expand All @@ -699,16 +707,25 @@ export class MsgBroadcaster {
WalletStrategyEmitterEventType.TransactionBroadcastStart,
)

const broadcastStart = Date.now()
const response = await broadcast()

walletStrategy.emit(
WalletStrategyEmitterEventType.TransactionBroadcastEnd,
)

return await new TxGrpcApi(endpoints.grpc).fetchTxPoll(
const txResponse = await new TxGrpcApi(endpoints.grpc).fetchTxPoll(
response.txHash,
txTimeoutTimeInMilliSeconds,
)
console.log(
`[MsgBroadcaster] Broadcast + chain inclusion: ${Date.now() - broadcastStart}ms`,
)
console.log(
`[MsgBroadcaster] Total quote-to-chain: ${Date.now() - totalStart}ms`,
)

return txResponse
} catch (e) {
const error = e as any

Expand Down Expand Up @@ -1052,6 +1069,9 @@ export class MsgBroadcaster {
}
}

const totalStart = Date.now()
const prepareStart = Date.now()

const cosmosWallet = walletStrategy.getCosmosWallet(chainId)
const canDisableCosmosGasCheck = (
[Wallet.Keplr, Wallet.OWallet] as WalletType[]
Expand Down Expand Up @@ -1113,16 +1133,22 @@ export class MsgBroadcaster {
cosmosWallet.disableGasCheck(chainId)
}

console.log(
`[MsgBroadcaster] Prepare exchange TX: ${Date.now() - prepareStart}ms`,
)

walletStrategy.emit(
WalletStrategyEmitterEventType.TransactionPreparationStart,
)

const signStart = Date.now()
const directSignResponse = (await walletStrategy.signCosmosTransaction({
txRaw,
chainId,
address: tx.injectiveAddress,
accountNumber: baseAccount.accountNumber,
})) as DirectSignResponse
console.log(`[MsgBroadcaster] Sign: ${Date.now() - signStart}ms`)

walletStrategy.emit(
WalletStrategyEmitterEventType.TransactionPreparationEnd,
Expand Down Expand Up @@ -1152,6 +1178,7 @@ export class MsgBroadcaster {
WalletStrategyEmitterEventType.TransactionBroadcastStart,
)

const broadcastStart = Date.now()
const response = await broadcast()

walletStrategy.emit(
Expand All @@ -1163,10 +1190,18 @@ export class MsgBroadcaster {
cosmosWallet.enableGasCheck(chainId)
}

return await new TxGrpcApi(endpoints.grpc).fetchTxPoll(
const txResponse = await new TxGrpcApi(endpoints.grpc).fetchTxPoll(
response.txHash,
txTimeoutTimeInMilliSeconds,
)
console.log(
`[MsgBroadcaster] Broadcast + chain inclusion: ${Date.now() - broadcastStart}ms`,
)
console.log(
`[MsgBroadcaster] Total quote-to-chain: ${Date.now() - totalStart}ms`,
)

return txResponse
} catch (e) {
const error = e as any

Expand Down