Skip to content
This repository was archived by the owner on Jun 3, 2020. It is now read-only.

Commit e42c497

Browse files
committed
package: use typeforce
1 parent c716367 commit e42c497

File tree

13 files changed

+46
-113
lines changed

13 files changed

+46
-113
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,8 @@
5151
"bigi": "^1.1.0",
5252
"bs58check": "1.0.3",
5353
"crypto-browserify": "^3.2.6",
54-
"ecurve": "1.0.0"
54+
"ecurve": "1.0.0",
55+
"typeforce": "0.0.2"
5556
},
5657
"devDependencies": {
5758
"async": "^0.9.0",

src/address.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
var assert = require('assert')
22
var base58check = require('bs58check')
3-
var enforceType = require('./types')
3+
var typeForce = require('typeforce')
44
var networks = require('./networks')
55
var scripts = require('./scripts')
66

@@ -14,7 +14,7 @@ function findScriptTypeByVersion(version) {
1414
}
1515

1616
function Address(hash, version) {
17-
enforceType('Buffer', hash)
17+
typeForce('Buffer', hash)
1818

1919
assert.strictEqual(hash.length, 20, 'Invalid hash length')
2020
assert.strictEqual(version & 0xff, version, 'Invalid version byte')

src/ecdsa.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
var assert = require('assert')
22
var crypto = require('crypto')
3-
var enforceType = require('./types')
3+
var typeForce = require('typeforce')
44

55
var BigInteger = require('bigi')
66
var ECSignature = require('./ecsignature')
@@ -10,8 +10,8 @@ var ONE = new Buffer([1])
1010

1111
// https://tools.ietf.org/html/rfc6979#section-3.2
1212
function deterministicGenerateK(curve, hash, d) {
13-
enforceType('Buffer', hash)
14-
enforceType(BigInteger, d)
13+
typeForce('Buffer', hash)
14+
typeForce('BigInteger', d)
1515

1616
// sanity check
1717
assert.equal(hash.length, 32, 'Hash must be 256 bit')

src/eckey.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ var assert = require('assert')
22
var base58check = require('bs58check')
33
var crypto = require('crypto')
44
var ecdsa = require('./ecdsa')
5-
var enforceType = require('./types')
5+
var typeForce = require('typeforce')
66
var networks = require('./networks')
77

88
var BigInteger = require('bigi')
@@ -50,7 +50,7 @@ ECKey.makeRandom = function(compressed, rng) {
5050
rng = rng || crypto.randomBytes
5151

5252
var buffer = rng(32)
53-
enforceType('Buffer', buffer)
53+
typeForce('Buffer', buffer)
5454
assert.equal(buffer.length, 32, 'Expected 256-bit Buffer from RNG')
5555

5656
var d = BigInteger.fromBuffer(buffer)

src/ecpubkey.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
var crypto = require('./crypto')
22
var ecdsa = require('./ecdsa')
3-
var enforceType = require('./types')
3+
var typeForce = require('typeforce')
44
var networks = require('./networks')
55

66
var Address = require('./address')
@@ -11,8 +11,8 @@ var secp256k1 = ecurve.getCurveByName('secp256k1')
1111
function ECPubKey(Q, compressed) {
1212
if (compressed === undefined) compressed = true
1313

14-
enforceType(ecurve.Point, Q)
15-
enforceType('Boolean', compressed)
14+
typeForce('Point', Q)
15+
typeForce('Boolean', compressed)
1616

1717
this.compressed = compressed
1818
this.Q = Q

src/ecsignature.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
var assert = require('assert')
2-
var enforceType = require('./types')
2+
var typeForce = require('typeforce')
33

44
var BigInteger = require('bigi')
55

66
function ECSignature(r, s) {
7-
enforceType(BigInteger, r)
8-
enforceType(BigInteger, s)
7+
typeForce('BigInteger', r)
8+
typeForce('BigInteger', s)
99

1010
this.r = r
1111
this.s = s

src/hdnode.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ var assert = require('assert')
22
var base58check = require('bs58check')
33
var bcrypto = require('./crypto')
44
var crypto = require('crypto')
5-
var enforceType = require('./types')
5+
var typeForce = require('typeforce')
66
var networks = require('./networks')
77

88
var BigInteger = require('bigi')
@@ -29,7 +29,7 @@ function findBIP32NetworkByVersion(version) {
2929
function HDNode(K, chainCode, network) {
3030
network = network || networks.bitcoin
3131

32-
enforceType('Buffer', chainCode)
32+
typeForce('Buffer', chainCode)
3333

3434
assert.equal(chainCode.length, 32, 'Expected chainCode length of 32, got ' + chainCode.length)
3535
assert(network.bip32, 'Unknown BIP32 constants for network')
@@ -53,7 +53,7 @@ HDNode.HIGHEST_BIT = 0x80000000
5353
HDNode.LENGTH = 78
5454

5555
HDNode.fromSeedBuffer = function(seed, network) {
56-
enforceType('Buffer', seed)
56+
typeForce('Buffer', seed)
5757

5858
assert(seed.length >= 16, 'Seed should be at least 128 bits')
5959
assert(seed.length <= 64, 'Seed should be at most 512 bits')

src/script.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
var assert = require('assert')
22
var bufferutils = require('./bufferutils')
33
var crypto = require('./crypto')
4-
var enforceType = require('./types')
4+
var typeForce = require('typeforce')
55
var opcodes = require('./opcodes')
66

77
function Script(buffer, chunks) {
8-
enforceType('Buffer', buffer)
9-
enforceType('Array', chunks)
8+
typeForce('Buffer', buffer)
9+
typeForce('Array', chunks)
1010

1111
this.buffer = buffer
1212
this.chunks = chunks
@@ -56,7 +56,7 @@ Script.fromBuffer = function(buffer) {
5656
}
5757

5858
Script.fromChunks = function(chunks) {
59-
enforceType('Array', chunks)
59+
typeForce('Array', chunks)
6060

6161
var bufferSize = chunks.reduce(function(accum, chunk) {
6262
if (Buffer.isBuffer(chunk)) {

src/scripts.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
var assert = require('assert')
2-
var enforceType = require('./types')
2+
var typeForce = require('typeforce')
33
var ops = require('./opcodes')
44

55
var ecurve = require('ecurve')
@@ -117,7 +117,7 @@ function isNullDataOutput(script) {
117117
}
118118

119119
function classifyOutput(script) {
120-
enforceType(Script, script)
120+
typeForce('Script', script)
121121

122122
if (isPubKeyHashOutput(script)) {
123123
return 'pubkeyhash'
@@ -135,7 +135,7 @@ function classifyOutput(script) {
135135
}
136136

137137
function classifyInput(script) {
138-
enforceType(Script, script)
138+
typeForce('Script', script)
139139

140140
if (isPubKeyHashInput(script)) {
141141
return 'pubkeyhash'
@@ -161,7 +161,7 @@ function pubKeyOutput(pubKey) {
161161

162162
// OP_DUP OP_HASH160 {pubKeyHash} OP_EQUALVERIFY OP_CHECKSIG
163163
function pubKeyHashOutput(hash) {
164-
enforceType('Buffer', hash)
164+
typeForce('Buffer', hash)
165165

166166
return Script.fromChunks([
167167
ops.OP_DUP,
@@ -174,7 +174,7 @@ function pubKeyHashOutput(hash) {
174174

175175
// OP_HASH160 {scriptHash} OP_EQUAL
176176
function scriptHashOutput(hash) {
177-
enforceType('Buffer', hash)
177+
typeForce('Buffer', hash)
178178

179179
return Script.fromChunks([
180180
ops.OP_HASH160,
@@ -185,7 +185,7 @@ function scriptHashOutput(hash) {
185185

186186
// m [pubKeys ...] n OP_CHECKMULTISIG
187187
function multisigOutput(m, pubKeys) {
188-
enforceType('Array', pubKeys)
188+
typeForce('Array', pubKeys)
189189

190190
assert(pubKeys.length >= m, 'Not enough pubKeys provided')
191191

@@ -204,14 +204,14 @@ function multisigOutput(m, pubKeys) {
204204

205205
// {signature}
206206
function pubKeyInput(signature) {
207-
enforceType('Buffer', signature)
207+
typeForce('Buffer', signature)
208208

209209
return Script.fromChunks([signature])
210210
}
211211

212212
// {signature} {pubKey}
213213
function pubKeyHashInput(signature, pubKey) {
214-
enforceType('Buffer', signature)
214+
typeForce('Buffer', signature)
215215

216216
return Script.fromChunks([signature, pubKey.toBuffer()])
217217
}

src/transaction.js

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
var assert = require('assert')
22
var bufferutils = require('./bufferutils')
33
var crypto = require('./crypto')
4-
var enforceType = require('./types')
4+
var typeForce = require('typeforce')
55
var opcodes = require('./opcodes')
66
var scripts = require('./scripts')
77

@@ -96,7 +96,7 @@ Transaction.prototype.addInput = function(hash, index, sequence, script) {
9696
if (sequence === undefined || sequence === null) {
9797
sequence = Transaction.DEFAULT_SEQUENCE
9898
}
99-
99+
100100
script = script || Script.EMPTY
101101

102102
if (typeof hash === 'string') {
@@ -108,10 +108,10 @@ Transaction.prototype.addInput = function(hash, index, sequence, script) {
108108

109109
}
110110

111-
enforceType('Buffer', hash)
112-
enforceType('Number', index)
113-
enforceType('Number', sequence)
114-
enforceType(Script, script)
111+
typeForce('Buffer', hash)
112+
typeForce('Number', index)
113+
typeForce('Number', sequence)
114+
typeForce('Script', script)
115115

116116
assert.equal(hash.length, 32, 'Expected hash length of 32, got ' + hash.length)
117117

@@ -144,8 +144,8 @@ Transaction.prototype.addOutput = function(scriptPubKey, value) {
144144
scriptPubKey = scriptPubKey.toOutputScript()
145145
}
146146

147-
enforceType(Script, scriptPubKey)
148-
enforceType('Number', value)
147+
typeForce('Script', scriptPubKey)
148+
typeForce('Number', value)
149149

150150
// Add the output and return the output's index
151151
return (this.outs.push({
@@ -197,9 +197,9 @@ Transaction.prototype.hashForSignature = function(inIndex, prevOutScript, hashTy
197197
prevOutScript = tmp
198198
}
199199

200-
enforceType('Number', inIndex)
201-
enforceType(Script, prevOutScript)
202-
enforceType('Number', hashType)
200+
typeForce('Number', inIndex)
201+
typeForce('Script', prevOutScript)
202+
typeForce('Number', hashType)
203203

204204
assert(inIndex >= 0, 'Invalid vin index')
205205
assert(inIndex < this.ins.length, 'Invalid vin index')

0 commit comments

Comments
 (0)