package types
|
|
|
|
import (
|
|
"fmt"
|
|
)
|
|
|
|
// Functions to generate eventId strings
|
|
|
|
func EventStringAccInput(addr []byte) string {
|
|
return fmt.Sprintf("Acc/%x/Input", addr)
|
|
}
|
|
|
|
func EventStringAccOutput(addr []byte) string {
|
|
return fmt.Sprintf("Acc/%x/Output", addr)
|
|
}
|
|
|
|
func EventStringAccReceive(addr []byte) string {
|
|
return fmt.Sprintf("Acc/%x/Receive", addr)
|
|
}
|
|
|
|
func EventStringBond() string {
|
|
return "Bond"
|
|
}
|
|
|
|
func EventStringUnbond() string {
|
|
return "Unbond"
|
|
}
|
|
|
|
func EventStringRebond() string {
|
|
return "Rebond"
|
|
}
|
|
|
|
func EventStringDupeout() string {
|
|
return "Dupeout"
|
|
}
|
|
|
|
func EventStringNewBlock() string {
|
|
return "NewBlock"
|
|
}
|
|
|
|
func EventStringFork() string {
|
|
return "Fork"
|
|
}
|
|
|
|
// Most event messages are basic types (a block, a transaction)
|
|
// but some (an input to a call tx or a receive) are more exotic:
|
|
|
|
type EventMsgCallTx struct {
|
|
Tx Tx
|
|
Return []byte
|
|
Exception string
|
|
}
|
|
|
|
type CallData struct {
|
|
Caller []byte
|
|
Callee []byte
|
|
Data []byte
|
|
Value uint64
|
|
Gas uint64
|
|
}
|
|
|
|
type EventMsgCall struct {
|
|
CallData *CallData
|
|
Origin []byte
|
|
TxId []byte
|
|
Return []byte
|
|
Exception string
|
|
}
|
|
|
|
/*
|
|
Acc/XYZ/Input -> full tx or {full tx, return value, exception}
|
|
Acc/XYZ/Output -> full tx
|
|
Acc/XYZ/Receive -> full tx, return value, exception, (optionally?) calldata
|
|
Bond -> full tx
|
|
Unbond -> full tx
|
|
Rebond -> full tx
|
|
Dupeout -> full tx
|
|
NewBlock -> full block
|
|
Fork -> block A, block B
|
|
|
|
Log -> Fuck this
|
|
NewPeer -> peer
|
|
Alert -> alert msg
|
|
*/
|