Closed zakir-code closed 1 week ago
The pull request encompasses modifications across multiple files, primarily focusing on enhancing cross-chain functionality within the application. Key changes include updates to the Makefile
for linting checks, the introduction of new methods and parameters in various keeper files, and the restructuring of interfaces to accommodate cross-chain operations. Additionally, several test cases have been removed or modified to align with these changes, indicating a shift in the testing strategy for cross-chain functionality.
File Path | Change Summary |
---|---|
Makefile | Updated the check-no-lint target to change the threshold for nolint or #nosec comments from 32 to 31 occurrences. |
app/keepers/keepers.go | Modified NewAppKeeper to include EthKeeper in NewPrecompiledContract and updated IBCMiddlewareKeeper to use EthKeeper instead of Erc20Keeper . |
types/target.go | Added a new method String() to the FxTarget struct for string representation based on the isIBC field. |
x/crosschain/keeper/abci_test.go | Added import for ibctransfertypes , updated TestABCIEndBlockDepositClaim to include denomTrace and ibcDenom , and modified TestOracleUpdate to accommodate new token handling. |
x/crosschain/keeper/keeper_v1_test.go | Introduced SetIBCDenom method to KeeperTestSuite for setting up IBC denomination traces. |
x/crosschain/keeper/many_to_one.go | Added methods for handling IBC coins, including IBCCoinToBaseCoin , BaseCoinToIBCCoin , IBCCoinToEvm , IBCCoinRefund , and AfterIBCAckSuccess . Modified BaseDenomToBridgeDenom for IBC token checks. |
x/crosschain/keeper/send_to_fx.go | Updated SendToFxExecuted , RelayTransferHandler , and transferIBCHandler methods to enhance coin transfer handling and introduced telemetry metrics. |
x/crosschain/mock/expected_keepers_mocks.go | Added new methods to MockErc20Keeper and MockIBCTransferKeeper , including DeleteIBCTransferRelation , IbcRefund , and GetDenomTrace . |
x/crosschain/precompile/contract.go | Updated NewPrecompiledContract to include a new crossChainKeeper parameter. |
x/crosschain/precompile/crosschain_test.go | Removed multiple test cases from TestCrossChainIBC and TestCrossChainIBCExternal , indicating a simplification of the testing strategy. |
x/crosschain/precompile/expected_keepers.go | Introduced CrossChainKeeper interface with a method for converting base coins to IBC coins. |
x/crosschain/precompile/keeper.go | Added crossChainKeeper field to Keeper struct and modified ibcTransfer method to include coin conversion logic. |
x/crosschain/types/expected_keepers.go | Added methods to Erc20Keeper and IBCTransferKeeper interfaces, and introduced a new import for tmbytes . |
x/erc20/keeper/transfer_relation.go | Renamed RefundAfter to IbcRefund and changed its return type to error , simplifying the refund process. |
x/ibc/middleware/keeper/keeper.go | Removed refundHook and erc20Keeper fields from Keeper struct, added crossChainKeeper , and updated NewKeeper constructor accordingly. |
x/ibc/middleware/keeper/relay.go | Modified OnRecvPacket , OnAcknowledgementPacket , and refundPacketTokenHook methods to streamline IBC handling and remove previous checks for refundHook . |
x/ibc/middleware/keeper/relay_test.go | Removed several import statements and commented out the TestOnRecvPacket function, along with updates to address handling in test cases. |
x/ibc/middleware/types/expected_keepers.go | Introduced CrossChainKeeper interface, removed RefundHook and Erc20Keeper interfaces, and added relevant methods for cross-chain operations. |
AttestationHandler
function, potentially linking to the linting logic in the main PR.EvmKeeper
and related changes, connecting to the main PR's cross-chain focus.IRefundCallback
interface, relating to cross-chain operations.BaseCoinToBridgeToken
function, possibly linking to validation logic.SendToFxExecuted
function, related to cross-chain operations.HasOracle
and IsOracleOnline
methods enhancing cross-chain functionality.AddToOutgoingPool
, linking to cross-chain operations.🐰 In the meadow, where the bunnies play,
New changes hop in, brightening the day.
With coins that cross from here to there,
Our code's now spry, with nary a care!
Let's cheer for the keepers, the tests, and the fun,
For cross-chain magic has only begun! 🐇✨
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Summary by CodeRabbit
New Features
CrossChainKeeper
interface to support cross-chain operations.FxTarget
instances.Bug Fixes
Refactor
Tests