Skip to content

Commit

Permalink
change types
Browse files Browse the repository at this point in the history
  • Loading branch information
pythonberg1997 committed Sep 14, 2023
1 parent 23d3166 commit a28618d
Showing 1 changed file with 19 additions and 33 deletions.
52 changes: 19 additions & 33 deletions client/tx/factory.go
Original file line number Diff line number Diff line change
Expand Up @@ -413,38 +413,14 @@ func (f Factory) PrintEIP712MsgType(clientCtx client.Context, msgs ...sdk.Msg) e
return errors.New("only one message is supported")
}

preparedTxf, err := f.Prepare(clientCtx)
if err != nil {
return err
}

gInfo, adjusted, err := CalculateGas(clientCtx, preparedTxf, msgs...)
if err != nil {
return err
}
preparedTxf = preparedTxf.WithGas(adjusted)

parsedGasPrice, err := sdk.ParseCoinNormalized(gInfo.GasInfo.MinGasPrice)
if err != nil {
return err
}
if !parsedGasPrice.IsNil() && !parsedGasPrice.IsZero() {
fees := make(sdk.Coins, 1)
fees[0] = sdk.NewCoin(parsedGasPrice.Denom, parsedGasPrice.Amount.Mul(sdk.NewInt(int64(adjusted))))

preparedTxf = preparedTxf.WithFees(fees.String())
}

unsignedTx, err := preparedTxf.BuildUnsignedTx(msgs...)
unsignedTx, err := f.BuildUnsignedTx(msgs...)
if err != nil {
return err
}

signerData := authsigning.SignerData{
Address: clientCtx.From,
ChainID: clientCtx.ChainID,
AccountNumber: preparedTxf.accountNumber,
Sequence: preparedTxf.sequence,
Address: clientCtx.From,
ChainID: clientCtx.ChainID,
}

chainID, err := sdk.ParseChainID(clientCtx.ChainID)
Expand All @@ -460,16 +436,26 @@ func (f Factory) PrintEIP712MsgType(clientCtx client.Context, msgs ...sdk.Msg) e
return fmt.Errorf("failed to wrap tx to typedData: %s", err)
}

// remove unnecessary types
eip712MsgTypes := typedData.Types
delete(eip712MsgTypes, "Tx")
delete(eip712MsgTypes, "Fee")
delete(eip712MsgTypes, "Coin")
delete(eip712MsgTypes, "EIP712Domain")

msgData := typedData.Message["msg1"].(map[string]interface{})
if msgData == nil {
return fmt.Errorf("failed to get msg data")
}

type EIP712TypedData struct {
Type string `json:"type"`
EIP712MessageType apitypes.Types `json:"EIP712_message_type"`
MessageData map[string]interface{} `json:"message_data"`
EIP712MessageType apitypes.Types `json:"EIP712MessageType"`
MessageData map[string]interface{} `json:"MessageData"`
}

eip712TypedData := EIP712TypedData{
Type: sdk.MsgTypeURL(msgs[0]),
EIP712MessageType: typedData.Types,
MessageData: typedData.Message,
EIP712MessageType: eip712MsgTypes,
MessageData: msgData,
}
bz, err := json.MarshalIndent(eip712TypedData, "", " ")
if err != nil {
Expand Down

0 comments on commit a28618d

Please sign in to comment.