wallet: Move dust and fee per kb into networks.js
This commit is contained in:
parent
562a492079
commit
45a72416c9
2 changed files with 15 additions and 11 deletions
|
@ -9,7 +9,9 @@ module.exports = {
|
||||||
},
|
},
|
||||||
pubKeyHash: 0x00,
|
pubKeyHash: 0x00,
|
||||||
scriptHash: 0x05,
|
scriptHash: 0x05,
|
||||||
wif: 0x80
|
wif: 0x80,
|
||||||
|
dustThreshold: 5430, //should be 546 https://github.com/bitcoin/bitcoin/pull/2760/files
|
||||||
|
feePerKb: 20000
|
||||||
},
|
},
|
||||||
dogecoin: {
|
dogecoin: {
|
||||||
magicPrefix: '\x19Dogecoin Signed Message:\n',
|
magicPrefix: '\x19Dogecoin Signed Message:\n',
|
||||||
|
@ -19,7 +21,9 @@ module.exports = {
|
||||||
},
|
},
|
||||||
pubKeyHash: 0x1e,
|
pubKeyHash: 0x1e,
|
||||||
scriptHash: 0x16,
|
scriptHash: 0x16,
|
||||||
wif: 0x9e
|
wif: 0x9e,
|
||||||
|
dustThreshold: 1000000,
|
||||||
|
feePerKb: 100000000
|
||||||
},
|
},
|
||||||
litecoin: {
|
litecoin: {
|
||||||
magicPrefix: '\x19Litecoin Signed Message:\n',
|
magicPrefix: '\x19Litecoin Signed Message:\n',
|
||||||
|
@ -29,7 +33,9 @@ module.exports = {
|
||||||
},
|
},
|
||||||
pubKeyHash: 0x30,
|
pubKeyHash: 0x30,
|
||||||
scriptHash: 0x05,
|
scriptHash: 0x05,
|
||||||
wif: 0xb0
|
wif: 0xb0,
|
||||||
|
dustThreshold: 1000,
|
||||||
|
feePerKb: 100000
|
||||||
},
|
},
|
||||||
testnet: {
|
testnet: {
|
||||||
magicPrefix: '\x18Bitcoin Signed Message:\n',
|
magicPrefix: '\x18Bitcoin Signed Message:\n',
|
||||||
|
@ -39,6 +45,8 @@ module.exports = {
|
||||||
},
|
},
|
||||||
pubKeyHash: 0x6f,
|
pubKeyHash: 0x6f,
|
||||||
scriptHash: 0xc4,
|
scriptHash: 0xc4,
|
||||||
wif: 0xef
|
wif: 0xef,
|
||||||
|
dustThreshold: 5430,
|
||||||
|
feePerKb: 20000
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,9 +20,6 @@ function Wallet(seed, network) {
|
||||||
this.addresses = []
|
this.addresses = []
|
||||||
this.changeAddresses = []
|
this.changeAddresses = []
|
||||||
|
|
||||||
// Dust value
|
|
||||||
this.dustThreshold = 5430
|
|
||||||
|
|
||||||
// Transaction output data
|
// Transaction output data
|
||||||
this.outputs = {}
|
this.outputs = {}
|
||||||
|
|
||||||
|
@ -182,7 +179,7 @@ function Wallet(seed, network) {
|
||||||
}
|
}
|
||||||
|
|
||||||
this.createTx = function(to, value, fixedFee, changeAddress) {
|
this.createTx = function(to, value, fixedFee, changeAddress) {
|
||||||
assert(value > this.dustThreshold, value + ' must be above dust threshold (' + this.dustThreshold + ' Satoshis)')
|
assert(value > network.dustThreshold, value + ' must be above dust threshold (' + network.dustThreshold + ' Satoshis)')
|
||||||
|
|
||||||
var utxos = getCandidateOutputs(value)
|
var utxos = getCandidateOutputs(value)
|
||||||
var accum = 0
|
var accum = 0
|
||||||
|
@ -206,7 +203,7 @@ function Wallet(seed, network) {
|
||||||
if (accum >= subTotal) {
|
if (accum >= subTotal) {
|
||||||
var change = accum - subTotal
|
var change = accum - subTotal
|
||||||
|
|
||||||
if (change > this.dustThreshold) {
|
if (change > network.dustThreshold) {
|
||||||
tx.addOutput(changeAddress || getChangeAddress(), change)
|
tx.addOutput(changeAddress || getChangeAddress(), change)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -235,13 +232,12 @@ function Wallet(seed, network) {
|
||||||
return sortByValueDesc
|
return sortByValueDesc
|
||||||
}
|
}
|
||||||
|
|
||||||
var feePerKb = 20000
|
|
||||||
function estimateFeePadChangeOutput(tx) {
|
function estimateFeePadChangeOutput(tx) {
|
||||||
var tmpTx = tx.clone()
|
var tmpTx = tx.clone()
|
||||||
tmpTx.addOutput(getChangeAddress(), 0)
|
tmpTx.addOutput(getChangeAddress(), 0)
|
||||||
|
|
||||||
var byteSize = tmpTx.toBuffer().length
|
var byteSize = tmpTx.toBuffer().length
|
||||||
return feePerKb * Math.ceil(byteSize / 1000)
|
return network.feePerKb * Math.ceil(byteSize / 1000)
|
||||||
}
|
}
|
||||||
|
|
||||||
function getChangeAddress() {
|
function getChangeAddress() {
|
||||||
|
|
Loading…
Reference in a new issue