Skip to content

Commit

Permalink
testing:
Browse files Browse the repository at this point in the history
  • Loading branch information
VAIBHAVJINDAL3012 committed Oct 31, 2023
1 parent e3f2b24 commit dc96028
Showing 1 changed file with 30 additions and 35 deletions.
65 changes: 30 additions & 35 deletions clerk/side_handler.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package clerk

import (
"bytes"
"math/big"
"strconv"

Expand Down Expand Up @@ -61,61 +60,57 @@ func SideHandleMsgEventRecord(ctx sdk.Context, k Keeper, msg types.MsgEventRecor
return hmCommon.ErrorSideTx(k.Codespace(), common.CodeWaitFrConfirmation)
}

// get event log for topup
eventLog, err := contractCaller.DecodeStateSyncedEvent(chainParams.StateSenderAddress.EthAddress(), receipt, msg.LogIndex)
// // get event log for topup
// eventLog, err := contractCaller.DecodeStateSyncedEvent(chainParams.StateSenderAddress.EthAddress(), receipt, msg.LogIndex)
// if err != nil || eventLog == nil {
// k.Logger(ctx).Error("Error fetching log from txhash")
// return hmCommon.ErrorSideTx(k.Codespace(), common.CodeErrDecodeEvent)
// }

k.Logger(ctx).Error("##########111111111111111#######")

eventLog, err := contractCaller.DecodeValidatorStakeUpdateEvent(chainParams.StateSenderAddress.EthAddress(), receipt, msg.LogIndex)
if err != nil || eventLog == nil {
k.Logger(ctx).Error("Error fetching log from txhash")
return hmCommon.ErrorSideTx(k.Codespace(), common.CodeErrDecodeEvent)
return hmCommon.ErrorSideTx(k.Codespace(), common.CodeInvalidMsg)
}

k.Logger(ctx).Error("##########22222222222222#######")

if receipt.BlockNumber.Uint64() != msg.BlockNumber {
k.Logger(ctx).Error("BlockNumber in message doesn't match blocknumber in receipt", "MsgBlockNumber", msg.BlockNumber, "ReceiptBlockNumber", receipt.BlockNumber.Uint64())
k.Logger(ctx).Error("BlockNumber in message doesn't match blocknumber in receipt", "MsgBlockNumber", msg.BlockNumber, "ReceiptBlockNumber", receipt.BlockNumber.Uint64)
return hmCommon.ErrorSideTx(k.Codespace(), common.CodeInvalidMsg)
}

// check if message and event log matches
if eventLog.Id.Uint64() != msg.ID {
k.Logger(ctx).Error("ID in message doesn't match with id in log", "msgId", msg.ID, "stateIdFromTx", eventLog.Id)
k.Logger(ctx).Error("##########3333333333333#######")

if eventLog.ValidatorId.Uint64() != msg.ID.Uint64() {
k.Logger(ctx).Error("ID in message doesn't match with id in log", "msgId", msg.ID, "validatorIdFromTx", eventLog.ValidatorId)
return hmCommon.ErrorSideTx(k.Codespace(), common.CodeInvalidMsg)
}

if !bytes.Equal(eventLog.ContractAddress.Bytes(), msg.ContractAddress.Bytes()) {
k.Logger(ctx).Error(
"ContractAddress from event does not match with Msg ContractAddress",
"EventContractAddress", eventLog.ContractAddress.String(),
"MsgContractAddress", msg.ContractAddress.String(),
)
k.Logger(ctx).Error("##########4444444444444#######")

// check Amount
if eventLog.NewAmount == big.NewInt(0) {
k.Logger(ctx).Error("##########INT -> Value of eventLog.NewAmount#############", eventLog.NewAmount)
return hmCommon.ErrorSideTx(k.Codespace(), common.CodeInvalidMsg)
}

if !bytes.Equal(eventLog.Data, msg.Data) {
if ctx.BlockHeight() > helper.GetSpanOverrideHeight() {
if !(len(eventLog.Data) > helper.MaxStateSyncSize && bytes.Equal(msg.Data, hmTypes.HexToHexBytes(""))) {
k.Logger(ctx).Error(
"Data from event does not match with Msg Data",
"EventData", hmTypes.BytesToHexBytes(eventLog.Data),
"MsgData", hmTypes.BytesToHexBytes(msg.Data),
)
k.Logger(ctx).Error("##########OUT -> Value of eventLog.NewAmount#############", eventLog.NewAmount)

return hmCommon.ErrorSideTx(k.Codespace(), common.CodeInvalidMsg)
}
} else {
if !(len(eventLog.Data) > helper.LegacyMaxStateSyncSize && bytes.Equal(msg.Data, hmTypes.HexToHexBytes(""))) {
k.Logger(ctx).Error(
"Data from event does not match with Msg Data",
"EventData", hmTypes.BytesToHexBytes(eventLog.Data),
"MsgData", hmTypes.BytesToHexBytes(msg.Data),
)

return hmCommon.ErrorSideTx(k.Codespace(), common.CodeInvalidMsg)
}
}
// check nonce
if eventLog.Nonce.Uint64() != msg.Nonce {
k.Logger(ctx).Error("Nonce in message doesn't match with nonce in log", "msgNonce", msg.Nonce, "nonceFromTx", eventLog.Nonce)
return hmCommon.ErrorSideTx(k.Codespace(), common.CodeInvalidMsg)
}

k.Logger(ctx).Debug("✅ Successfully validated External call for stake update msg")

result.Result = abci.SideTxResultType_Yes

return

}

func PostHandleMsgEventRecord(ctx sdk.Context, k Keeper, msg types.MsgEventRecord, sideTxResult abci.SideTxResultType) sdk.Result {
Expand Down

0 comments on commit dc96028

Please sign in to comment.