mirror of https://github.com/ethereum/go-ethereum
parent
558c67d392
commit
3f6baa45a7
@ -0,0 +1 @@ |
|||||||
|
var contract = web3.eth.contractFromAbi([{"constant":false,"inputs":[{"name":"_h","type":"hash256"}],"name":"confirm","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"execute","outputs":[{"name":"_r","type":"hash256"}],"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"}],"name":"kill","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"}],"name":"changeOwner","outputs":[],"type":"function"},{"inputs":[{"indexed":false,"name":"value","type":"uint256"}],"name":"CashIn","type":"event"},{"inputs":[{"indexed":true,"name":"out","type":"string32"},{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"to","type":"address"}],"name":"SingleTransact","type":"event"},{"inputs":[{"indexed":true,"name":"out","type":"string32"},{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"operation","type":"hash256"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"to","type":"address"}],"name":"MultiTransact","type":"event"}]); |
@ -1,61 +0,0 @@ |
|||||||
package state |
|
||||||
|
|
||||||
import ( |
|
||||||
"fmt" |
|
||||||
"math/big" |
|
||||||
) |
|
||||||
|
|
||||||
// Object manifest
|
|
||||||
//
|
|
||||||
// The object manifest is used to keep changes to the state so we can keep track of the changes
|
|
||||||
// that occurred during a state transitioning phase.
|
|
||||||
type Manifest struct { |
|
||||||
Messages Messages |
|
||||||
} |
|
||||||
|
|
||||||
func NewManifest() *Manifest { |
|
||||||
m := &Manifest{} |
|
||||||
m.Reset() |
|
||||||
|
|
||||||
return m |
|
||||||
} |
|
||||||
|
|
||||||
func (m *Manifest) Reset() { |
|
||||||
m.Messages = nil |
|
||||||
} |
|
||||||
|
|
||||||
func (self *Manifest) AddMessage(msg *Message) *Message { |
|
||||||
self.Messages = append(self.Messages, msg) |
|
||||||
|
|
||||||
return msg |
|
||||||
} |
|
||||||
|
|
||||||
func (self *Manifest) SetHash(hash []byte) { |
|
||||||
for _, message := range self.Messages { |
|
||||||
message.Block = hash |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
type Messages []*Message |
|
||||||
type Message struct { |
|
||||||
To, From []byte |
|
||||||
Input []byte |
|
||||||
Output []byte |
|
||||||
Path int |
|
||||||
Origin []byte |
|
||||||
Timestamp int64 |
|
||||||
Coinbase []byte |
|
||||||
Block []byte |
|
||||||
Number *big.Int |
|
||||||
Value *big.Int |
|
||||||
|
|
||||||
ChangedAddresses [][]byte |
|
||||||
} |
|
||||||
|
|
||||||
func (self *Message) AddStorageChange(addr []byte) { |
|
||||||
self.ChangedAddresses = append(self.ChangedAddresses, addr) |
|
||||||
} |
|
||||||
|
|
||||||
func (self *Message) String() string { |
|
||||||
return fmt.Sprintf("Message{to: %x from: %x input: %x output: %x origin: %x coinbase: %x block: %x number: %v timestamp: %d path: %d value: %v", self.To, self.From, self.Input, self.Output, self.Origin, self.Coinbase, self.Block, self.Number, self.Timestamp, self.Path, self.Value) |
|
||||||
} |
|
Loading…
Reference in new issue