diff --git a/integration-tests/ccip-tests/actions/ccip_helpers.go b/integration-tests/ccip-tests/actions/ccip_helpers.go index 88cd28876c..b7ed6b7c0f 100644 --- a/integration-tests/ccip-tests/actions/ccip_helpers.go +++ b/integration-tests/ccip-tests/actions/ccip_helpers.go @@ -402,7 +402,8 @@ func (ccipModule *CCIPCommon) ApproveTokens() error { return fmt.Errorf("failed to get allowance for token %s: %w", token.ContractAddress.Hex(), err) } if allowance.Cmp(ApprovedAmountToRouter) < 0 { - err := token.Approve(ccipModule.ChainClient.GetDefaultWallet(), ccipModule.Router.Address(), ApprovedAmountToRouter) + allowanceApprovalDelta := new(big.Int).Sub(ApprovedAmountToRouter, allowance) + err := token.Approve(ccipModule.ChainClient.GetDefaultWallet(), ccipModule.Router.Address(), allowanceApprovalDelta) if err != nil { return fmt.Errorf("failed to approve token %s: %w", token.ContractAddress.Hex(), err) } diff --git a/integration-tests/ccip-tests/contracts/contract_models.go b/integration-tests/ccip-tests/contracts/contract_models.go index 08a88be569..28dec6aedb 100644 --- a/integration-tests/ccip-tests/contracts/contract_models.go +++ b/integration-tests/ccip-tests/contracts/contract_models.go @@ -271,9 +271,6 @@ func (token *ERC20Token) Approve(onBehalf *blockchain.EthereumWallet, spender st if err != nil { return fmt.Errorf("failed to get balance of onBehalf: %w", err) } - if onBehalfBalance.Cmp(amount) < 0 { - return fmt.Errorf("onBehalf '%s' does not have enough balance to approve", onBehalf.Address()) - } currentAllowance, err := token.Allowance(onBehalf.Address(), spender) if err != nil { return fmt.Errorf("failed to get current allowance for '%s' on behalf of '%s': %w", spender, onBehalf.Address(), err)