|
|
- 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 `json:"tx"`
- Return []byte `json:"return"`
- Exception string `json:"exception"`
- }
-
- type CallData struct {
- Caller []byte `json:"caller"`
- Callee []byte `json:"callee"`
- Data []byte `json:"data"`
- Value int64 `json:"value"`
- Gas int64 `json:"gas"`
- }
-
- type EventMsgCall struct {
- CallData *CallData `json:"call_data"`
- Origin []byte `json:"origin"`
- TxId []byte `json:"tx_id"`
- Return []byte `json:"return"`
- Exception string `json:"exception"`
- }
-
- /*
- 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
- */
|