forked from cerc-io/ipld-eth-server
Log checked headers for MCD events (#43)
* Log checked headers for Bite events * Log checked headers for Drip drip events * Log checked headers for Drip file events - mark headers checked for 3 implementations of file on the Drip contract * Log checked headers for Frob frob events * Log checked headers for Pit file events - mark headers checked for 3 implementations of file on the Pit contract * Log checked headers for Vat init events
This commit is contained in:
@@ -24,26 +24,34 @@ import (
|
||||
)
|
||||
|
||||
type Converter interface {
|
||||
ToModel(ethLog types.Log) (PitFileStabilityFeeModel, error)
|
||||
ToModels(ethLogs []types.Log) ([]PitFileStabilityFeeModel, error)
|
||||
}
|
||||
|
||||
type PitFileStabilityFeeConverter struct{}
|
||||
|
||||
func (PitFileStabilityFeeConverter) ToModel(ethLog types.Log) (PitFileStabilityFeeModel, error) {
|
||||
err := verifyLog(ethLog)
|
||||
if err != nil {
|
||||
return PitFileStabilityFeeModel{}, err
|
||||
}
|
||||
what := string(bytes.Trim(ethLog.Topics[2].Bytes(), "\x00"))
|
||||
data := common.HexToAddress(ethLog.Topics[3].String()).Hex()
|
||||
func (PitFileStabilityFeeConverter) ToModels(ethLogs []types.Log) ([]PitFileStabilityFeeModel, error) {
|
||||
var models []PitFileStabilityFeeModel
|
||||
for _, ethLog := range ethLogs {
|
||||
err := verifyLog(ethLog)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
what := string(bytes.Trim(ethLog.Topics[2].Bytes(), "\x00"))
|
||||
data := common.HexToAddress(ethLog.Topics[3].String()).Hex()
|
||||
|
||||
raw, err := json.Marshal(ethLog)
|
||||
return PitFileStabilityFeeModel{
|
||||
What: what,
|
||||
Data: data,
|
||||
TransactionIndex: ethLog.TxIndex,
|
||||
Raw: raw,
|
||||
}, err
|
||||
raw, err := json.Marshal(ethLog)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
model := PitFileStabilityFeeModel{
|
||||
What: what,
|
||||
Data: data,
|
||||
TransactionIndex: ethLog.TxIndex,
|
||||
Raw: raw,
|
||||
}
|
||||
models = append(models, model)
|
||||
}
|
||||
return models, nil
|
||||
}
|
||||
|
||||
func verifyLog(log types.Log) error {
|
||||
|
||||
Reference in New Issue
Block a user