Options
All
  • Public
  • Public/Protected
  • All
Menu

Index

Enumerations

Interfaces

Type aliases

Variables

Functions

Object literals

Type aliases

Curve

Curve: "Secp256k1" | "Secp256r1"

Secp256k1 for BTC, ETH Secp256r1 for NEO

FillPoolFn

FillPoolFn: (arg: { blockchain: Blockchain; client_dh_publics: string[] }) => Promise<string[]>

Type declaration

    • (arg: { blockchain: Blockchain; client_dh_publics: string[] }): Promise<string[]>
    • Parameters

      • arg: { blockchain: Blockchain; client_dh_publics: string[] }
        • blockchain: Blockchain
        • client_dh_publics: string[]

      Returns Promise<string[]>

GenerateProofFn

GenerateProofFn: (arg: {}) => Promise<Proof>

Type declaration

    • (arg: {}): Promise<Proof>
    • Parameters

      • arg: {}

      Returns Promise<Proof>

Variables

Const ADDR_VERSION

ADDR_VERSION: "17" = "17"

Const BLOCK_RPOOL_SIZE

BLOCK_RPOOL_SIZE: 8 = 8

Const BN

BN: BigNumber = BigNumber.clone({ DECIMAL_PLACES: 16, ROUNDING_MODE: BigNumber.ROUND_FLOOR })

Const BuyOrSellBuy

BuyOrSellBuy: "BUY" = "BUY"

Const BuyOrSellSell

BuyOrSellSell: "SELL" = "SELL"

Const EPOCH_START

EPOCH_START: 155000000000 = 155000000000

Const MIN_RPOOL_SIZE

MIN_RPOOL_SIZE: 50 = 50

Const MovementTypeDeposit

MovementTypeDeposit: "DEPOSIT" = "DEPOSIT"

Const MovementTypeWithdrawal

MovementTypeWithdrawal: "WITHDRAWAL" = "WITHDRAWAL"

Const N

N: number = 2 ** 16

Const NONCE_SIZE

NONCE_SIZE: 12 = 12

Const ORDER_NONCE_IGNORE

ORDER_NONCE_IGNORE: 4294967295 = 4294967295

Const RPOOL_SIZE

RPOOL_SIZE: 100 = 100

Const SECRET_KEY_SIZE_BYTES

SECRET_KEY_SIZE_BYTES: 16 = 16

Const bip44Purpose

bip44Purpose: 44 = 44

Const canonicalString

canonicalString: (a1: A1) => R4 = compose(toLower,JSON.stringify,o =>Object.keys(o).sort().reduce((acc, el) => ({ ...acc, [el]: o[el] }), {}),deep(mapKeys(snakeCase)))

Generates the canonical string for a given payload.

The canonical string is a human-readable JSON representation of the payload parameters. The keys are alphabetized, and are represented in snake case.

Type declaration

    • (a1: A1): R4
    • Parameters

      • a1: A1

      Returns R4

Const curve

curve: ec = new EC('secp256k1')

Const dkLen

dkLen: 32 = 32

Const ellipticContext

ellipticContext: ec = new EC.ec('secp256k1')

Const hexRegex

hexRegex: RegExp = /^([0-9A-Fa-f]{2})*$/

Const length

length: 32 = 32

Const maxFeeRate

maxFeeRate: 250000 = 250000

Const maxOrderRate

maxOrderRate: "ffffffffffffffff" = "ffffffffffffffff"

Const minOrderRate

minOrderRate: 0 = 0

Const nashPurpose

nashPurpose: 1337 = 1337

Const p

p: 1 = 1

Const paillierPKs

paillierPKs: Map<string, Promise<string>> = new Map<string, Promise<string>>()

Const r

r: 8 = 8

Functions

Keccak256

  • Keccak256(data: string): Buffer
  • Parameters

    • data: string

    Returns Buffer

_fill

  • Parameters

    Returns Promise<void>

ab2hexstring

  • ab2hexstring(arr: ArrayBuffer | ArrayLike<number>): string
  • Parameters

    • arr: ArrayBuffer | ArrayLike<number>

    Returns string

addRawBlockchainOrderData

  • todo

    Add documentation.

    Parameters

    Returns object

addRawPresignBlockchainOrderData

