Skip to content

Commit

Permalink
fix: nightly test (#594)
Browse files Browse the repository at this point in the history
Co-authored-by: fx0x55 <80245546+fx0x55@users.noreply.github.com>
  • Loading branch information
zakir-code and fx0x55 committed Jul 24, 2024
1 parent 162d587 commit a4bb1b5
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 17 deletions.
37 changes: 24 additions & 13 deletions tests/crosschain_suite.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,13 @@ import (

type CrosschainTestSuite struct {
EvmTestSuite
params crosschaintypes.Params
chainName string
oraclePrivKey cryptotypes.PrivKey
bridgerPrivKey cryptotypes.PrivKey
externalPrivKey *ecdsa.PrivateKey
privKey cryptotypes.PrivKey
params crosschaintypes.Params
chainName string
oraclePrivKey cryptotypes.PrivKey
bridgerPrivKey cryptotypes.PrivKey
externalPrivKey *ecdsa.PrivateKey
privKey cryptotypes.PrivKey
executeClaimPrivKey cryptotypes.PrivKey
}

func NewCrosschainWithTestSuite(chainName string, ts *TestSuite) CrosschainTestSuite {
Expand All @@ -41,19 +42,21 @@ func NewCrosschainWithTestSuite(chainName string, ts *TestSuite) CrosschainTestS
panic(err.Error())
}
return CrosschainTestSuite{
EvmTestSuite: NewEvmTestSuite(ts),
chainName: chainName,
oraclePrivKey: helpers.NewPriKey(),
bridgerPrivKey: helpers.NewPriKey(),
externalPrivKey: externalPrivKey,
privKey: helpers.NewEthPrivKey(),
EvmTestSuite: NewEvmTestSuite(ts),
chainName: chainName,
oraclePrivKey: helpers.NewPriKey(),
bridgerPrivKey: helpers.NewPriKey(),
externalPrivKey: externalPrivKey,
privKey: helpers.NewEthPrivKey(),
executeClaimPrivKey: helpers.NewEthPrivKey(),
}
}

func (suite *CrosschainTestSuite) Init() {
suite.TestSuite.Send(suite.OracleAddr(), suite.NewCoin(sdkmath.NewInt(10_100).MulRaw(1e18)))
suite.TestSuite.Send(suite.BridgerAddr(), suite.NewCoin(sdkmath.NewInt(1_000).MulRaw(1e18)))
suite.TestSuite.Send(suite.AccAddress(), suite.NewCoin(sdkmath.NewInt(1_000).MulRaw(1e18)))
suite.TestSuite.Send(suite.ExecuteClaimAccAddress(), suite.NewCoin(sdkmath.NewInt(1_000).MulRaw(1e18)))
suite.params = suite.QueryParams()
}

Expand All @@ -74,6 +77,10 @@ func (suite *CrosschainTestSuite) AccAddress() sdk.AccAddress {
return suite.privKey.PubKey().Address().Bytes()
}

func (suite *CrosschainTestSuite) ExecuteClaimAccAddress() sdk.AccAddress {
return suite.executeClaimPrivKey.PubKey().Address().Bytes()
}

func (suite *CrosschainTestSuite) HexAddress() gethcommon.Address {
return gethcommon.BytesToAddress(suite.privKey.PubKey().Address())
}
Expand Down Expand Up @@ -260,6 +267,7 @@ func (suite *CrosschainTestSuite) SendOracleSetConfirm() {
},
)
suite.NoError(err)
suite.NotEmpty(queryResponse.OracleSets)

for _, oracleSet := range queryResponse.OracleSets {
var signature []byte
Expand Down Expand Up @@ -307,6 +315,7 @@ func (suite *CrosschainTestSuite) BridgeCallClaim(to string, tokens []string, am
BridgerAddress: suite.BridgerAddr().String(),
TxOrigin: suite.HexAddressString(),
})
suite.ExecuteClaim()
}

