Skip to content

Commit 56b87ff

Browse files
committed
reverted to old state except for sql/transhist and locked account func
1 parent 5c3d95a commit 56b87ff

File tree

17 files changed

+265
-156
lines changed

17 files changed

+265
-156
lines changed

build/ldflags.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ fi
99

1010
# set gitCommit when running from a Git checkout.
1111
if [ -f ".git/HEAD" ]; then
12-
echo "-ldflags '-X main.gitCommit $(git rev-parse HEAD)'"
12+
echo "-ldflags '-X main.gitCommit=$(git rev-parse HEAD)'"
1313
fi

cmd/shift/js.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ func keywordCompleter(line string) []string {
121121
}
122122

123123
func apiWordCompleter(line string, pos int) (head string, completions []string, tail string) {
124-
if len(line) == 0 {
124+
if len(line) == 0 || pos == 0{
125125
return "", nil, ""
126126
}
127127

cmd/shift/js_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ func TestRPC(t *testing.T) {
231231
defer ethereum.Stop()
232232
defer os.RemoveAll(tmp)
233233

234-
checkEvalJSON(t, repl, `admin.startRPC("127.0.0.1", 5004, "*", "web3,eth,net")`, `true`)
234+
checkEvalJSON(t, repl, `admin.startRPC("127.0.0.1", 53901, "*", "web3,shf,net")`, `true`)
235235
}
236236

237237
func TestCheckTestAccountBalance(t *testing.T) {
@@ -259,7 +259,7 @@ func TestSignature(t *testing.T) {
259259
defer ethereum.Stop()
260260
defer os.RemoveAll(tmp)
261261

262-
val, err := repl.re.Run(`eth.sign("` + testAddress + `", "` + testHash + `")`)
262+
val, err := repl.re.Run(`shf.sign("` + testAddress + `", "` + testHash + `")`)
263263

264264
// This is a very preliminary test, lacking actual signature verification
265265
if err != nil {

cmd/shift/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ import (
4747
)
4848

4949
const (
50-
ClientIdentifier = "Shift"
50+
ClientIdentifier = "SHIFT"
5151
Version = "0.3.0"
5252
VersionMajor = 0
5353
VersionMinor = 3

common/natspec/natspec_js.go

Lines changed: 2 additions & 2 deletions
Large diffs are not rendered by default.

core/state/state_object.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,7 @@ func (self *StateObject) Copy() *StateObject {
263263
stateObject.gasPool.Set(self.gasPool)
264264
stateObject.remove = self.remove
265265
stateObject.dirty = self.dirty
266+
stateObject.deleted = self.deleted
266267

267268
return stateObject
268269
}

core/state/state_test.go

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package state
1818

1919
import (
20+
"bytes"
2021
"math/big"
2122
"testing"
2223

@@ -117,3 +118,106 @@ func (s *StateSuite) TestSnapshot(c *checker.C) {
117118

118119
c.Assert(data1, checker.DeepEquals, res)
119120
}
121+
122+
// use testing instead of checker because checker does not support
123+
// printing/logging in tests (-check.vv does not work)
124+
func TestSnapshot2(t *testing.T) {
125+
db, _ := ethdb.NewMemDatabase()
126+
state := New(common.Hash{}, db)
127+
128+
stateobjaddr0 := toAddr([]byte("so0"))
129+
stateobjaddr1 := toAddr([]byte("so1"))
130+
var storageaddr common.Hash
131+
132+
data0 := common.BytesToHash([]byte{17})
133+
data1 := common.BytesToHash([]byte{18})
134+
135+
state.SetState(stateobjaddr0, storageaddr, data0)
136+
state.SetState(stateobjaddr1, storageaddr, data1)
137+
138+
// db, trie are already non-empty values
139+
so0 := state.GetStateObject(stateobjaddr0)
140+
so0.balance = big.NewInt(42)
141+
so0.nonce = 43
142+
so0.gasPool = big.NewInt(44)
143+
so0.code = []byte{'c', 'a', 'f', 'e'}
144+
so0.codeHash = so0.CodeHash()
145+
so0.remove = true
146+
so0.deleted = false
147+
so0.dirty = false
148+
state.SetStateObject(so0)
149+
150+
// and one with deleted == true
151+
so1 := state.GetStateObject(stateobjaddr1)
152+
so1.balance = big.NewInt(52)
153+
so1.nonce = 53
154+
so1.gasPool = big.NewInt(54)
155+
so1.code = []byte{'c', 'a', 'f', 'e', '2'}
156+
so1.codeHash = so1.CodeHash()
157+
so1.remove = true
158+
so1.deleted = true
159+
so1.dirty = true
160+
state.SetStateObject(so1)
161+
162+
so1 = state.GetStateObject(stateobjaddr1)
163+
if so1 != nil {
164+
t.Fatalf("deleted object not nil when getting")
165+
}
166+
167+
snapshot := state.Copy()
168+
state.Set(snapshot)
169+
170+
so0Restored := state.GetStateObject(stateobjaddr0)
171+
so1Restored := state.GetStateObject(stateobjaddr1)
172+
// non-deleted is equal (restored)
173+
compareStateObjects(so0Restored, so0, t)
174+
// deleted should be nil, both before and after restore of state copy
175+
if so1Restored != nil {
176+
t.Fatalf("deleted object not nil after restoring snapshot")
177+
}
178+
}
179+
180+
func compareStateObjects(so0, so1 *StateObject, t *testing.T) {
181+
if so0.address != so1.address {
182+
t.Fatalf("Address mismatch: have %v, want %v", so0.address, so1.address)
183+
}
184+
if so0.balance.Cmp(so1.balance) != 0 {
185+
t.Fatalf("Balance mismatch: have %v, want %v", so0.balance, so1.balance)
186+
}
187+
if so0.nonce != so1.nonce {
188+
t.Fatalf("Nonce mismatch: have %v, want %v", so0.nonce, so1.nonce)
189+
}
190+
if !bytes.Equal(so0.codeHash, so1.codeHash) {
191+
t.Fatalf("CodeHash mismatch: have %v, want %v", so0.codeHash, so1.codeHash)
192+
}
193+
if !bytes.Equal(so0.code, so1.code) {
194+
t.Fatalf("Code mismatch: have %v, want %v", so0.code, so1.code)
195+
}
196+
if !bytes.Equal(so0.initCode, so1.initCode) {
197+
t.Fatalf("InitCode mismatch: have %v, want %v", so0.initCode, so1.initCode)
198+
}
199+
200+
for k, v := range so1.storage {
201+
if so0.storage[k] != v {
202+
t.Fatalf("Storage key %s mismatch: have %v, want %v", k, so0.storage[k], v)
203+
}
204+
}
205+
for k, v := range so0.storage {
206+
if so1.storage[k] != v {
207+
t.Fatalf("Storage key %s mismatch: have %v, want none.", k, v)
208+
}
209+
}
210+
211+
if so0.gasPool.Cmp(so1.gasPool) != 0 {
212+
t.Fatalf("GasPool mismatch: have %v, want %v", so0.gasPool, so1.gasPool)
213+
}
214+
if so0.remove != so1.remove {
215+
t.Fatalf("Remove mismatch: have %v, want %v", so0.remove, so1.remove)
216+
}
217+
if so0.deleted != so1.deleted {
218+
t.Fatalf("Deleted mismatch: have %v, want %v", so0.deleted, so1.deleted)
219+
}
220+
if so0.dirty != so1.dirty {
221+
t.Fatalf("Dirty mismatch: have %v, want %v", so0.dirty, so1.dirty)
222+
}
223+
}

p2p/discover/udp_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ func newUDPTest(t *testing.T) *udpTest {
6767
pipe: newpipe(),
6868
localkey: newkey(),
6969
remotekey: newkey(),
70-
remoteaddr: &net.UDPAddr{IP: net.IP{1, 2, 3, 4}, Port: 30303},
70+
remoteaddr: &net.UDPAddr{IP: net.IP{1, 2, 3, 4}, Port: 53900},
7171
}
7272
test.table, test.udp = newUDP(test.localkey, test.pipe, nil, "")
7373
return test

rpc/api/api_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ func TestParseApiString(t *testing.T) {
3939
t.Errorf("Expected 0 apis from empty API string")
4040
}
4141

42-
apis, err = ParseApiString("eth", codec.JSON, nil, nil)
42+
apis, err = ParseApiString("shf", codec.JSON, nil, nil)
4343
if err != nil {
4444
t.Errorf("Expected nil err from parsing empty API string but got %v", err)
4545
}
@@ -48,7 +48,7 @@ func TestParseApiString(t *testing.T) {
4848
t.Errorf("Expected 1 apis but got %d - %v", apis, apis)
4949
}
5050

51-
apis, err = ParseApiString("eth,eth", codec.JSON, nil, nil)
51+
apis, err = ParseApiString("shf,shf", codec.JSON, nil, nil)
5252
if err != nil {
5353
t.Errorf("Expected nil err from parsing empty API string but got \"%v\"", err)
5454
}
@@ -57,7 +57,7 @@ func TestParseApiString(t *testing.T) {
5757
t.Errorf("Expected 2 apis but got %d - %v", apis, apis)
5858
}
5959

60-
apis, err = ParseApiString("eth,invalid", codec.JSON, nil, nil)
60+
apis, err = ParseApiString("shf,invalid", codec.JSON, nil, nil)
6161
if err == nil {
6262
t.Errorf("Expected an err but got no err")
6363
}
@@ -81,7 +81,7 @@ func TestCompileSolidity(t *testing.T) {
8181
` }\n` +
8282
`}\n`
8383

84-
jsonstr := `{"jsonrpc":"2.0","method":"eth_compileSolidity","params":["` + source + `"],"id":64}`
84+
jsonstr := `{"jsonrpc":"2.0","method":"shf_compileSolidity","params":["` + source + `"],"id":64}`
8585

8686
expCode := "0x605880600c6000396000f3006000357c010000000000000000000000000000000000000000000000000000000090048063c6888fa114602e57005b603d6004803590602001506047565b8060005260206000f35b60006007820290506053565b91905056"
8787
expAbiDefinition := `[{"constant":false,"inputs":[{"name":"a","type":"uint256"}],"name":"multiply","outputs":[{"name":"d","type":"uint256"}],"type":"function"}]`

rpc/api/eth_js.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ web3._extend(
4343
[
4444
new web3._extend.Property({
4545
name: 'pendingTransactions',
46-
getter: 'eth_pendingTransactions'
46+
getter: 'shf_pendingTransactions'
4747
})
4848
]
4949
});

tests/files/BlockchainTests/bcGasPricerTest.json

100755100644
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@
1515
"number" : "0x01",
1616
"parentHash" : "a07e6e83984a8c98e83439eb737b429d8cbc0e6c8b37ba3e5ac5faebcf78db6b",
1717
"receiptTrie" : "08ffbde000912f7a562428e6750194b5862548d98ee02739e8d8671290d49abe",
18-
"stateRoot" : "8a9df04183e28fc7c26e4a40e359b2322bf77737a1592fe3a6f400651fb8979b",
18+
"stateRoot" : "02f8193e4effff57c4e3cc55a309c6a0ff4cbe33e7bf6fc19ec1aa4bbc3999bf",
1919
"timestamp" : "0x55b7e6f5",
2020
"transactionsTrie" : "bdb25a2e5860522e943625b58a5429571aaf3123038ffff0922fe58753e51b83",
2121
"uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
2222
},
23-
"rlp" : "0xf9026ef901faa0a07e6e83984a8c98e83439eb737b429d8cbc0e6c8b37ba3e5ac5faebcf78db6ba01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a08a9df04183e28fc7c26e4a40e359b2322bf77737a1592fe3a6f400651fb8979ba0bdb25a2e5860522e943625b58a5429571aaf3123038ffff0922fe58753e51b83a008ffbde000912f7a562428e6750194b5862548d98ee02739e8d8671290d49abeb901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083020000018401dee69a8253a08455b7e6f580a055edf4d762c74ed37868666a28e9dbcbfc8ee2121766915fa461722ba91ea56f88346921996dcbb61ff86ef86c808609184e72a000830cf85094095e7baea6a6c7c4c2dfeb977efac326af552d870a86ffffffffffff1ca019b72b9fb71e156dc46b934987514054bf7c6ba1b3f0030a2645d31d51f92979a01f60971cd6a647c763d70e81fbd3fdc8ad1c9a2b93771397040c2842042ae10dc0",
23+
"rlp" : "0xf9026ef901faa0a07e6e83984a8c98e83439eb737b429d8cbc0e6c8b37ba3e5ac5faebcf78db6ba01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a002f8193e4effff57c4e3cc55a309c6a0ff4cbe33e7bf6fc19ec1aa4bbc3999bfa0bdb25a2e5860522e943625b58a5429571aaf3123038ffff0922fe58753e51b83a008ffbde000912f7a562428e6750194b5862548d98ee02739e8d8671290d49abeb901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083020000018401dee69a8253a08455b7e6f580a055edf4d762c74ed37868666a28e9dbcbfc8ee2121766915fa461722ba91ea56f88346921996dcbb61ff86ef86c808609184e72a000830cf85094095e7baea6a6c7c4c2dfeb977efac326af552d870a86ffffffffffff1ca019b72b9fb71e156dc46b934987514054bf7c6ba1b3f0030a2645d31d51f92979a01f60971cd6a647c763d70e81fbd3fdc8ad1c9a2b93771397040c2842042ae10dc0",
2424
"transactions" : [
2525
{
2626
"data" : "0xffffffffffff",
@@ -481,12 +481,12 @@
481481
"number" : "0x01",
482482
"parentHash" : "de68deceb6f907a67e0bbc2dc5cbe3114ddadf66a771abfc2b8c5619e86f1b81",
483483
"receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
484-
"stateRoot" : "8503769bb14067be7c5e438c353094e5a9a6c72f375fad4a76878a8882ceb496",
484+
"stateRoot" : "b9985a0b5c09bb476161bcd55aa5fddf7601e4791b19b9b192b99bd74384edeb",
485485
"timestamp" : "0x55b7e70a",
486486
"transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
487487
"uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
488488
},
489-
"rlp" : "0xf901fcf901f7a0de68deceb6f907a67e0bbc2dc5cbe3114ddadf66a771abfc2b8c5619e86f1b81a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a08503769bb14067be7c5e438c353094e5a9a6c72f375fad4a76878a8882ceb496a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000001832fefd8808455b7e70a80a0ac1254b4ec97b116e2975d4506093015d4470ed3a6fcc602e5f2403c7b3bb59488341281600b5abd48c0c0",
489+
"rlp" : "0xf901fcf901f7a0de68deceb6f907a67e0bbc2dc5cbe3114ddadf66a771abfc2b8c5619e86f1b81a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0b9985a0b5c09bb476161bcd55aa5fddf7601e4791b19b9b192b99bd74384edeba056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000001832fefd8808455b7e70a80a0ac1254b4ec97b116e2975d4506093015d4470ed3a6fcc602e5f2403c7b3bb59488341281600b5abd48c0c0",
490490
"transactions" : [
491491
],
492492
"uncleHeaders" : [

0 commit comments

Comments
 (0)