alterOrderPayloadForGraphql

  • alterOrderPayloadForGraphql(payload: any): any
  • Parameters

    • payload: any

    Returns any

Const bitcoinAddressFromPublicKey

  • bitcoinAddressFromPublicKey(publicKey: Buffer, net: string): string
  • Parameters

    • publicKey: Buffer
    • net: string

    Returns string

Const bitcoinNetworkFromString

  • bitcoinNetworkFromString(net: string | undefined): Network
  • Parameters

    • net: string | undefined

    Returns Network

bufferize

  • bufferize(str: string): Buffer
  • Converts a hex string to a buffer. Used for consistency to ensure the proper canonical string representation for buffers.

    See bufferize.ts.

    Parameters

    • str: string

    Returns Buffer

buildETHMovementSignatureData

  • buildETHMovementSignatureData(address: string, payloadAndKind: PayloadAndKind): string
  • Parameters

    Returns string

buildETHOrderSignatureData

  • buildETHOrderSignatureData(address: string, marketData: Config["marketData"], payloadAndKind: PayloadAndKind, chainNoncePair: ChainNoncePair): string
  • Parameters

    Returns string

buildMovementSignatureData

buildNEOMovementSignatureData

  • buildNEOMovementSignatureData(address: string, publicKey: string, assetData: Config["assetData"], payloadAndKind: PayloadAndKind): string
  • Parameters

    • address: string
    • publicKey: string
    • assetData: Config["assetData"]
    • payloadAndKind: PayloadAndKind

    Returns string

buildNEOOrderSignatureData

  • buildNEOOrderSignatureData(address: string, publicKey: string, assetData: Config["assetData"], marketData: Config["marketData"], payloadAndKind: PayloadAndKind, chainNoncePair: ChainNoncePair): string
  • Parameters

    • address: string
    • publicKey: string
    • assetData: Config["assetData"]
    • marketData: Config["marketData"]
    • payloadAndKind: PayloadAndKind
    • chainNoncePair: ChainNoncePair

    Returns string

Const canonicalizePayload

  • Different payload types have different preprocessing strategies. This is a convenience function to properly process various payloads.

    Parameters

    Returns string

Const coinTypeFromString

  • coinTypeFromString(s: string): CoinType
  • Parameters

    • s: string

    Returns CoinType

computePresig

constructLength

  • constructLength(arr: number[], len: number): void
  • Parameters

    • arr: number[]
    • len: number

    Returns void

convertEthNonce

  • convertEthNonce(nonce: number): string
  • Parameters

    • nonce: number

    Returns string

createAPIKey

  • createAPIKey(__namedParameters: { curve: "Secp256k1" | "Secp256r1"; generateProofFn: (arg: {}) => Promise<Proof>; secret: string }): Promise<SignKey>
  • Parameters

    • __namedParameters: { curve: "Secp256k1" | "Secp256r1"; generateProofFn: (arg: {}) => Promise<Proof>; secret: string }
      • curve: "Secp256k1" | "Secp256r1"
      • generateProofFn: (arg: {}) => Promise<Proof>
          • (arg: {}): Promise<Proof>
          • Parameters

            • arg: {}

            Returns Promise<Proof>

      • secret: string

    Returns Promise<SignKey>

createAccountPortfolioParams

  • createAccountPortfolioParams(fiatSymbol?: undefined | string, period?: undefined | string): PayloadAndKind
  • Parameters

    • Optional fiatSymbol: undefined | string
    • Optional period: undefined | string

    Returns PayloadAndKind

createAddMovementParams

  • Parameters

    • address: string
    • quantity: object
    • type: string
    • nonce: number
    • Optional timestamp: undefined | number
    • Optional recycledOrders: ClientSignedState[]
    • Optional digests: TransactionDigest[]

    Returns PayloadAndKind

createCancelOrderParams

  • createCancelOrderParams(id: string, marketName: string): PayloadAndKind
  • Parameters

    • id: string
    • marketName: string

    Returns PayloadAndKind

createGetAccountAddressParams

  • Parameters

    • currency: string

    Returns PayloadAndKind

createGetAccountBalanceParams

  • Parameters

    • currency: string

    Returns PayloadAndKind

createGetAccountOrderParams

  • Parameters

    • id: string

    Returns PayloadAndKind