func (suite *CrosschainTestSuite) SendToTxClaimWithReceiver(receiver sdk.AccAddress, token string, amount sdkmath.Int, targetIbc string) {
Expand All @@ -321,6 +330,7 @@ func (suite *CrosschainTestSuite) SendToTxClaimWithReceiver(receiver sdk.AccAddr
BridgerAddress: suite.BridgerAddr().String(),
ChainName: suite.chainName,
})
suite.ExecuteClaim()
bridgeToken, err := suite.CrosschainQuery().TokenToDenom(suite.ctx, &crosschaintypes.QueryTokenToDenomRequest{
ChainName: suite.chainName,
Token: token,
Expand Down Expand Up @@ -642,6 +652,7 @@ func (suite *CrosschainTestSuite) BridgeCallConfirm(nonce uint64, isSuccess bool
Cause: "",
},
)
suite.ExecuteClaim()
}

func (suite *CrosschainTestSuite) SignatureCheckpoint(checkpoint []byte) []byte {
Expand Down Expand Up @@ -697,7 +708,7 @@ func (suite *CrosschainTestSuite) ExecuteClaim() *ethtypes.Transaction {
suite.Require().NoError(err)

address := crosschaintypes.GetAddress()
ethTx, err := client.BuildEthTransaction(suite.ctx, suite.EthClient(), suite.privKey, &address, nil, pack)
ethTx, err := client.BuildEthTransaction(suite.ctx, suite.EthClient(), suite.executeClaimPrivKey, &address, nil, pack)
suite.Require().NoError(err)

suite.SendTransaction(ethTx)
Expand Down
1 change: 0 additions & 1 deletion tests/crosschain_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@ func (suite *IntegrationTest) CrossChainTest() {
chain.CheckBalance(ibcTransferAddr, sdk.NewCoin(bridgeDenom, sdkmath.NewInt(0)))
}
chain.SendToFxClaim(tokenAddress, sdkmath.NewInt(100), "")
chain.ExecuteClaim()
chain.CheckBalance(chain.AccAddress(), sdk.NewCoin(bridgeDenom, sdkmath.NewInt(100)))

txId := chain.SendToExternal(5, sdk.NewCoin(bridgeDenom, sdkmath.NewInt(10)))
Expand Down
5 changes: 3 additions & 2 deletions x/crosschain/precompile/execute_claim.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package precompile

import (
"errors"
"math/big"

sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/ethereum/go-ethereum/accounts/abi"
Expand Down Expand Up @@ -60,7 +61,7 @@ func (m *ExecuteClaimMethod) Run(evm *vm.EVM, contract *vm.Contract) ([]byte, er
if err = crosschainKeeper.ExecuteClaim(ctx, args.EventNonce.Uint64()); err != nil {
return err
}
data, topic, err := m.NewExecuteClaimEvent(contract.Caller(), args.EventNonce.Uint64(), args.DstChain)
data, topic, err := m.NewExecuteClaimEvent(contract.Caller(), args.EventNonce, args.DstChain)
if err != nil {
return err
}
Expand All @@ -75,7 +76,7 @@ func (m *ExecuteClaimMethod) Run(evm *vm.EVM, contract *vm.Contract) ([]byte, er
return m.PackOutput(true)
}

func (m *ExecuteClaimMethod) NewExecuteClaimEvent(sender common.Address, eventNonce uint64, dstChain string) (data []byte, topic []common.Hash, err error) {
func (m *ExecuteClaimMethod) NewExecuteClaimEvent(sender common.Address, eventNonce *big.Int, dstChain string) (data []byte, topic []common.Hash, err error) {
data, topic, err = evmtypes.PackTopicData(m.Event, []common.Hash{sender.Hash()}, eventNonce, dstChain)
if err != nil {
return nil, nil, err
Expand Down
2 changes: 1 addition & 1 deletion x/crosschain/types/contract.go
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ func (args *AddPendingPoolRewardArgs) Validate() error {
}

type ExecuteClaimArgs struct {
DstChain string `abi:"_dstChain"`
DstChain string `abi:"_dstChainId"`
EventNonce *big.Int `abi:"_eventNonce"`
}

Expand Down

0 comments on commit a4bb1b5

Please sign in to comment.