aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorzsfelfoldi <zsfelfoldi@gmail.com>2015-04-03 23:37:59 +0800
committerzelig <viktor.tron@gmail.com>2015-04-20 03:57:49 +0800
commite2d333d2095edb349388433c28f4d6a381b1df62 (patch)
tree2bc2dbf45ffeb1de93606122d263913d790d048f /core
parentac0e5e8b6de43a40bbc25f541aa2399202bbe420 (diff)
downloaddexon-e2d333d2095edb349388433c28f4d6a381b1df62.tar
dexon-e2d333d2095edb349388433c28f4d6a381b1df62.tar.gz
dexon-e2d333d2095edb349388433c28f4d6a381b1df62.tar.bz2
dexon-e2d333d2095edb349388433c28f4d6a381b1df62.tar.lz
dexon-e2d333d2095edb349388433c28f4d6a381b1df62.tar.xz
dexon-e2d333d2095edb349388433c28f4d6a381b1df62.tar.zst
dexon-e2d333d2095edb349388433c28f4d6a381b1df62.zip
NatSpec contracts in genesis block, end to end test (unfinished)
Diffstat (limited to 'core')
-rw-r--r--core/contracts.go33
-rw-r--r--core/genesis.go8
2 files changed, 41 insertions, 0 deletions
diff --git a/core/contracts.go b/core/contracts.go
new file mode 100644
index 000000000..a8da85f58
--- /dev/null
+++ b/core/contracts.go
@@ -0,0 +1,33 @@
+package core
+
+const ( // built-in contracts address and code
+ ContractAddrURLhint = "0000000000000000000000000000000000000008"
+ ContractCodeURLhint = "0x60bd80600c6000396000f30060003560e060020a900480632f92673214601557005b60216004356024356027565b60006000f35b6000805490816001019055506001600083815260200190815260200160002054600160a060020a0316600014806081575033600160a060020a03166001600084815260200190815260200160002054600160a060020a0316145b60885760b9565b3360016000848152602001908152602001600020819055508060026000848152602001908152602001600020819055505b505056"
+ //"0x60b180600c6000396000f30060003560e060020a900480632f92673214601557005b60216004356024356027565b60006000f35b6000600083815260200190815260200160002054600160a060020a0316600014806075575033600160a060020a03166000600084815260200190815260200160002054600160a060020a0316145b607c5760ad565b3360006000848152602001908152602001600020819055508060016000848152602001908152602001600020819055505b505056"
+ /*
+ contract URLhint {
+ function register(bytes32 _hash, bytes32 _url) {
+ testcnt++;
+ if (owner[_hash] == 0 || owner[_hash] == msg.sender) {
+ owner[_hash] = msg.sender;
+ url[_hash] = _url;
+ }
+ }
+ uint32 testcnt;
+ mapping (bytes32 => address) owner;
+ mapping (bytes32 => bytes32) url;
+ }
+ */
+
+ ContractAddrHashReg = "0000000000000000000000000000000000000009"
+ ContractCodeHashReg = "0x3360008190555060628060136000396000f30060003560e060020a900480632f92673214601557005b60216004356024356027565b60006000f35b600054600160a060020a031633600160a060020a031614604557605e565b8060016000848152602001908152602001600020819055505b505056"
+ /*
+ import "owned";
+ contract HashReg is owned {
+ function register(bytes32 _code, bytes32 _abi) onlyowner {
+ abis[_code] = _abi;
+ }
+ mapping (bytes32 => bytes32) abis;
+ }
+ */
+)
diff --git a/core/genesis.go b/core/genesis.go
index 8ef1e140f..14ac2ec0f 100644
--- a/core/genesis.go
+++ b/core/genesis.go
@@ -56,7 +56,15 @@ func GenesisBlock(db common.Database) *types.Block {
return genesis
}
+const (
+ TestAccount = "e273f01c99144c438695e10f24926dc1f9fbf62d"
+ TestBalance = "1000000000000000000"
+)
+
var genesisData = []byte(`{
+ "` + TestAccount + `": {"balance": "` + TestBalance + `"},
+ "` + ContractAddrURLhint + `": {"balance": "` + TestBalance + `", "code": "` + ContractCodeURLhint + `" },
+ "` + ContractAddrHashReg + `": {"balance": "` + TestBalance + `", "code": "` + ContractCodeHashReg + `" },
"0000000000000000000000000000000000000001": {"balance": "1"},
"0000000000000000000000000000000000000002": {"balance": "1"},
"0000000000000000000000000000000000000003": {"balance": "1"},