createGetAccountVolumesParams

createGetAssetsNoncesParams

  • Parameters

    • assets: string[]

    Returns PayloadAndKind

createGetDepositAddressParams

  • Parameters

    • currency: string

    Returns PayloadAndKind

createGetMovementParams

  • Parameters

    • id: number

    Returns PayloadAndKind

createGetOrdersForMovementParams

  • Parameters

    • unit: string

    Returns PayloadAndKind

createGetStatesParams

Const createHashedMessage

  • createHashedMessage(data: string): Buffer
  • Parameters

    • data: string

    Returns Buffer

createListAccountBalanceParams

  • createListAccountBalanceParams(ignoreLowBalance?: boolean): PayloadAndKind
  • Parameters

    • Default value ignoreLowBalance: boolean = false

    Returns PayloadAndKind

createListAccountOrdersParams

  • createListAccountOrdersParams(before?: undefined | string, buyOrSell?: undefined | string, limit?: undefined | number, marketName?: undefined | string, rangeStart?: undefined | string, rangeStop?: undefined | string, status?: [string], type?: [string]): PayloadAndKind
  • Parameters

    • Optional before: undefined | string
    • Optional buyOrSell: undefined | string
    • Optional limit: undefined | number
    • Optional marketName: undefined | string
    • Optional rangeStart: undefined | string
    • Optional rangeStop: undefined | string
    • Optional status: [string]
    • Optional type: [string]

    Returns PayloadAndKind

createListAccountTradesParams

  • createListAccountTradesParams(before?: undefined | string, limit?: undefined | number, marketName?: undefined | string): PayloadAndKind
  • Parameters

    • Optional before: undefined | string
    • Optional limit: undefined | number
    • Optional marketName: undefined | string

    Returns PayloadAndKind

createListAccountTransactionsParams

  • createListAccountTransactionsParams(cursor?: undefined | string, fiatSymbol?: undefined | string, limit?: undefined | number): PayloadAndKind
  • Parameters

    • Optional cursor: undefined | string
    • Optional fiatSymbol: undefined | string
    • Optional limit: undefined | number

    Returns PayloadAndKind

createListMovementsParams

  • createListMovementsParams(currency?: undefined | string, status?: undefined | string, type?: undefined | string): PayloadAndKind
  • Parameters

    • Optional currency: undefined | string
    • Optional status: undefined | string
    • Optional type: undefined | string

    Returns PayloadAndKind

createPlaceLimitOrderParams

  • createPlaceLimitOrderParams(allowTaker: boolean, amount: object, buyOrSell: string, cancellationPolicy: string, limitPrice: object, marketName: string, noncesFrom: number[], noncesTo: number[], nonceOrder?: undefined | number, cancelAt?: undefined | string): PayloadAndKind
  • Parameters

    • allowTaker: boolean
    • amount: object
    • buyOrSell: string
    • cancellationPolicy: string
    • limitPrice: object
    • marketName: string
    • noncesFrom: number[]
    • noncesTo: number[]
    • Optional nonceOrder: undefined | number
    • Optional cancelAt: undefined | string

    Returns PayloadAndKind

createPlaceMarketOrderParams

  • createPlaceMarketOrderParams(amount: object, buyOrSell: string, marketName: string, noncesFrom: number[], noncesTo: number[], nonceOrder?: undefined | number): PayloadAndKind
  • Parameters

    • amount: object
    • buyOrSell: string
    • marketName: string
    • noncesFrom: number[]
    • noncesTo: number[]
    • Optional nonceOrder: undefined | number

    Returns PayloadAndKind

createPlaceStopLimitOrderParams

  • createPlaceStopLimitOrderParams(allowTaker: boolean, amount: object, buyOrSell: string, cancellationPolicy: string, limitPrice: object, marketName: string, stopPrice: object, noncesFrom: number[], noncesTo: number[], nonceOrder?: undefined | number, cancelAt?: undefined | string): PayloadAndKind
  • Parameters

    • allowTaker: boolean
    • amount: object
    • buyOrSell: string
    • cancellationPolicy: string
    • limitPrice: object
    • marketName: string
    • stopPrice: object
    • noncesFrom: number[]
    • noncesTo: number[]
    • Optional nonceOrder: undefined | number
    • Optional cancelAt: undefined | string

    Returns PayloadAndKind

