diff options
Diffstat (limited to 'crypto.cpp')
-rw-r--r-- | crypto.cpp | 37 |
1 files changed, 19 insertions, 18 deletions
@@ -24,6 +24,7 @@ #include <secp256k1.h> #include <Common.h> #include <RLP.h> +#include <Log.h> #include <Transaction.h> using namespace std; using namespace eth; @@ -33,21 +34,21 @@ int cryptoTest() cnote << "Testing Crypto..."; secp256k1_start(); - KeyPair p(Secret(fromUserHex("3ecb44df2159c26e0f995712d4f39b6f6e499b40749b1cf1246c37f9516cb6a4"))); - assert(p.pub() == Public(fromUserHex("97466f2b32bc3bb76d4741ae51cd1d8578b48d3f1e68da206d47321aec267ce78549b514e4453d74ef11b0cd5e4e4c364effddac8b51bcfc8de80682f952896f"))); - assert(p.address() == Address(fromUserHex("8a40bfaa73256b60764c1bf40675a99083efb075"))); + KeyPair p(Secret(fromHex("3ecb44df2159c26e0f995712d4f39b6f6e499b40749b1cf1246c37f9516cb6a4"))); + assert(p.pub() == Public(fromHex("97466f2b32bc3bb76d4741ae51cd1d8578b48d3f1e68da206d47321aec267ce78549b514e4453d74ef11b0cd5e4e4c364effddac8b51bcfc8de80682f952896f"))); + assert(p.address() == Address(fromHex("8a40bfaa73256b60764c1bf40675a99083efb075"))); { Transaction t; t.nonce = 0; - t.receiveAddress = h160(fromUserHex("944400f4b88ac9589a0f17ed4671da26bddb668b")); + t.receiveAddress = h160(fromHex("944400f4b88ac9589a0f17ed4671da26bddb668b")); t.value = 1000; t.data = u256s(); cnote << RLP(t.rlp(false)); - cnote << asHex(t.rlp(false)); + cnote << toHex(t.rlp(false)); cnote << t.sha3(false); t.sign(p.secret()); cnote << RLP(t.rlp(true)); - cnote << asHex(t.rlp(true)); + cnote << toHex(t.rlp(true)); cnote << t.sha3(true); assert(t.sender() == p.address()); } @@ -55,7 +56,7 @@ int cryptoTest() #if 0 // Test transaction. - bytes tx = fromUserHex("88005401010101010101010101010101010101010101011f0de0b6b3a76400001ce8d4a5100080181c373130a009ba1f10285d4e659568bfcfec85067855c5a3c150100815dad4ef98fd37cf0593828c89db94bd6c64e210a32ef8956eaa81ea9307194996a3b879441f5d"); + bytes tx = fromHex("88005401010101010101010101010101010101010101011f0de0b6b3a76400001ce8d4a5100080181c373130a009ba1f10285d4e659568bfcfec85067855c5a3c150100815dad4ef98fd37cf0593828c89db94bd6c64e210a32ef8956eaa81ea9307194996a3b879441f5d"); cout << "TX: " << RLP(tx) << endl; Transaction t2(tx); @@ -69,13 +70,13 @@ int cryptoTest() t.receiveAddress = toAddress(sha3("123")); bytes sig64 = toBigEndian(t.vrs.r) + toBigEndian(t.vrs.s); - cout << "SIG: " << sig64.size() << " " << asHex(sig64) << " " << t.vrs.v << endl; + cout << "SIG: " << sig64.size() << " " << toHex(sig64) << " " << t.vrs.v << endl; auto msg = t.rlp(false); cout << "TX w/o SIG: " << RLP(msg) << endl; - cout << "RLP(TX w/o SIG): " << asHex(t.rlpString(false)) << endl; + cout << "RLP(TX w/o SIG): " << toHex(t.rlpString(false)) << endl; std::string hmsg = sha3(t.rlpString(false), false); - cout << "SHA256(RLP(TX w/o SIG)): 0x" << asHex(hmsg) << endl; + cout << "SHA256(RLP(TX w/o SIG)): 0x" << toHex(hmsg) << endl; bytes privkey = sha3Bytes("123"); @@ -84,12 +85,12 @@ int cryptoTest() int pubkeylen = 65; int ret = secp256k1_ecdsa_seckey_verify(privkey.data()); - cout << "SEC: " << dec << ret << " " << asHex(privkey) << endl; + cout << "SEC: " << dec << ret << " " << toHex(privkey) << endl; ret = secp256k1_ecdsa_pubkey_create(pubkey.data(), &pubkeylen, privkey.data(), 1); pubkey.resize(pubkeylen); int good = secp256k1_ecdsa_pubkey_verify(pubkey.data(), (int)pubkey.size()); - cout << "PUB: " << dec << ret << " " << pubkeylen << " " << asHex(pubkey) << (good ? " GOOD" : " BAD") << endl; + cout << "PUB: " << dec << ret << " " << pubkeylen << " " << toHex(pubkey) << (good ? " GOOD" : " BAD") << endl; } // Test roundtrip... @@ -97,17 +98,17 @@ int cryptoTest() bytes sig(64); u256 nonce = 0; int v = 0; - cout << asHex(hmsg) << endl; - cout << asHex(privkey) << endl; + cout << toHex(hmsg) << endl; + cout << toHex(privkey) << endl; cout << hex << nonce << dec << endl; int ret = secp256k1_ecdsa_sign_compact((byte const*)hmsg.data(), (int)hmsg.size(), sig.data(), privkey.data(), (byte const*)&nonce, &v); - cout << "MYSIG: " << dec << ret << " " << sig.size() << " " << asHex(sig) << " " << v << endl; + cout << "MYSIG: " << dec << ret << " " << sig.size() << " " << toHex(sig) << " " << v << endl; bytes pubkey(65); int pubkeylen = 65; ret = secp256k1_ecdsa_recover_compact((byte const*)hmsg.data(), (int)hmsg.size(), (byte const*)sig.data(), pubkey.data(), &pubkeylen, 0, v); pubkey.resize(pubkeylen); - cout << "MYREC: " << dec << ret << " " << pubkeylen << " " << asHex(pubkey) << endl; + cout << "MYREC: " << dec << ret << " " << pubkeylen << " " << toHex(pubkey) << endl; } { @@ -115,8 +116,8 @@ int cryptoTest() int pubkeylen = 65; int ret = secp256k1_ecdsa_recover_compact((byte const*)hmsg.data(), (int)hmsg.size(), (byte const*)sig64.data(), pubkey.data(), &pubkeylen, 0, (int)t.vrs.v - 27); pubkey.resize(pubkeylen); - cout << "RECPUB: " << dec << ret << " " << pubkeylen << " " << asHex(pubkey) << endl; - cout << "SENDER: " << hex << low160(eth::sha3(bytesConstRef(&pubkey).cropped(1))) << dec << endl; + cout << "RECPUB: " << dec << ret << " " << pubkeylen << " " << toHex(pubkey) << endl; + cout << "SENDER: " << hex << toAddress(eth::sha3(bytesConstRef(&pubkey).cropped(1))) << dec << endl; } #endif return 0; |