Commit js, ts, and definitions in separate folders
This commit is contained in:
parent
e7ac2b9a4e
commit
bc28949056
148 changed files with 3850 additions and 39 deletions
ts_src
49
ts_src/types.ts
Normal file
49
ts_src/types.ts
Normal file
|
@ -0,0 +1,49 @@
|
|||
const typeforce = require('typeforce')
|
||||
|
||||
const UINT31_MAX: number = Math.pow(2, 31) - 1
|
||||
export function UInt31 (value: number): boolean {
|
||||
return typeforce.UInt32(value) && value <= UINT31_MAX
|
||||
}
|
||||
|
||||
export function BIP32Path (value: string): boolean {
|
||||
return typeforce.String(value) && !!value.match(/^(m\/)?(\d+'?\/)*\d+'?$/)
|
||||
}
|
||||
BIP32Path.toJSON = function () { return 'BIP32 derivation path' }
|
||||
|
||||
const SATOSHI_MAX: number = 21 * 1e14
|
||||
export function Satoshi (value: number): boolean {
|
||||
return typeforce.UInt53(value) && value <= SATOSHI_MAX
|
||||
}
|
||||
|
||||
// external dependent types
|
||||
export const ECPoint = typeforce.quacksLike('Point')
|
||||
|
||||
// exposed, external API
|
||||
export 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
|
||||
})
|
||||
|
||||
export const Buffer256bit = typeforce.BufferN(32)
|
||||
export const Hash160bit = typeforce.BufferN(20)
|
||||
export const Hash256bit = typeforce.BufferN(32)
|
||||
export const Number = typeforce.Number
|
||||
export const Array = typeforce.Array
|
||||
export const Boolean = typeforce.Boolean
|
||||
export const String = typeforce.String
|
||||
export const Buffer = typeforce.Buffer
|
||||
export const Hex = typeforce.Hex
|
||||
export const maybe = typeforce.maybe
|
||||
export const tuple = typeforce.tuple
|
||||
export const UInt8 = typeforce.UInt8
|
||||
export const UInt32 = typeforce.UInt32
|
||||
export const Function = typeforce.Function
|
||||
export const BufferN = typeforce.BufferN
|
||||
export const Null = typeforce.Null
|
||||
export const oneOf = typeforce.oneOf
|
Loading…
Add table
Add a link
Reference in a new issue