Skip to content

Commit

Permalink
pack method
Browse files Browse the repository at this point in the history
  • Loading branch information
mmsqe committed Sep 26, 2023
1 parent 90fda59 commit 4ec7974
Show file tree
Hide file tree
Showing 5 changed files with 368 additions and 10 deletions.
293 changes: 292 additions & 1 deletion x/cronos/events/bindings/cosmos/precompile/ica/i_ica_module.abigen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions x/cronos/events/bindings/src/ICA.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ pragma solidity ^0.8.4;

interface IICAModule {
event SubmitMsgsResult(uint64 seq);
event OnAcknowledgement(string indexed packetSenderAddress, bytes packet, bytes acknowledgement);
event OnTimeoutPacket(string indexed packetSenderAddress, bytes packet);
function registerAccount(string calldata connectionID, string calldata version) external payable returns (bool);
function queryAccount(string calldata connectionID, address addr) external view returns (string memory);
function submitMsgs(string calldata connectionID, bytes calldata data, uint256 timeout) external payable returns (uint64);
Expand Down
9 changes: 7 additions & 2 deletions x/cronos/events/types/types.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
package types

const (
EventTypeSubmitMsgsResult = "submit_msgs_result"
AttributeKeySeq = "seq"
EventTypeSubmitMsgsResult = "submit_msgs_result"
EventTypeOnAcknowledgement = "on_acknowledgement"
EventTypeOnTimeoutPacket = "on_timeoutPacket"
AttributeKeySeq = "seq"
AttributeKeyPacketSenderAddress = "packet_sender_address"
AttributeKeyPacket = "packet"
AttributeKeyAcknowledgement = "acknowledgement"
)
16 changes: 9 additions & 7 deletions x/cronos/keeper/keeper.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import (
clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types"
channeltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types"
ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported"
cronosprecompiles "github.com/crypto-org-chain/cronos/v2/x/cronos/keeper/precompiles"
"github.com/crypto-org-chain/cronos/v2/x/cronos/types"
"github.com/ethereum/go-ethereum/common"
ethtypes "github.com/ethereum/go-ethereum/core/types"
Expand Down Expand Up @@ -297,23 +298,24 @@ func (k Keeper) IBCOnAcknowledgementPacketCallback(
relayerAddr := common.BytesToAddress(relayer.Bytes())
nonce := k.evmKeeper.GetNonce(ctx, relayerAddr)
precompileAddr := common.HexToAddress(contractAddress)
data, err := cronosprecompiles.GetOnAcknowledgementPacketCallback(packet.Data, acknowledgement, packetSenderAddress)
if err != nil {
return err
}
msg := ethtypes.NewMessage(
types.EVMModuleAddress,
&precompileAddr,
nonce,
big.NewInt(0), // amount
DefaultGasCap,
big.NewInt(0), nil, nil, // gasPrice
packet.Data,
data,
nil, // accessList
false, // isFake
)
_, err := k.evmKeeper.ApplyMessage(ctx, msg, nil, true)
if err != nil {
return err
}
// return k.processMockCallback(ctx, callbacktypes.CallbackTypeAcknowledgementPacket, packetSenderAddress)
return nil
ret, err := k.evmKeeper.ApplyMessage(ctx, msg, nil, true)
fmt.Println("mm-ret", ret, err)
return err
}

// IBCOnTimeoutPacketCallback returns nil if the gas meter has greater than
Expand Down
Loading

0 comments on commit 4ec7974

Please sign in to comment.