Renamed files to ts
This commit is contained in:
parent
293116b20f
commit
bb98289501
44 changed files with 0 additions and 0 deletions
src
49
src/types.js
49
src/types.js
|
@ -1,49 +0,0 @@
|
|||
const typeforce = require('typeforce')
|
||||
|
||||
const UINT31_MAX = Math.pow(2, 31) - 1
|
||||
function UInt31 (value) {
|
||||
return typeforce.UInt32(value) && value <= UINT31_MAX
|
||||
}
|
||||
|
||||
function BIP32Path (value) {
|
||||
return typeforce.String(value) && value.match(/^(m\/)?(\d+'?\/)*\d+'?$/)
|
||||
}
|
||||
BIP32Path.toJSON = function () { return 'BIP32 derivation path' }
|
||||
|
||||
const SATOSHI_MAX = 21 * 1e14
|
||||
function Satoshi (value) {
|
||||
return typeforce.UInt53(value) && value <= SATOSHI_MAX
|
||||
}
|
||||
|
||||
// external dependent types
|
||||
const ECPoint = typeforce.quacksLike('Point')
|
||||
|
||||
// exposed, external API
|
||||
const Network = typeforce.compile({
|
||||
messagePrefix: typeforce.oneOf(typeforce.Buffer, typeforce.String),
|
||||
bip32: {
|
||||
public: typeforce.UInt32,
|
||||
private: typeforce.UInt32
|
||||
},
|
||||
pubKeyHash: typeforce.UInt8,
|
||||
scriptHash: typeforce.UInt8,
|
||||
wif: typeforce.UInt8
|
||||
})
|
||||
|
||||
// extend typeforce types with ours
|
||||
const types = {
|
||||
BIP32Path: BIP32Path,
|
||||
Buffer256bit: typeforce.BufferN(32),
|
||||
ECPoint: ECPoint,
|
||||
Hash160bit: typeforce.BufferN(20),
|
||||
Hash256bit: typeforce.BufferN(32),
|
||||
Network: Network,
|
||||
Satoshi: Satoshi,
|
||||
UInt31: UInt31
|
||||
}
|
||||
|
||||
for (var typeName in typeforce) {
|
||||
types[typeName] = typeforce[typeName]
|
||||
}
|
||||
|
||||
module.exports = types
|
Loading…
Add table
Add a link
Reference in a new issue