From 6c5f396baec7494afe455239f4ae72605f300c80 Mon Sep 17 00:00:00 2001 From: stackman27 Date: Tue, 14 Jul 2026 20:57:17 -0700 Subject: [PATCH] fix erc20 --- examples/cli/cmd/evm.go | 11 ++++++++--- examples/cli/internal/evmops/erc20.go | 5 +++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/examples/cli/cmd/evm.go b/examples/cli/cmd/evm.go index 1d448f4d8..eb1716c4b 100644 --- a/examples/cli/cmd/evm.go +++ b/examples/cli/cmd/evm.go @@ -207,9 +207,8 @@ func evmSend( } auth := b.EthAuth - if feeToken == b.Profile.EthEmptyAddress { - auth.Value = fee - } else { + + if feeToken != b.Profile.EthEmptyAddress { allowance := requiredAllowances[feeToken] if allowance == nil { allowance = big.NewInt(0) @@ -228,11 +227,16 @@ func evmSend( } } + if feeToken == b.Profile.EthEmptyAddress { + auth.Value = fee + } + // Ask for confirmation fmt.Println("About to send message:") tw := table.NewWriter() tw.SetStyle(table.StyleLight) tw.AppendHeader(table.Row{"Field", "Value"}) + tw.AppendRow(table.Row{"Sender", b.ETHAddress.Hex()}) tw.AppendRow(table.Row{"Receiver", "0x" + common.Bytes2Hex(msg.Receiver)}) tw.AppendRow(table.Row{"Data", "0x" + common.Bytes2Hex(msg.Data)}) tw.AppendRow(table.Row{"Finality", fin.Label}) @@ -249,6 +253,7 @@ func evmSend( } fmt.Println("⏳ Sending message...") + auth.GasLimit = 500_000 tx, err := router.CcipSend(auth, b.Profile.CantonSelector, msg) if err != nil { return fmt.Errorf("ccip send: %w", err) diff --git a/examples/cli/internal/evmops/erc20.go b/examples/cli/internal/evmops/erc20.go index ce98b9111..77ca734f5 100644 --- a/examples/cli/internal/evmops/erc20.go +++ b/examples/cli/internal/evmops/erc20.go @@ -53,6 +53,8 @@ func EnsureERC20Allowance( fmt.Println("⏳ Approving...") opts := *b.EthAuth opts.Context = ctx + opts.Value = big.NewInt(0) + opts.GasLimit = 0 tx, err := erc20.Approve(&opts, spender, amount) if err != nil { return fmt.Errorf("approve ERC20: %w", err) @@ -66,6 +68,9 @@ func EnsureERC20Allowance( return fmt.Errorf("wait mined: %w", err) } fmt.Printf("Transaction mined in block: %d\n", receipt.BlockNumber.Uint64()) + if receipt.Status != 1 { + return fmt.Errorf("approve transaction reverted (status=0): %s", tx.Hash().Hex()) + } return nil }