diff --git a/lib/bcoin/chaindb.js b/lib/bcoin/chaindb.js index 98eaf221..d4baaf3f 100644 --- a/lib/bcoin/chaindb.js +++ b/lib/bcoin/chaindb.js @@ -5,6 +5,18 @@ * https://github.com/bcoin-org/bcoin */ +var bcoin = require('./env'); +var EventEmitter = require('events').EventEmitter; +var constants = bcoin.protocol.constants; +var utils = require('./utils'); +var assert = utils.assert; +var pad32 = utils.pad32; +var DUMMY = new Buffer([0]); +var BufferWriter = require('./writer'); +var BufferReader = require('./reader'); +var Framer = bcoin.protocol.framer; +var Parser = bcoin.protocol.parser; + /* * Database Layout: * R -> tip hash @@ -18,23 +30,11 @@ * u[hash] -> undo coins * T[addr-hash][hash] -> dummy (tx by address) * C[addr-hash][hash][index] -> dummy (coin by address) - * A[witaddr-hash][hash] -> dummy (tx by address) - * B[witaddr-hash][hash][index] -> dummy (coin by address) + * W+T[witaddr-hash][hash] -> dummy (tx by address) + * W+C[witaddr-hash][hash][index] -> dummy (coin by address) * q[height] -> block hash to be pruned */ -var bcoin = require('./env'); -var EventEmitter = require('events').EventEmitter; -var constants = bcoin.protocol.constants; -var utils = require('./utils'); -var assert = utils.assert; -var pad32 = utils.pad32; -var DUMMY = new Buffer([0]); -var BufferWriter = require('./writer'); -var BufferReader = require('./reader'); -var Framer = bcoin.protocol.framer; -var Parser = bcoin.protocol.parser; - var layout = { R: function R() { var key = new BufferWriter(); @@ -127,8 +127,8 @@ var layout = { }, T: function T(address, hash) { var key = new BufferWriter(); - if (address.length === 64) - key.writeU8(0x41); // A + if (address.length === 32 || address.length === 64) + key.writeU8(0xab); // W + T else key.writeU8(0x54); // T key.writeHash(address); @@ -140,8 +140,8 @@ var layout = { }, C: function C(address, hash, index) { var key = new BufferWriter(); - if (address.length === 64) - key.writeU8(0x42); // B + if (address.length === 32 || address.length === 64) + key.writeU8(0x9a); // W + C else key.writeU8(0x43); // C key.writeHash(address);