createPlaceStopMarketOrderParams

  • createPlaceStopMarketOrderParams(amount: object, buyOrSell: string, marketName: string, stopPrice: object, noncesFrom: number[], noncesTo: number[], nonceOrder?: undefined | number): PayloadAndKind
  • Parameters

    • amount: object
    • buyOrSell: string
    • marketName: string
    • stopPrice: object
    • noncesFrom: number[]
    • noncesTo: number[]
    • Optional nonceOrder: undefined | number

    Returns PayloadAndKind

createPrepareMovementParams

  • createPrepareMovementParams(address: string, quantity: object, type: string, timestamp?: undefined | number): PayloadAndKind
  • Parameters

    • address: string
    • quantity: object
    • type: string
    • Optional timestamp: undefined | number

    Returns PayloadAndKind

createSendBlockchainRawTransactionParams

  • createSendBlockchainRawTransactionParams(blockchain: string, transactionPayload: string): PayloadAndKind
  • Parameters

    • blockchain: string
    • transactionPayload: string

    Returns PayloadAndKind

createSignStatesParams

createSyncStatesParams

Const createTimestamp

  • createTimestamp(): number
  • Returns the number of milliseconds since the Unix Epoch.

    Returns number

Const createTimestamp32

  • createTimestamp32(): number
  • Returns number

decodeAPIKeys

  • decodeAPIKeys(encoded: string): APIKey
  • Parameters

    • encoded: string

    Returns APIKey

decryptSecretKey

  • decryptSecretKey(encryptionKey: Buffer, aead: AEAD): Promise<Buffer>
  • Decrypts an encrypted secret key via AEAD. Takes an AEAD object.

    See encryptSecretKey.ts.

    Parameters

    • encryptionKey: Buffer
    • aead: AEAD

    Returns Promise<Buffer>

Const deep

  • deep(fn: (x: any) => any): (Anonymous function)
  • Parameters

    • fn: (x: any) => any
        • (x: any): any
        • Parameters

          • x: any

          Returns any

    Returns (Anonymous function)

deriveIndex

  • deriveIndex(extendedKey: BIP32Interface, index: number): BIP32Interface
  • Derives a new key from the extended key for the given index.

    Parameters

    • extendedKey: BIP32Interface
    • index: number

    Returns BIP32Interface

derivePath

  • derivePath(masterSeed: Buffer, purpose: number, coinType: CoinType, account: number, change: number): BIP32Interface
  • Parameters

    • masterSeed: Buffer
    • purpose: number
    • coinType: CoinType
    • account: number
    • change: number

    Returns BIP32Interface

determineSignatureNonceTuplesNeeded

  • todo

    Add documentation.

    Parameters

    Returns ChainNoncePair[]

encodeApiKeys

  • encodeApiKeys(key: APIKey): string
  • Parameters

    Returns string

encryptSecretKey

  • encryptSecretKey(encryptionKey: Buffer, secretKey: Buffer): AEAD
  • Encrypts a secret key via AEAD. Returns an AEAD object. This object is stored server-side, while the encryption key is never stored. When authenticating, the server returns the AEAD object while the client must generate the encryption key on the fly from the user's password using getHKDFKeyFromPassword.ts.

    Uses aes-256-gcm.

    See decryptSecretKey.ts.

    Parameters

    • encryptionKey: Buffer
    • secretKey: Buffer

    Returns AEAD

ensureHex

  • ensureHex(str: string): void
  • Throws an error if input is not hexstring.

    Parameters

    • str: string

    Returns void

fillRPool

  • Parameters

    Returns Promise<void>

fillRPoolIfNeeded

  • Parameters

    Returns Promise<void>

generateAPIKeys

generateBIP44Key

  • generateBIP44Key(masterSeed: Buffer, coinType: CoinType, index: number): BIP32Interface
  • Generates a deterministic key according to the BIP-44 spec.

    M' / purpose' / coin' / account' / change / index M' / 44' / coin' / 0' / 0

    Parameters

    • masterSeed: Buffer
    • coinType: CoinType
    • index: number

    Returns BIP32Interface

