ECPair: cease using Address for address encoding
This commit is contained in:
parent
5ce093739e
commit
588b346f5d
10 changed files with 27 additions and 22 deletions
|
@ -1,5 +1,5 @@
|
|||
var assert = require('assert')
|
||||
var base58check = require('bs58check')
|
||||
var bs58check = require('bs58check')
|
||||
var bcrypto = require('./crypto')
|
||||
var ecdsa = require('./ecdsa')
|
||||
var ecurve = require('ecurve')
|
||||
|
@ -7,7 +7,6 @@ var networks = require('./networks')
|
|||
var randomBytes = require('randombytes')
|
||||
var typeForce = require('typeforce')
|
||||
|
||||
var Address = require('./address')
|
||||
var BigInteger = require('bigi')
|
||||
|
||||
function findNetworkByWIFVersion (version) {
|
||||
|
@ -69,7 +68,7 @@ ECPair.fromPublicKeyBuffer = function (buffer, network) {
|
|||
}
|
||||
|
||||
ECPair.fromWIF = function (string) {
|
||||
var payload = base58check.decode(string)
|
||||
var payload = bs58check.decode(string)
|
||||
var version = payload.readUInt8(0)
|
||||
var compressed
|
||||
|
||||
|
@ -125,13 +124,18 @@ ECPair.prototype.toWIF = function () {
|
|||
buffer.writeUInt8(0x01, 33)
|
||||
}
|
||||
|
||||
return base58check.encode(buffer)
|
||||
return bs58check.encode(buffer)
|
||||
}
|
||||
|
||||
ECPair.prototype.getAddress = function () {
|
||||
var pubKey = this.getPublicKeyBuffer()
|
||||
var pubKeyHash = bcrypto.hash160(pubKey)
|
||||
|
||||
return new Address(bcrypto.hash160(pubKey), this.network.pubKeyHash)
|
||||
var payload = new Buffer(21)
|
||||
payload.writeUInt8(this.network.pubKeyHash, 0)
|
||||
pubKeyHash.copy(payload, 1)
|
||||
|
||||
return bs58check.encode(payload)
|
||||
}
|
||||
|
||||
ECPair.prototype.getPublicKeyBuffer = function () {
|
||||
|
|
|
@ -47,7 +47,7 @@ function verify (address, signature, message, network) {
|
|||
network: network
|
||||
})
|
||||
|
||||
return keyPair.getAddress().toString() === address.toString()
|
||||
return keyPair.getAddress() === address.toString()
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
var assert = require('assert')
|
||||
var bcrypto = require('./crypto')
|
||||
var bufferutils = require('./bufferutils')
|
||||
var ops = require('./opcodes')
|
||||
var scripts = require('./scripts')
|
||||
|
@ -36,7 +37,7 @@ function extractInput (txIn) {
|
|||
hashType = parsed.hashType
|
||||
pubKeys = scriptSig.chunks.slice(1)
|
||||
signatures = [parsed.signature]
|
||||
prevOutScript = ECPair.fromPublicKeyBuffer(pubKeys[0]).getAddress().toOutputScript()
|
||||
prevOutScript = Address.fromBase58Check(ECPair.fromPublicKeyBuffer(pubKeys[0]).getAddress()).toOutputScript()
|
||||
|
||||
break
|
||||
}
|
||||
|
@ -330,7 +331,7 @@ TransactionBuilder.prototype.sign = function (index, keyPair, redeemScript, hash
|
|||
|
||||
case 'pubkeyhash': {
|
||||
var pkh1 = redeemScript.chunks[2]
|
||||
var pkh2 = keyPair.getAddress().hash
|
||||
var pkh2 = bcrypto.hash160(keyPair.getPublicKeyBuffer())
|
||||
|
||||
assert.deepEqual(pkh1, pkh2, 'privateKey cannot sign for this input')
|
||||
pubKeys = [kpPubKey]
|
||||
|
@ -362,7 +363,7 @@ TransactionBuilder.prototype.sign = function (index, keyPair, redeemScript, hash
|
|||
|
||||
// we know nothin' Jon Snow, assume pubKeyHash
|
||||
} else {
|
||||
input.prevOutScript = keyPair.getAddress().toOutputScript()
|
||||
input.prevOutScript = Address.fromBase58Check(keyPair.getAddress()).toOutputScript()
|
||||
input.prevOutType = 'pubkeyhash'
|
||||
input.pubKeys = [kpPubKey]
|
||||
input.scriptType = input.prevOutType
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue