Skip to content

Commit

Permalink
fix: restore ethbridge signing
Browse files Browse the repository at this point in the history
  • Loading branch information
alanrsoares committed Aug 17, 2022
1 parent fa6a1a9 commit 0056718
Showing 1 changed file with 7 additions and 25 deletions.
32 changes: 7 additions & 25 deletions core/src/clients/bridges/EthBridge/EthBridge.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,9 @@
import { BroadcastTxResult, isBroadcastTxFailure } from "@cosmjs/launchpad";
import { isBroadcastTxFailure } from "@cosmjs/launchpad";
import Long from "long";
import Web3 from "web3";
import { provider } from "web3-core";
import { Contract } from "web3-eth-contract";

import {
DEFAULT_FEE,
SifchainEncodeObject,
SifSigningStargateClient,
} from "../../../clients/sifchain";

import {
AssetAmount,
EthChainConfig,
Expand Down Expand Up @@ -148,7 +142,7 @@ export class EthBridge extends BaseBridge<
if (wallet instanceof CosmosWalletProvider) {
const tx = await this.exportToEth(wallet, params);

if (isBroadcastTxFailure(tx as BroadcastTxResult)) {
if (isBroadcastTxFailure(tx)) {
throw new Error(parseTxFailure(tx).memo);
}

Expand Down Expand Up @@ -195,7 +189,7 @@ export class EthBridge extends BaseBridge<
provider: CosmosWalletProvider,
params: BridgeParams,
) {
const feeAmount = await this.estimateFees(provider, params);
const feeAmount = this.estimateFees(provider, params);
const nativeChain = params.fromChain;

const client = await NativeDexClient.connectByChain(nativeChain);
Expand All @@ -206,11 +200,10 @@ export class EthBridge extends BaseBridge<

const entry = await this.tokenRegistry.findAssetEntryOrThrow(sifAsset);

const tx = isOriginallySifchainNativeToken(params.assetAmount.asset)
const txDraft = isOriginallySifchainNativeToken(params.assetAmount.asset)
? client.tx.ethbridge.Lock(
{
ethereumReceiver: params.toAddress,

amount: params.assetAmount.toBigInt().toString(),
symbol: entry.denom,
cosmosSender: params.fromAddress,
Expand Down Expand Up @@ -238,21 +231,10 @@ export class EthBridge extends BaseBridge<
params.fromAddress,
);

const stargateClient = await SifSigningStargateClient.connectWithSigner(
this.context.sifRpcUrl,
await provider.getSendingSigner(nativeChain),
);
const signed = await provider.sign(nativeChain, txDraft);
const sent = await provider.broadcast(nativeChain, signed);

return await stargateClient.signAndBroadcast(
params.fromAddress,
tx.msgs as SifchainEncodeObject[],
tx.fee
? {
amount: [tx.fee.price],
gas: tx.fee.gas,
}
: DEFAULT_FEE,
);
return sent;
}

private async importFromEth(
Expand Down

0 comments on commit 0056718

Please sign in to comment.