generateNashPayloadSigningKey

  • generateNashPayloadSigningKey(masterSeed: Buffer, index: number): Wallet
  • Creates the keypair used for signing payloads. Used during Nash Protocol initialization.

    Parameters

    • masterSeed: Buffer
    • index: number

    Returns Wallet

generateWallet

  • generateWallet(masterSeed: Buffer, coinType: CoinType, index: number, net?: undefined | string): Wallet
  • Creates a wallet for a given token via the BIP-44 protocol.

    Requires the user's master seed.

    Parameters

    • masterSeed: Buffer
    • coinType: CoinType
    • index: number
    • Optional net: undefined | string

    Returns Wallet

generateWalletForCoinType

  • generateWalletForCoinType(key: BIP32Interface, coinType: CoinType, index: number, net?: undefined | string): Wallet
  • Parameters

    • key: BIP32Interface
    • coinType: CoinType
    • index: number
    • Optional net: undefined | string

    Returns Wallet

Const getAddressFromScriptHash

  • getAddressFromScriptHash(scriptHash: string): string
  • Parameters

    • scriptHash: string

    Returns string

getBlockchainMovement

  • getBlockchainMovement(wallets: { btc: { address: string; publicKey: string }; eth: { address: string; publicKey: string }; neo: { address: string; publicKey: string } }, assets: Config["assetData"], payloadAndKind: PayloadAndKind): BlockchainMovement
  • Parameters

    • wallets: { btc: { address: string; publicKey: string }; eth: { address: string; publicKey: string }; neo: { address: string; publicKey: string } }
      • btc: { address: string; publicKey: string }
        • address: string
        • publicKey: string
      • eth: { address: string; publicKey: string }
        • address: string
        • publicKey: string
      • neo: { address: string; publicKey: string }
        • address: string
        • publicKey: string
    • assets: Config["assetData"]
    • payloadAndKind: PayloadAndKind

    Returns BlockchainMovement

getDhPoolSize

  • Parameters

    Returns Promise<number>

getETHAssetID

  • getETHAssetID(asset: string): string
  • Parameters

    • asset: string

    Returns string

getHKDFKeysFromPassword

  • getHKDFKeysFromPassword(password: string, salt: string): Promise<HKDFKeys>
  • Derives two keys from a given input key via HKDF.

    Specifically, we use this to derive keys from a user's hashed password and never use the hashed password directly. Thus, if one derived key is compromised, other keys are not affected.

    See the HKDFKeys interface for information on how Nash uses these keys.

    Parameters

    • password: string
    • salt: string

    Returns Promise<HKDFKeys>

getLimitPrice

  • getLimitPrice(marketName: string, buyOrSell: string, limitPrice: any): string
  • Parameters

    • marketName: string
    • buyOrSell: string
    • limitPrice: any

    Returns string

getNEOAssetHash

  • getNEOAssetHash(asset: Asset): string
  • Parameters

    Returns string

getNEOScriptHash

  • getNEOScriptHash(address: string): string
  • Parameters

    • address: string

    Returns string

Const getScriptHashFromAddress

  • getScriptHashFromAddress(address: string): string
  • Converts an address to scripthash.

    Parameters

    • address: string

    Returns string

getSecretKey

  • getSecretKey(): Buffer
  • Generates a secret key of Nash's desired length from a random entropy.

    This secret key is ultimately the foundation of a user's wallets, so should be treated with extreme care.

    Returns Buffer

getUnitPairs

  • getUnitPairs(market: string): any
  • Parameters

    • market: string

    Returns any

Const getVerificationScriptFromPublicKey

  • getVerificationScriptFromPublicKey(publicKey: string): string
  • Parameters

    • publicKey: string

    Returns string

Const hash

  • hash(hex: string, hashingFunction: (i: any) => WordArray): string
  • Parameters

    • hex: string
    • hashingFunction: (i: any) => WordArray
        • (i: any): WordArray
        • Parameters

          • i: any

          Returns WordArray

    Returns string

hash160

  • hash160(hex: string): string
  • Parameters

    • hex: string

    Returns string

hash256

  • hash256(hex: string): string
  • Parameters

    • hex: string

    Returns string

hashPassword

  • hashPassword(password: string, salt: string): Promise<Buffer>
  • Hashes a plaintext password via the scrypt key derivation function.

    Parameters

    • password: string
    • salt: string

    Returns Promise<Buffer>

inferBlockchainData

