Merge branch 'release/0.5.14'
This commit is contained in:
		@@ -5,7 +5,7 @@ Ethereum
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Ethereum Go Client © 2014 Jeffrey Wilcke.
 | 
					Ethereum Go Client © 2014 Jeffrey Wilcke.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Current state: Proof of Concept 5.0 RC13.
 | 
					Current state: Proof of Concept 5.0 RC14.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
For the development package please see the [eth-go package](https://github.com/ethereum/eth-go).
 | 
					For the development package please see the [eth-go package](https://github.com/ethereum/eth-go).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<script type="text/javascript">
 | 
					<script type="text/javascript">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var jefcoinAddr = "de0bd4ea1947deabf1749d7ed633f289358c9f6c"
 | 
					var jefcoinAddr = "22fa3ebce6ef9ca661a960104d3087eec040011e"
 | 
				
			||||||
var mAddr = ""
 | 
					var mAddr = ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function createTransaction() {
 | 
					function createTransaction() {
 | 
				
			||||||
@@ -17,7 +17,7 @@ function createTransaction() {
 | 
				
			|||||||
	var amount = document.querySelector("#amount").value.pad(32);
 | 
						var amount = document.querySelector("#amount").value.pad(32);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	var data = (addr + amount).unbin();
 | 
						var data = (addr + amount).unbin();
 | 
				
			||||||
	eth.transact(mAddr, jefcoinAddr, 0, "10000000", "250", data, function(receipt) {
 | 
						eth.transact(mAddr, jefcoinAddr, 0, "50000", "1000000", data, function(receipt) {
 | 
				
			||||||
		debug("received tx hash:", reciept.address)
 | 
							debug("received tx hash:", reciept.address)
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -78,7 +78,6 @@ func (self *DebuggerWindow) Debug(valueStr, gasStr, gasPriceStr, scriptStr, data
 | 
				
			|||||||
	var err error
 | 
						var err error
 | 
				
			||||||
	script := ethutil.StringToByteFunc(scriptStr, func(s string) (ret []byte) {
 | 
						script := ethutil.StringToByteFunc(scriptStr, func(s string) (ret []byte) {
 | 
				
			||||||
		ret, err = ethutil.Compile(s)
 | 
							ret, err = ethutil.Compile(s)
 | 
				
			||||||
		fmt.Printf("%x\n", ret)
 | 
					 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -110,14 +109,16 @@ func (self *DebuggerWindow) Debug(valueStr, gasStr, gasPriceStr, scriptStr, data
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	block := self.lib.eth.BlockChain().CurrentBlock
 | 
						block := self.lib.eth.BlockChain().CurrentBlock
 | 
				
			||||||
	vm := ethchain.NewVm(state, self.lib.eth.StateManager(), ethchain.RuntimeVars{
 | 
						vm := ethchain.NewVm(state, self.lib.eth.StateManager(), ethchain.RuntimeVars{
 | 
				
			||||||
 | 
							Block:       block,
 | 
				
			||||||
		Origin:      account.Address(),
 | 
							Origin:      account.Address(),
 | 
				
			||||||
		BlockNumber: block.BlockInfo().Number,
 | 
							BlockNumber: block.Number,
 | 
				
			||||||
		PrevHash:    block.PrevHash,
 | 
							PrevHash:    block.PrevHash,
 | 
				
			||||||
		Coinbase:    block.Coinbase,
 | 
							Coinbase:    block.Coinbase,
 | 
				
			||||||
		Time:        block.Time,
 | 
							Time:        block.Time,
 | 
				
			||||||
		Diff:        block.Difficulty,
 | 
							Diff:        block.Difficulty,
 | 
				
			||||||
		Value:       ethutil.Big(valueStr),
 | 
							Value:       ethutil.Big(valueStr),
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
 | 
						vm.Verbose = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	self.Db.done = false
 | 
						self.Db.done = false
 | 
				
			||||||
	self.Logf("callsize %d", len(script))
 | 
						self.Logf("callsize %d", len(script))
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -56,7 +56,7 @@ func New(ethereum *eth.Ethereum) *Gui {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (gui *Gui) Start(assetPath string) {
 | 
					func (gui *Gui) Start(assetPath string) {
 | 
				
			||||||
	const version = "0.5.0 RC13"
 | 
						const version = "0.5.0 RC14"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	defer gui.txDb.Close()
 | 
						defer gui.txDb.Close()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,7 +3,6 @@ package ethui
 | 
				
			|||||||
import (
 | 
					import (
 | 
				
			||||||
	"bitbucket.org/kardianos/osext"
 | 
						"bitbucket.org/kardianos/osext"
 | 
				
			||||||
	"github.com/ethereum/eth-go"
 | 
						"github.com/ethereum/eth-go"
 | 
				
			||||||
	"github.com/ethereum/eth-go/ethchain"
 | 
					 | 
				
			||||||
	"github.com/ethereum/eth-go/ethutil"
 | 
						"github.com/ethereum/eth-go/ethutil"
 | 
				
			||||||
	"github.com/go-qml/qml"
 | 
						"github.com/go-qml/qml"
 | 
				
			||||||
	"os"
 | 
						"os"
 | 
				
			||||||
@@ -138,53 +137,3 @@ func DefaultAssetPath() string {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	return base
 | 
						return base
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
func (ui *UiLib) DebugTx(recipient, valueStr, gasStr, gasPriceStr, data string) {
 | 
					 | 
				
			||||||
	state := ui.eth.BlockChain().CurrentBlock.State()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	script, err := ethutil.Compile(data)
 | 
					 | 
				
			||||||
	if err != nil {
 | 
					 | 
				
			||||||
		ethutil.Config.Log.Debugln(err)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		return
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	dis := ethchain.Disassemble(script)
 | 
					 | 
				
			||||||
	ui.win.Root().Call("clearAsm")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	for _, str := range dis {
 | 
					 | 
				
			||||||
		ui.win.Root().Call("setAsm", str)
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	// Contract addr as test address
 | 
					 | 
				
			||||||
	keyPair := ethutil.GetKeyRing().Get(0)
 | 
					 | 
				
			||||||
	callerTx :=
 | 
					 | 
				
			||||||
		ethchain.NewContractCreationTx(ethutil.Big(valueStr), ethutil.Big(gasStr), ethutil.Big(gasPriceStr), script)
 | 
					 | 
				
			||||||
	callerTx.Sign(keyPair.PrivateKey)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	account := ui.eth.StateManager().TransState().GetStateObject(keyPair.Address())
 | 
					 | 
				
			||||||
	contract := ethchain.MakeContract(callerTx, state)
 | 
					 | 
				
			||||||
	callerClosure := ethchain.NewClosure(account, contract, contract.Init(), state, ethutil.Big(gasStr), ethutil.Big(gasPriceStr))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	block := ui.eth.BlockChain().CurrentBlock
 | 
					 | 
				
			||||||
	vm := ethchain.NewVm(state, ui.eth.StateManager(), ethchain.RuntimeVars{
 | 
					 | 
				
			||||||
		Origin:      account.Address(),
 | 
					 | 
				
			||||||
		BlockNumber: block.BlockInfo().Number,
 | 
					 | 
				
			||||||
		PrevHash:    block.PrevHash,
 | 
					 | 
				
			||||||
		Coinbase:    block.Coinbase,
 | 
					 | 
				
			||||||
		Time:        block.Time,
 | 
					 | 
				
			||||||
		Diff:        block.Difficulty,
 | 
					 | 
				
			||||||
	})
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	ui.Db.done = false
 | 
					 | 
				
			||||||
	go func() {
 | 
					 | 
				
			||||||
		callerClosure.Call(vm, contract.Init(), ui.Db.halting)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		state.Reset()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		ui.Db.done = true
 | 
					 | 
				
			||||||
	}()
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (ui *UiLib) Next() {
 | 
					 | 
				
			||||||
	ui.Db.Next()
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user