initialize

  • Parameters

    Returns Promise<Config>

isHex

  • isHex(str: string): boolean
  • Checks if input is a hexstring. Empty string is considered a hexstring.

    Parameters

    • str: string

    Returns boolean

isLimitOrderPayload

  • Parameters

    Returns boolean

isOrderPayload

  • Parameters

    Returns boolean

isStateSigning

  • Parameters

    Returns boolean

kindToName

  • Parameters

    Returns string

kindToOrderPrefix

  • Parameters

    Returns string

mnemonicToMasterSeed

  • mnemonicToMasterSeed(mnemonic: ReadonlyArray<string>): Buffer
  • Converts a BIP-39 mnemonic to its master seed representation. This representation is used to generate blockchain wallets.

    Parameters

    • mnemonic: ReadonlyArray<string>

    Returns Buffer

mnemonicToSecretKey

  • mnemonicToSecretKey(mnemonic: ReadonlyArray<string>): Buffer
  • Converts a BIP-39 mnemonic to its secret key representation.

    See secretKeyToMnemonic.ts.

    Parameters

    • mnemonic: ReadonlyArray<string>

    Returns Buffer

needBlockchainMovement

  • Parameters

    Returns boolean

needBlockchainSignature

  • Parameters

    Returns boolean

neoGetPublicKeyFromPrivateKey

  • neoGetPublicKeyFromPrivateKey(privateKey: string, encode?: boolean): string
  • Parameters

    • privateKey: string
    • Default value encode: boolean = true

    Returns string

normalizeAmount

  • normalizeAmount(amount: string, precision: number): number
  • Parameters

    • amount: string
    • precision: number

    Returns number

normalizeString

  • normalizeString(str: string): Buffer
  • Parameters

    • str: string

    Returns Buffer

preSignBTC

  • Parameters

    Returns Promise<BlockchainSignature>

preSignPayload

preSignStateListAndRecycledOrders

precisionDiff

  • precisionDiff(amount: string, precision: number): number
  • Parameters

    • amount: string
    • precision: number

    Returns number

presignBlockchainData

  • Presign blockchain data. Returns an array of signatures. Needed for operations such as order placement.

    If the operation occurs within the same blockchain origin, 1 signature is returned. For example, 1 signature is returned when trading NEO for GAS.

    If the operation is cross-chain, 2 signatures are returned. For example, two signatures are returned for a BTC-ETH trade.

    Parameters

    Returns Promise<ReadonlyArray<BlockchainSignature>>

presignETHBlockchainData

presignNEOBlockchainData

presignRecycledOrdersForAddMovement

presignStateList

presignTransactionDigestsForAddMovement

publicKeyFromSecretKey

  • publicKeyFromSecretKey(__namedParameters: { curve: "Secp256k1" | "Secp256r1"; secret: string }): Promise<string>
  • Parameters

    • __namedParameters: { curve: "Secp256k1" | "Secp256r1"; secret: string }
      • curve: "Secp256k1" | "Secp256r1"
      • secret: string

    Returns Promise<string>

randomBytes

  • randomBytes(bytes: number): Buffer
  • Returns an entropy with the given number of bytes. Works in both Node and the browser.

    Parameters

    • bytes: number

    Returns Buffer

regenerateMnemonic

  • regenerateMnemonic(aead: AEAD, password: string, salt: string): Promise<ReadonlyArray<string>>
  • Convenience function for retrieving a mnemonic from a user's password and AEAD. Simply derives the encryption key from the password, and uses that to decrypt the encrypted secret key, then derives the mnemonic from the key.

    Parameters

    • aead: AEAD
    • password: string
    • salt: string

    Returns Promise<ReadonlyArray<string>>

reverseHex

  • reverseHex(hex: string): string
  • Reverses a HEX string, treating 2 chars as a byte.

    example

    reverseHex('abcdef') = 'efcdab'

    Parameters

    • hex: string

    Returns string

reverseHexString

  • reverseHexString(hex: string): string
  • Parameters

    • hex: string

    Returns string

ripemd160

  • ripemd160(hex: string): string
  • Parameters

    • hex: string

    Returns string

rmPadding

  • rmPadding(buf: number[]): number[]
  • Parameters

    • buf: number[]

    Returns number[]

secretKeyToMnemonic

  • secretKeyToMnemonic(secretKey: Buffer): ReadonlyArray<string>
  • Converts a given secret key to its BIP-39 mnemonic representation.

    Returns the mnemonic as an array of words.

    See mnemonicToSecretKey.ts.

    Parameters

    • secretKey: Buffer

    Returns ReadonlyArray<string>

Const sha256

  • sha256(hex: string): string
  • sha256(msg: string): string
  • Parameters

    • hex: string

    Returns string

  • Parameters

    • msg: string

    Returns string

sign

  • sign(sk: string, msg: string): Promise<{ r: string; s: string }>
  • We can use this signing function instead of the one from elliptic. It is about 3/4 times faster in node environments

    Parameters

    • sk: string
    • msg: string

    Returns Promise<{ r: string; s: string }>

signBTC

  • Parameters

    • privateKey: string
    • message: string

    Returns BlockchainSignature

signBlockchainData

  • Signs blockchain data. Returns an array of signatures. Needed for operations such as order placement.

    If the operation occurs within the same blockchain origin, 1 signature is returned. For example, 1 signature is returned when trading NEO for GAS.

    If the operation is cross-chain, 2 signatures are returned. For example, two signatures are returned for a BTC-ETH trade.

    Parameters

    Returns ReadonlyArray<BlockchainSignature>

signETHBlockchainData

  • Parameters

    • privateKey: string
    • data: string

    Returns BlockchainSignature

signNEOBlockchainData

  • Parameters

    • privateKey: string
    • data: string

    Returns BlockchainSignature

signPayload

  • Signs a payload using a private key. The private key should be the key created by initialization of the Nash Protocol. Payloads are signed via ECDSA using secp256k1.

    If the payload to be signed is for a blockchain operation, the Config object must be passed as well to create the blockchain signatures.

    Refer to the documentation for the Config interface and to initialize.ts.

    Parameters

    Returns PayloadSignature

signRecycledOrdersForAddMovement

signStateList

signStateListAndRecycledOrders

signTransactionDigestsForAddMovement

snakeCase

  • snakeCase(obj: Record<string, any>): object
  • Parameters

    • obj: Record<string, any>

    Returns object

snakeCaseString

  • snakeCaseString(str: string): string
  • Parameters

    • str: string

    Returns string

stringify

  • stringify(buffer: Buffer): string
  • Converts a buffer to a hex string. Used for consistency to ensure the proper canonical string representation for buffers.

    See bufferize.ts.

    Parameters

    • buffer: Buffer

    Returns string

toBigEndian

  • toBigEndian(n: number): Buffer
  • Parameters

    • n: number

    Returns Buffer

toBigEndianHex

  • toBigEndianHex(n: number): string
  • Parameters

    • n: number

    Returns string

toDER

  • toDER(sig: { r: string; s: string }, enc: string): number[]
  • Parameters

    • sig: { r: string; s: string }
      • r: string
      • s: string
    • enc: string

    Returns number[]

toLittleEndian

  • toLittleEndian(n: number): Buffer
  • Parameters

    • n: number

    Returns Buffer

toLittleEndianHex

  • toLittleEndianHex(n: number): string
  • Parameters

    • n: number

    Returns string

validateMnemonic

  • validateMnemonic(mnemonic: ReadonlyArray<string>): boolean
  • Checks if an array of BIP39 words forms a valid BIP39 mnemonic. Note that Nash uses 12-word mnemonics, but this function will return true for a spec compliant mnemonic of any length.

    Parameters

    • mnemonic: ReadonlyArray<string>

      An array of words to validate.

    Returns boolean

Object literals

Const BlockchainCurve

BlockchainCurve: object

__computed

__computed: "Secp256r1" = "Secp256r1"

Const PayloadIDToName

PayloadIDToName: object

__computed

__computed: string = "prepare_movement"

Const _FILL_JOB

_FILL_JOB: object

Secp256k1

Secp256k1: null = null

Secp256r1

Secp256r1: null = null

Const bigNumberFormat

bigNumberFormat: object

decimalSeparator

decimalSeparator: string = "."

groupSeparator

groupSeparator: string = ""

groupSize

groupSize: number = 50

prefix

prefix: string = ""

Legend

  • Property

Generated using TypeDoc