Options
All
  • Public
  • Public/Protected
  • All
Menu

blockstack

Index

Classes

Interfaces

Type aliases

Variables

Functions

Object literals

Type aliases

AmountType

AmountTypeV1

AmountTypeV1: number

AmountTypeV2

AmountTypeV2: object

Type declaration

  • amount: BN
  • units: string

AuthMetadata

AuthMetadata: object

Type declaration

  • Optional email?: string
  • Optional profileUrl?: string

CipherObject

CipherObject: object

Type declaration

  • cipherText: string
  • ephemeralPK: string
  • iv: string
  • mac: string
  • wasString: boolean

ErrorType

ErrorType: object

Type declaration

  • code: string
  • message: string
  • Optional parameter?: string

GaiaHubConfig

GaiaHubConfig: object

Type declaration

  • address: string
  • server: string
  • token: string
  • url_prefix: string

GetFileOptions

GetFileOptions: object

Type declaration

  • Optional app?: string | null
  • Optional decrypt?: boolean
  • Optional username?: string | null
  • Optional verify?: boolean
  • Optional zoneFileLookupURL?: string | null

IdentityKeyPair

IdentityKeyPair: object

Type declaration

  • address: string
  • appsNodeKey: string
  • key: string
  • keyID: string
  • salt: string

PutFileOptions

PutFileOptions: object

Type declaration

  • Optional contentType?: string
  • Optional encrypt?: boolean | string
  • Optional sign?: boolean

SessionOptions

SessionOptions: object

Type declaration

  • Optional appPrivateKey?: string
  • Optional coreNode?: string
  • Optional hubUrl?: string
  • Optional identityAddress?: string
  • Optional localStorageKey?: string
  • Optional storeOptions?: object
    • Optional localStorageKey?: string
  • Optional transitKey?: string
  • Optional userData?: UserData
  • Optional username?: string

UTXO

UTXO: object

Type declaration

  • Optional confirmations?: number
  • tx_hash: string
  • tx_output_n: number
  • Optional value?: number

txPoint

txPoint: object

Type declaration

  • script: object
    • length: number

Variables

Const APPS_NODE_INDEX

APPS_NODE_INDEX: 0 = 0

Const AUTH_CONTINUATION_PARAM

AUTH_CONTINUATION_PARAM: "authContinuation" = "authContinuation"

Const BITCOIN_ACCOUNT_INDEX

BITCOIN_ACCOUNT_INDEX: 0 = 0

Const BITCOIN_BIP_44_PURPOSE

BITCOIN_BIP_44_PURPOSE: 44 = 44

Const BITCOIN_COIN_TYPE

BITCOIN_COIN_TYPE: 0 = 0

Const BLOCKSTACK_APP_PRIVATE_KEY_LABEL

BLOCKSTACK_APP_PRIVATE_KEY_LABEL: "blockstack-transit-private-key" = "blockstack-transit-private-key"

Const BLOCKSTACK_DEFAULT_GAIA_HUB_URL

BLOCKSTACK_DEFAULT_GAIA_HUB_URL: "https://hub.blockstack.org" = "https://hub.blockstack.org"

Const BLOCKSTACK_GAIA_HUB_LABEL

BLOCKSTACK_GAIA_HUB_LABEL: "blockstack-gaia-hub-config" = "blockstack-gaia-hub-config"

Const BLOCKSTACK_HANDLER

BLOCKSTACK_HANDLER: "blockstack" = "blockstack"

Const BLOCKSTACK_ON_BITCOIN

BLOCKSTACK_ON_BITCOIN: 0 = 0

Const BLOCKSTACK_STORAGE_LABEL

BLOCKSTACK_STORAGE_LABEL: "blockstack" = "blockstack"

Const CHANGE_ADDRESS

CHANGE_ADDRESS: "CHANGE_ADDRESS" = "CHANGE_ADDRESS"

Const DEFAULT_BLOCKSTACK_HOST

DEFAULT_BLOCKSTACK_HOST: "https://browser.blockstack.org/auth" = "https://browser.blockstack.org/auth"

Const DEFAULT_CORE_NODE

DEFAULT_CORE_NODE: "https://core.blockstack.org" = "https://core.blockstack.org"

Const DEFAULT_SCOPE

DEFAULT_SCOPE: string[] = ['store_write']

Const DUST_MINIMUM

DUST_MINIMUM: 5500 = 5500

Const ECHO_REPLY_PARAM

ECHO_REPLY_PARAM: "echoReply" = "echoReply"

Const EXTERNAL_ADDRESS

EXTERNAL_ADDRESS: "EXTERNAL_ADDRESS" = "EXTERNAL_ADDRESS"

Const GLOBAL_DETECTION_CACHE_KEY

GLOBAL_DETECTION_CACHE_KEY: "_blockstackDidCheckEchoReply" = "_blockstackDidCheckEchoReply"

This logic is in a separate file with no dependencies so that it can be loaded and executed as soon as possible to fulfill the purpose of the protocol detection technique. The effectiveness of this is obviously subject to how web apps bundle/consume the blockstack.js lib.

Const IDENTITY_KEYCHAIN

IDENTITY_KEYCHAIN: 888 = 888

Const LOCALSTORAGE_SESSION_KEY

LOCALSTORAGE_SESSION_KEY: "blockstack-session" = "blockstack-session"

Const LOCAL_REGTEST

LOCAL_REGTEST: LocalRegtest = new LocalRegtest('http://localhost:16268','http://localhost:16269',new BitcoindAPI('http://localhost:18332/',{ username: 'blockstack', password: 'blockstacksystem' }))

Const MAINNET_DEFAULT

MAINNET_DEFAULT: BlockstackNetwork = new BlockstackNetwork('https://core.blockstack.org','https://broadcast.blockstack.org',new BlockchainInfoApi())

Const NAME_LOOKUP_PATH

NAME_LOOKUP_PATH: "/v1/names" = "/v1/names"

Const SATOSHIS_PER_BTC

SATOSHIS_PER_BTC: 100000000 = 100000000

Const SESSION_VERSION

SESSION_VERSION: "1.0.0" = "1.0.0"

Const SIGNATURE_FILE_SUFFIX

SIGNATURE_FILE_SUFFIX: ".sig" = ".sig"

Const TX_BROADCAST_SERVICE_REGISTRATION_ENDPOINT

TX_BROADCAST_SERVICE_REGISTRATION_ENDPOINT: "registration" = "registration"

Const TX_BROADCAST_SERVICE_TX_ENDPOINT

TX_BROADCAST_SERVICE_TX_ENDPOINT: "transaction" = "transaction"

Const TX_BROADCAST_SERVICE_ZONE_FILE_ENDPOINT

TX_BROADCAST_SERVICE_ZONE_FILE_ENDPOINT: "zone-file" = "zone-file"

Const TX_EMPTY_SIZE

TX_EMPTY_SIZE: number = 4 + 1 + 1 + 4

Const TX_INPUT_BASE

TX_INPUT_BASE: number = 32 + 4 + 1 + 4

Const TX_INPUT_PUBKEYHASH

TX_INPUT_PUBKEYHASH: 107 = 107

Const TX_OUTPUT_BASE

TX_OUTPUT_BASE: number = 8 + 1

Const TX_OUTPUT_PUBKEYHASH

TX_OUTPUT_PUBKEYHASH: 25 = 25

Const VERSION

VERSION: "1.3.1" = "1.3.1"

Const dummyConsensusHash

dummyConsensusHash: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

Const dummyZonefileHash

dummyZonefileHash: "ffffffffffffffffffffffffffffffffffffffff" = "ffffffffffffffffffffffffffffffffffffffff"

Const ecurve

ecurve: ec = new EllipticCurve('secp256k1')

Const intToLevel

intToLevel: object

Type declaration

  • [int: number]: string

Const levelToInt

levelToInt: object

Type declaration

  • [level: string]: number

Const levels

levels: string[] = ['debug','info','warn','error','none']

Functions

addOwnerInput

  • addOwnerInput(utxos: UTXO[], ownerAddress: string, txB: bitcoinjs.TransactionBuilder, addChangeOut?: boolean): object
  • Parameters

    • utxos: UTXO[]
    • ownerAddress: string
    • txB: bitcoinjs.TransactionBuilder
    • Default value addChangeOut: boolean = true

    Returns object

    • index: number
    • value: number

Private addUTXOsToFund

  • addUTXOsToFund(txBuilderIn: bitcoinjs.TransactionBuilder, utxos: Array<UTXO>, amountToFund: number, feeRate: number, fundNewFees?: boolean): number
  • Adds UTXOs to fund a transaction

    Parameters

    • txBuilderIn: bitcoinjs.TransactionBuilder

      a transaction builder object to add the inputs to. this object is always mutated. If not enough UTXOs exist to fund, the tx builder object will still contain as many inputs as could be found.

    • utxos: Array<UTXO>
    • amountToFund: number

      the amount of satoshis to fund in the transaction. the payer's utxos will be included to fund up to this amount of output and the corresponding fees for those additional inputs

    • feeRate: number

      the satoshis/byte fee rate to use for fee calculation

    • Default value fundNewFees: boolean = true

      if true, this function will fund amountToFund and any new fees associated with including the new inputs. if false, this function will fund at most amountToFund

    Returns number

    • the amount of leftover change (in satoshis)

addressCanReceiveName

  • addressCanReceiveName(address: string): Promise<boolean>

aes256CbcDecrypt

  • aes256CbcDecrypt(iv: Buffer, key: Buffer, ciphertext: Buffer): Buffer
  • Parameters

    • iv: Buffer
    • key: Buffer
    • ciphertext: Buffer

    Returns Buffer

aes256CbcEncrypt

  • aes256CbcEncrypt(iv: Buffer, key: Buffer, plaintext: Buffer): Buffer
  • Parameters

    • iv: Buffer
    • key: Buffer
    • plaintext: Buffer

    Returns Buffer

asAmountV2

connectToGaiaHub

  • connectToGaiaHub(gaiaHubUrl: string, challengeSignerHex: string, associationToken?: string): Promise<GaiaHubConfig>

containsValidAddressProofStatement

  • containsValidAddressProofStatement(proofStatement: string, address: string): boolean

containsValidProofStatement

  • containsValidProofStatement(searchText: string, name?: string | null): boolean

decodeB40

  • decodeB40(input: string): string

decryptContent

  • decryptContent(content: string, options?: object, caller?: UserSession): string | Buffer
  • Decrypts data encrypted with encryptContent with the transit private key.

    Parameters

    • content: string

      encrypted content.

    • Optional options: object
      • Optional privateKey?: string

        the hex string of the ECDSA private key to use for decryption. If not provided, will use user's appPrivateKey.

    • Optional caller: UserSession

    Returns string | Buffer

    decrypted content.

Private decryptECIES

  • decryptECIES(privateKey: string, cipherObject: CipherObject): Buffer | string
  • Decrypt content encrypted using ECIES

    throws

    {Error} if unable to decrypt

    Parameters

    • privateKey: string

      secp256k1 private key hex string

    • cipherObject: CipherObject

      object to decrypt, should contain: iv (initialization vector), cipherText (cipher text), mac (message authentication code), ephemeralPublicKey wasString (boolean indicating with or not to return a buffer or string on decrypt)

    Returns Buffer | string

    plaintext

Private decryptLegacy

  • decryptLegacy(dataBuffer: Buffer, password: string): Promise<Buffer>
  • Decrypt legacy triplesec keys

    Parameters

    • dataBuffer: Buffer

      The encrypted key

    • password: string

      Password for data

    Returns Promise<Buffer>

    Decrypted seed

Private decryptMnemonic

  • decryptMnemonic(data: string | Buffer, password: string): Promise<string>
  • Encrypt a raw mnemonic phrase with a password

    Parameters

    • data: string | Buffer

      Buffer or hex-encoded string of the encrypted mnemonic

    • password: string

      Password for data

    Returns Promise<string>

    the raw mnemonic phrase

decryptMnemonicBuffer

  • decryptMnemonicBuffer(dataBuffer: Buffer, password: string): Promise<string>

Private decryptPrivateKey

  • decryptPrivateKey(privateKey: string, hexedEncrypted: string): string | null
  • Decrypts the hex encrypted private key

    throws

    {Error} if unable to decrypt

    Parameters

    • privateKey: string

      the private key corresponding to the public key for which the ciphertext was encrypted

    • hexedEncrypted: string

      the ciphertext

    Returns string | null

    the decrypted private key

deleteFile

  • deleteFile(path: string): void
  • Deletes the specified file from the app's data store. Currently not implemented.

    Parameters

    • path: string

      the path to the file to delete

    Returns void

    that resolves when the file has been removed or rejects with an error

Private doPublicKeysMatchIssuer

  • doPublicKeysMatchIssuer(token: string): boolean
  • Makes sure that the identity address portion of the decentralized identifier passed in the issuer iss key of the token matches the public key

    throws

    {Error} if token has multiple public keys

    Parameters

    • token: string

      encoded and signed authentication token

    Returns boolean

    if the identity address and public keys match

Private doPublicKeysMatchUsername

  • doPublicKeysMatchUsername(token: string, nameLookupURL: string): Promise<boolean>
  • Looks up the identity address that owns the claimed username in token using the lookup endpoint provided in nameLookupURL to determine if the username is owned by the identity address that matches the claimed public key

    Parameters

    • token: string

      encoded and signed authentication token

    • nameLookupURL: string

      a URL to the name lookup endpoint of the Blockstack Core API

    Returns Promise<boolean>

    returns a Promise that resolves to true if the username is owned by the public key, otherwise the Promise resolves to false

Private doSignaturesMatchPublicKeys

  • doSignaturesMatchPublicKeys(token: string): boolean
  • Checks if the ES256k signature on passed token match the claimed public key in the payload key public_keys.

    throws

    {Error} if token contains multiple public keys

    Parameters

    • token: string

      encoded and signed authentication token

    Returns boolean

    Returns true if the signature matches the claimed public key

ecPairToAddress

  • ecPairToAddress(keyPair: ECPair): string
  • Parameters

    • keyPair: ECPair

    Returns string

ecPairToHexString

  • ecPairToHexString(secretKey: ECPair): string
  • Parameters

    • secretKey: ECPair

    Returns string

encryptContent

  • encryptContent(content: string | Buffer, options?: object, caller?: UserSession): string
  • Encrypts the data provided with the app public key.

    Parameters

    • content: string | Buffer

      data to encrypt

    • Optional options: object
      • Optional publicKey?: string

        the hex string of the ECDSA public key to use for encryption. If not provided, will use user's appPublicKey.

    • Optional caller: UserSession

    Returns string

    Stringified ciphertext object

encryptECIES

  • encryptECIES(publicKey: string, content: string | Buffer): CipherObject
  • Encrypt content to elliptic curve publicKey using ECIES

    Parameters

    • publicKey: string

      secp256k1 public key hex string

    • content: string | Buffer

      content to encrypt

    Returns CipherObject

    Object containing (hex encoded): iv (initialization vector), cipherText (cipher text), mac (message authentication code), ephemeral public key wasString (boolean indicating with or not to return a buffer or string on decrypt) @private

Private encryptMnemonic

  • encryptMnemonic(phrase: string, password: string): Promise<Buffer>
  • Encrypt a raw mnemonic phrase to be password protected

    Parameters

    • phrase: string

      Raw mnemonic phrase

    • password: string

      Password to encrypt mnemonic with

    Returns Promise<Buffer>

    The encrypted phrase

Private encryptPrivateKey

  • encryptPrivateKey(publicKey: string, privateKey: string): string | null
  • Encrypts the private key for decryption by the given public key.

    Parameters

    • publicKey: string
    • privateKey: string

    Returns string | null

    hex encoded ciphertext

equalConstTime

  • equalConstTime(b1: Buffer, b2: Buffer): boolean

Private estimateAnnounce

  • estimateAnnounce(messageHash: string, senderUtxos?: number): Promise<number>
  • Estimates the cost of an announce transaction

    Parameters

    • messageHash: string

      the hash of the message

    • Default value senderUtxos: number = 1

      the number of utxos we expect will be required from the importer address

    Returns Promise<number>

    • a promise which resolves to the satoshi cost to fund this announce transaction

Private estimateNameImport

  • estimateNameImport(name: string, recipientAddr: string, zonefileHash: string, importUtxos?: number): Promise<number>
  • Estimates the cost of a name-import transaction

    Parameters

    • name: string

      the fully-qualified name

    • recipientAddr: string

      the recipient

    • zonefileHash: string

      the zone file hash

    • Default value importUtxos: number = 1

      the number of UTXOs we expect will be required from the importer address

    Returns Promise<number>

    • a promise which resolves to the satoshi cost to fund this name-import transaction

Private estimateNamespacePreorder

  • estimateNamespacePreorder(namespaceID: string, revealAddress: string, paymentAddress: string, paymentUtxos?: number): Promise<number>
  • Estimates cost of a namespace preorder transaction for a namespace

    Parameters

    • namespaceID: string

      the namespace to preorder

    • revealAddress: string

      the address to receive the namespace (this must be passed as the 'revealAddress' in the namespace-reveal transaction)

    • paymentAddress: string

      the address funding the preorder

    • Default value paymentUtxos: number = 1

      the number of UTXOs we expect will be required from the payment address.

    Returns Promise<number>

    • a promise which resolves to the satoshi cost to fund the preorder. This includes a 5500 satoshi dust output for the preorder. Even though this is a change output, the payer must supply enough funds to generate this output, so we include it in the cost.

Private estimateNamespaceReady

  • estimateNamespaceReady(namespaceID: string, revealUtxos?: number): Promise<number>
  • Estimates the cost of a namespace-ready transaction for a namespace

    Parameters

    • namespaceID: string

      the namespace to ready

    • Default value revealUtxos: number = 1

      the number of UTXOs we expect will be required from the reveal address

    Returns Promise<number>

    • a promise which resolves to the satoshi cost to fund this namespacey-ready transaction.

Private estimateNamespaceReveal

  • estimateNamespaceReveal(namespace: BlockstackNamespace, revealAddress: string, paymentAddress: string, paymentUtxos?: number): Promise<number>
  • Estimates cost of a namesapce reveal transaction for a namespace

    Parameters

    • namespace: BlockstackNamespace

      the namespace to reveal

    • revealAddress: string

      the address to receive the namespace (this must have been passed as 'revealAddress' to a prior namespace preorder)

    • paymentAddress: string

      the address that pays for this transaction

    • Default value paymentUtxos: number = 1

      the number of UTXOs we expect will be required from the payment address

    Returns Promise<number>

    • a promise which resolves to the satoshi cost to fund the reveal. This includes a 5500 satoshi dust output for the preorder. Even though this is a change output, the payer must have enough funds to generate this output, so we include it in the cost.

Private estimatePreorder

  • estimatePreorder(fullyQualifiedName: string, destinationAddress: string, paymentAddress: string, paymentUtxos?: number): Promise<number>
  • Estimates cost of a preorder transaction for a domain name.

    Parameters

    • fullyQualifiedName: string

      the name to preorder

    • destinationAddress: string

      the address to receive the name (this must be passed as the 'registrationAddress' in the register transaction)

    • paymentAddress: string

      the address funding the preorder

    • Default value paymentUtxos: number = 1

      the number of UTXOs we expect will be required from the payment address.

    Returns Promise<number>

    • a promise which resolves to the satoshi cost to fund the preorder. This includes a 5500 satoshi dust output for the preorder. Even though this is a change output, the payer must supply enough funds to generate this output, so we include it in the cost.

Private estimateRegister

  • estimateRegister(fullyQualifiedName: string, registerAddress: string, paymentAddress: string, includingZonefile?: boolean, paymentUtxos?: number): Promise<number>
  • Estimates cost of a register transaction for a domain name.

    Parameters

    • fullyQualifiedName: string

      the name to register

    • registerAddress: string

      the address to receive the name

    • paymentAddress: string

      the address funding the register

    • Default value includingZonefile: boolean = false

      whether or not we will broadcast a zonefile hash as part of the register

    • Default value paymentUtxos: number = 1

      the number of UTXOs we expect will be required from the payment address.

    Returns Promise<number>

    • a promise which resolves to the satoshi cost to fund the register.

Private estimateRenewal

  • estimateRenewal(fullyQualifiedName: string, destinationAddress: string, ownerAddress: string, paymentAddress: string, includingZonefile?: boolean, paymentUtxos?: number): Promise<number>
  • Estimates cost of an transfer transaction for a domain name.

    Parameters

    • fullyQualifiedName: string

      the name to renew

    • destinationAddress: string

      the next owner of the name

    • ownerAddress: string

      the current owner of the name

    • paymentAddress: string

      the address funding the transfer

    • Default value includingZonefile: boolean = false

      whether or not we will broadcast a zonefile hash in the renewal operation

    • Default value paymentUtxos: number = 1

      the number of UTXOs we expect will be required from the payment address.

    Returns Promise<number>

    • a promise which resolves to the satoshi cost to fund the transfer.

Private estimateRevoke

  • estimateRevoke(fullyQualifiedName: string, ownerAddress: string, paymentAddress: string, paymentUtxos?: number): Promise<number>
  • Estimates cost of a revoke transaction for a domain name.

    Parameters

    • fullyQualifiedName: string

      the name to revoke

    • ownerAddress: string

      the current owner of the name

    • paymentAddress: string

      the address funding the revoke

    • Default value paymentUtxos: number = 1

      the number of UTXOs we expect will be required from the payment address.

    Returns Promise<number>

    • a promise which resolves to the satoshi cost to fund the revoke.

estimateTXBytes

  • estimateTXBytes(txIn: bitcoinjs.Transaction | bitcoinjs.TransactionBuilder, additionalInputs: number, additionalOutputs: number): number
  • Parameters

    • txIn: bitcoinjs.Transaction | bitcoinjs.TransactionBuilder
    • additionalInputs: number
    • additionalOutputs: number

    Returns number

Private estimateTokenTransfer

  • estimateTokenTransfer(recipientAddress: string, tokenType: string, tokenAmount: BN, scratchArea: string, senderUtxos?: number, additionalOutputs?: number): Promise<number>
  • Estimates the cost of a token-transfer transaction

    Parameters

    • recipientAddress: string

      the recipient of the tokens

    • tokenType: string

      the type of token to spend

    • tokenAmount: BN

      a 64-bit unsigned BigInteger encoding the number of tokens to spend

    • scratchArea: string

      an arbitrary string to store with the transaction

    • Default value senderUtxos: number = 1

      the number of utxos we expect will be required from the importer address

    • Default value additionalOutputs: number = 1

      the number of outputs we expect to add beyond just the recipient output (default = 1, if the token owner is also the bitcoin funder)

    Returns Promise<number>

    • a promise which resolves to the satoshi cost to fund this token-transfer transaction

Private estimateTransfer

  • estimateTransfer(fullyQualifiedName: string, destinationAddress: string, ownerAddress: string, paymentAddress: string, paymentUtxos?: number): Promise<number>
  • Estimates cost of an transfer transaction for a domain name.

    Parameters

    • fullyQualifiedName: string

      the name to transfer

    • destinationAddress: string

      the next owner of the name

    • ownerAddress: string

      the current owner of the name

    • paymentAddress: string

      the address funding the transfer

    • Default value paymentUtxos: number = 1

      the number of UTXOs we expect will be required from the payment address.

    Returns Promise<number>

    • a promise which resolves to the satoshi cost to fund the transfer.

Private estimateUpdate

  • estimateUpdate(fullyQualifiedName: string, ownerAddress: string, paymentAddress: string, paymentUtxos?: number): Promise<number>
  • Estimates cost of an update transaction for a domain name.

    Parameters

    • fullyQualifiedName: string

      the name to update

    • ownerAddress: string

      the owner of the name

    • paymentAddress: string

      the address funding the update

    • Default value paymentUtxos: number = 1

      the number of UTXOs we expect will be required from the payment address.

    Returns Promise<number>

    • a promise which resolves to the satoshi cost to fund the update.

extractProfile

  • extractProfile(token: string, publicKeyOrAddress?: string | null): object
  • Extracts a profile from an encoded token and optionally verifies it, if publicKeyOrAddress is provided.

    throws

    {Error} - if the token isn't signed by the provided publicKeyOrAddress

    Parameters

    • token: string

      the token to be extracted

    • Default value publicKeyOrAddress: string | null = null

      the public key or address of the keypair that is thought to have signed the token

    Returns object

    • the profile extracted from the encoded token

Private fetchAppManifest

  • fetchAppManifest(authRequest: string): Promise<any>
  • Fetches the contents of the manifest file specified in the authentication request

    Parameters

    • authRequest: string

      encoded and signed authentication request

    Returns Promise<any>

    Returns a Promise that resolves to the JSON object manifest file unless there's an error in which case rejects with an error message.

formatAccount

  • formatAccount(serviceName: string, data: any): object

fundTransaction

  • fundTransaction(txB: bitcoinjs.TransactionBuilder, paymentAddress: string, utxos: UTXO[], feeRate: number, inAmounts: number, changeIndex?: number | null): TransactionBuilder
  • Parameters

    • txB: bitcoinjs.TransactionBuilder
    • paymentAddress: string
    • utxos: UTXO[]
    • feeRate: number
    • inAmounts: number
    • Default value changeIndex: number | null = null

    Returns TransactionBuilder

Private generateTransitKey

  • generateTransitKey(): string
  • Generates a ECDSA keypair to use as the ephemeral app transit private key

    Returns string

    the hex encoded private key

getAddress

  • getAddress(profile: any): any

getAddressFromDID

  • getAddressFromDID(decentralizedID: string): string
  • Parameters

    • decentralizedID: string

    Returns string

getAppBucketUrl

  • getAppBucketUrl(gaiaHubUrl: string, appPrivateKey: string): Promise<string>
  • Get the app storage bucket URL

    Parameters

    • gaiaHubUrl: string

      the gaia hub URL

    • appPrivateKey: string

      the app private key used to generate the app address

    Returns Promise<string>

    That resolves to the URL of the app index file or rejects if it fails

Private getAuthRequestFromURL

  • getAuthRequestFromURL(): string
  • Retrieves the authentication request from the query string

    Returns string

    the authentication request or null if the query string parameter authRequest is not found

getAuthResponseToken

  • getAuthResponseToken(): string
  • Retrieve the authentication token from the URL query

    Returns string

    the authentication token if it exists otherwise null

getAvatarUrl

  • getAvatarUrl(profile: any): string

getBirthDate

  • getBirthDate(profile: any): any

getBucketUrl

  • getBucketUrl(gaiaHubUrl: string, appPrivateKey: string): Promise<string>
  • Parameters

    • gaiaHubUrl: string
    • appPrivateKey: string

    Returns Promise<string>

getBuffer

  • getBuffer(content: string | ArrayBuffer | Buffer): Buffer

getConnections

  • getConnections(profile: any): any[]

Private getCoreSession

  • getCoreSession(coreHost: string, corePort: number, apiPassword: string, appPrivateKey: string, blockchainId?: string, authRequest?: string, deviceId?: string): Promise<any>
  • Get a core session token. Generate an auth request, sign it, send it to Core, and get back a session token.

    deprecated

    Parameters

    • coreHost: string

      Core API server's hostname

    • corePort: number

      Core API server's port number

    • apiPassword: string

      core api password

    • appPrivateKey: string

      Application's private key

    • Default value blockchainId: string = null

      blockchain ID of the user signing in. null if user has no blockchain ID

    • Default value authRequest: string = null

      authentication request token

    • Default value deviceId: string = "0"

      identifier for the current device

    Returns Promise<any>

    a Promise that resolves to a Core session token or rejects with an error message.

getDIDType

  • getDIDType(decentralizedID: string): string
  • Parameters

    • decentralizedID: string

    Returns string

getDescription

  • getDescription(profile: any): any

getEntropy

  • getEntropy(numberOfBytes: number): Buffer
  • Parameters

    • numberOfBytes: number

    Returns Buffer

getFamilyName

  • getFamilyName(profile: any): any

getFile

  • getFile(path: string, options?: object, caller?: UserSession): Promise<string | ArrayBuffer>
  • Retrieves the specified file from the app's data store.

    Parameters

    • path: string

      the path to the file to read

    • Optional options: object
      • Optional app?: string

        the app to lookup for multi-player storage - defaults to current origin

      • Optional decrypt?: boolean
      • Optional username?: string

        the Blockstack ID to lookup for multi-player storage

      • Optional verify?: boolean

        Whether the content should be verified, only to be used when putFile was set to sign = true

      • Optional zoneFileLookupURL?: string
    • Optional caller: UserSession

    Returns Promise<string | ArrayBuffer>

    that resolves to the raw data in the file or rejects with an error

getFileContents

  • getFileContents(path: string, app: string, username: string | undefined, zoneFileLookupURL: string | undefined, forceText: boolean, caller?: UserSession): Promise<string | ArrayBuffer | null>
  • Parameters

    • path: string
    • app: string
    • username: string | undefined
    • zoneFileLookupURL: string | undefined
    • forceText: boolean
    • Optional caller: UserSession

    Returns Promise<string | ArrayBuffer | null>

getFileSignedUnencrypted

getFileUrl

  • getFileUrl(path: string, options?: object, caller?: UserSession): Promise<string>
  • Get the URL for reading a file from an app's data store.

    Parameters

    • path: string

      the path to the file to read

    • Optional options: object
      • Optional app?: string

        the app to lookup for multi-player storage - defaults to current origin

      • Optional username?: string

        the Blockstack ID to lookup for multi-player storage

      • Optional zoneFileLookupURL?: string
    • Optional caller: UserSession

    Returns Promise<string>

    that resolves to the URL or rejects with an error

getFullReadUrl

  • getFullReadUrl(filename: string, hubConfig: GaiaHubConfig): Promise<string>

getGaiaAddress

  • getGaiaAddress(app: string, username?: string, zoneFileLookupURL?: string, caller?: UserSession): Promise<string>
  • Parameters

    • app: string
    • Optional username: string
    • Optional zoneFileLookupURL: string
    • Optional caller: UserSession

    Returns Promise<string>

getGivenName

  • getGivenName(profile: any): any

getHexFromBN

  • getHexFromBN(bnInput: BN): string

getName

  • getName(profile: any): any

getNodePrivateKey

  • getNodePrivateKey(node: BIP32): string
  • Parameters

    • node: BIP32

    Returns string

getNodePublicKey

  • getNodePublicKey(node: BIP32): string
  • Parameters

    • node: BIP32

    Returns string

getOrganizations

  • getOrganizations(profile: any): any

getPersonFromLegacyFormat

  • getPersonFromLegacyFormat(profile: any): object
  • Parameters

    • profile: any

    Returns object

    • @type: string
    • Optional account?: any[]
    • Optional address?: object
      • @type: string
      • addressLocality: string
    • Optional description?: string
    • Optional image?: any[]
    • Optional name?: string
    • Optional website?: Array<object>

getPublicKeyFromPrivate

  • getPublicKeyFromPrivate(privateKey: string): string
  • Parameters

    • privateKey: string

    Returns string

getTokenFileUrl

  • getTokenFileUrl(zoneFileJson: any): string | null

getTransaction

  • getTransaction(txIn: bitcoinjs.Transaction | bitcoinjs.TransactionBuilder): Transaction
  • Parameters

    • txIn: bitcoinjs.Transaction | bitcoinjs.TransactionBuilder

    Returns Transaction

getTransactionInsideBuilder

  • getTransactionInsideBuilder(txBuilder: bitcoinjs.TransactionBuilder): Transaction

getTransactionSigner

getUserAppFileUrl

  • getUserAppFileUrl(path: string, username: string, appOrigin: string, zoneFileLookupURL?: string): Promise<string | null>
  • Fetch the public read URL of a user file for the specified app.

    Parameters

    • path: string

      the path to the file to read

    • username: string

      The Blockstack ID of the user to look up

    • appOrigin: string

      The app origin

    • Optional zoneFileLookupURL: string

    Returns Promise<string | null>

    that resolves to the public read URL of the file or rejects with an error

getVerifiedAccounts

  • getVerifiedAccounts(profile: any, verifications?: any[]): any[]

handlePendingSignIn

  • handlePendingSignIn(nameLookupURL?: string, authResponseToken?: string, transitKey?: string, caller?: UserSession): Promise<UserData>
  • Try to process any pending sign in request by returning a Promise that resolves to the user data object if the sign in succeeds.

    Parameters

    • Default value nameLookupURL: string = ""

      the endpoint against which to verify public keys match claimed username

    • Default value authResponseToken: string = getAuthResponseToken()

      the signed authentication response token

    • Optional transitKey: string

      the transit private key that corresponds to the transit public key that was provided in the authentication request

    • Optional caller: UserSession

    Returns Promise<UserData>

    that resolves to the user data object if successful and rejects if handling the sign in request fails or there was no pending sign in request.

handleSignedEncryptedContents

  • handleSignedEncryptedContents(caller: UserSession, path: string, storedContents: string, app: string, username?: string, zoneFileLookupURL?: string): Promise<string | Buffer>
  • Parameters

    • caller: UserSession
    • path: string
    • storedContents: string
    • app: string
    • Optional username: string
    • Optional zoneFileLookupURL: string

    Returns Promise<string | Buffer>

hash128

  • hash128(buff: Buffer): Buffer

hash160

  • hash160(buff: Buffer): Buffer

hashCode

  • hashCode(string: string): number
  • Parameters

    • string: string

    Returns number

hexStringToECPair

  • hexStringToECPair(skHex: string): ECPair
  • Parameters

    • skHex: string

    Returns ECPair

hmacSha256

  • hmacSha256(key: Buffer, content: Buffer): Buffer

inputBytes

  • inputBytes(input: txPoint | null): number

isAccountSpendable

  • isAccountSpendable(address: string, tokenType: string, blockHeight: number): Promise<boolean>
  • Parameters

    • address: string
    • tokenType: string
    • blockHeight: number

    Returns Promise<boolean>

Private isExpirationDateValid

  • isExpirationDateValid(token: string): boolean
  • Checks if the expiration date of the token is before the current time

    Parameters

    • token: string

      encoded and signed authentication token

    Returns boolean

    true if the token has not yet expired, false if the token has expired

isInGracePeriod

  • isInGracePeriod(fullyQualifiedName: string): Promise<boolean>

Private isIssuanceDateValid

  • isIssuanceDateValid(token: string): boolean
  • Checks if the if the token issuance time and date is after the current time and date.

    Parameters

    • token: string

      encoded and signed authentication token

    Returns boolean

    true if the token was issued after the current time, otherwise returns false

Private isLaterVersion

  • isLaterVersion(v1: string, v2: string): boolean
  • Versioning

    Parameters

    • v1: string

      the left half of the version inequality

    • v2: string

      right half of the version inequality

    Returns boolean

    iff v1 >= v2

Private isManifestUriValid

  • isManifestUriValid(token: string): boolean
  • Makes sure the manifest_uri is a same origin absolute URL.

    Parameters

    • token: string

      encoded and signed authentication token

    Returns boolean

    true if valid, otherwise false

isNameAvailable

  • isNameAvailable(fullyQualifiedName: string): Promise<boolean>

isNameValid

  • isNameValid(fullyQualifiedName?: string): Promise<boolean>
  • Parameters

    • Default value fullyQualifiedName: string = ""

    Returns Promise<boolean>

isNamespaceAvailable

  • isNamespaceAvailable(namespaceID: string): Promise<boolean>

isNamespaceValid

  • isNamespaceValid(namespaceID: string): Promise<boolean>

Private isRedirectUriValid

  • isRedirectUriValid(token: string): boolean
  • Makes sure the redirect_uri is a same origin absolute URL.

    Parameters

    • token: string

      encoded and signed authentication token

    Returns boolean

    true if valid, otherwise false

Private isSameOriginAbsoluteUrl

  • isSameOriginAbsoluteUrl(uri1: string, uri2: string): boolean
  • Checks if both urls pass the same origin check & are absolute

    Parameters

    • uri1: string

      first uri to check

    • uri2: string

      second uri to check

    Returns boolean

    true if they pass the same origin check

isSignInPending

  • isSignInPending(): boolean
  • Check if there is a authentication request that hasn't been handled. Also checks for a protocol echo reply (which if detected then the page will be automatically redirected after this call).

    Returns boolean

    true if there is a pending sign in, otherwise false

isUserSignedIn

  • isUserSignedIn(): boolean
  • Check if a user is currently signed in.

    method

    isUserSignedIn

    Returns boolean

    true if the user is signed in, false if not.

launchCustomProtocol

  • launchCustomProtocol(authRequest: string, successCallback: function, failCallback: function): void
  • Detects if the native auth-browser is installed and is successfully launched via a custom protocol URI.

    Parameters

    • authRequest: string

      The encoded authRequest to be used as a query param in the custom URI.

    • successCallback: function

      The callback that is invoked when the protocol handler was detected.

        • (): void
        • Returns void

    • failCallback: function

      The callback that is invoked when the protocol handler was not detected.

        • (): void
        • Returns void

    Returns void

listFiles

  • listFiles(callback: function, caller?: UserSession): Promise<number>
  • List the set of files in this application's Gaia storage bucket.

    Parameters

    • callback: function

      a callback to invoke on each named file that returns true to continue the listing operation or false to end it

        • (name: string): boolean
        • Parameters

          • name: string

          Returns boolean

    • Optional caller: UserSession

      instance calling this method

    Returns Promise<number>

    that resolves to the number of files listed

Private listFilesLoop

  • listFilesLoop(hubConfig: GaiaHubConfig, page: string | null, callCount: number, fileCount: number, callback: function): Promise<number>
  • Loop over the list of files in a Gaia hub, and run a callback on each entry. Not meant to be called by external clients.

    Parameters

    • hubConfig: GaiaHubConfig

      the Gaia hub config

    • page: string | null

      the page ID

    • callCount: number

      the loop count

    • fileCount: number

      the number of files listed so far

    • callback: function

      the callback to invoke on each file. If it returns a falsey value, then the loop stops. If it returns a truthy value, the loop continues.

        • (name: string): boolean
        • Parameters

          • name: string

          Returns boolean

    Returns Promise<number>

    that resolves to the number of files listed.

loadUserData

  • Retrieves the user data object. The user's profile is stored in the key profile.

    Returns UserData

    User data object.

lookupProfile

  • lookupProfile(username: string, zoneFileLookupURL?: string): Promise<any>
  • Look up a user profile by blockstack ID

    Parameters

    • username: string

      The Blockstack ID of the profile to look up

    • Optional zoneFileLookupURL: string

    Returns Promise<any>

    that resolves to a profile object

Private makeAnnounce

  • makeAnnounce(messageHash: string, senderKeyIn: string | TransactionSigner, buildIncomplete?: boolean): Promise<string>
  • Generates an announce transaction

    Parameters

    • messageHash: string

      the hash of the message to send. Should be an already-announced zone file hash

    • senderKeyIn: string | TransactionSigner

      the private key that pays for the transaction. Should be the key that owns the name that the message recipients subscribe to

    • Default value buildIncomplete: boolean = false

      optional boolean, defaults to false, indicating whether the function should attempt to return an unsigned (or not fully signed) transaction. Useful for passing around a TX for multi-sig input signing.

    Returns Promise<string>

    • a promise which resolves to the hex-encoded transaction. this function does not perform the requisite safety checks -- please see the safety module for those.

makeAnnounceSkeleton

  • makeAnnounceSkeleton(messageHash: string): Transaction

makeAuthRequest

  • makeAuthRequest(transitPrivateKey?: string, redirectURI?: string, manifestURI?: string, scopes?: string[], appDomain?: string, expiresAt?: number, extraParams?: any): string
  • Generates an authentication request that can be sent to the Blockstack browser for the user to approve sign in. This authentication request can then be used for sign in by passing it to the redirectToSignInWithAuthRequest method.

    Note: This method should only be used if you want to roll your own authentication flow. Typically you'd use redirectToSignIn which takes care of this under the hood.

    Parameters

    • Optional transitPrivateKey: string

      hex encoded transit private key

    • Optional redirectURI: string

      location to redirect user to after sign in approval

    • Optional manifestURI: string

      location of this app's manifest file

    • Default value scopes: string[] = DEFAULT_SCOPE

      the permissions this app is requesting

    • Optional appDomain: string

      the origin of this app

    • Default value expiresAt: number = nextMonth().getTime()

      the time at which this request is no longer valid

    • Default value extraParams: any = {}

      Any extra parameters you'd like to pass to the authenticator. Use this to pass options that aren't part of the Blockstack auth spec, but might be supported by special authenticators.

    Returns string

    the authentication request

Private makeAuthResponse

  • makeAuthResponse(privateKey: string, profile?: __type, username?: string, metadata: AuthMetadata, coreToken?: string, appPrivateKey?: string, expiresAt?: number, transitPublicKey?: string, hubUrl?: string, blockstackAPIUrl?: string, associationToken?: string): string
  • Generates a signed authentication response token for an app. This token is sent back to apps which use contents to access the resources and data requested by the app.

    Parameters

    • privateKey: string

      the identity key of the Blockstack ID generating the authentication response

    • Default value profile: __type = {}

      the profile object for the Blockstack ID

    • Default value username: string = null

      the username of the Blockstack ID if any, otherwise null

    • metadata: AuthMetadata

      an object containing metadata sent as part of the authentication response including email if requested and available and a URL to the profile

    • Default value coreToken: string = null

      core session token when responding to a legacy auth request or null for current direct to gaia authentication requests

    • Default value appPrivateKey: string = null

      the application private key. This private key is unique and specific for every Blockstack ID and application combination.

    • Default value expiresAt: number = nextMonth().getTime()

      an integer in the same format as new Date().getTime(), milliseconds since the Unix epoch

    • Default value transitPublicKey: string = null

      the public key provide by the app in its authentication request with which secrets will be encrypted

    • Default value hubUrl: string = null

      URL to the write path of the user's Gaia hub

    • Default value blockstackAPIUrl: string = null

      URL to the API endpoint to use

    • Default value associationToken: string = null

      JWT that binds the app key to the identity key

    Returns string

    signed and encoded authentication response token

Private makeBitcoinSpend

  • makeBitcoinSpend(destinationAddress: string, paymentKeyIn: string | TransactionSigner, amount: number, buildIncomplete?: boolean): Promise<string>
  • Generates a bitcoin spend to a specified address. This will fund up to amount of satoshis from the payer's UTXOs. It will generate a change output if and only if the amount of leftover change is greater than the additional fees associated with the extra output. If the requested amount is not enough to fund the transaction's associated fees, then this will reject with a InvalidAmountError

    UTXOs are selected largest to smallest, and UTXOs which cannot fund the fees associated with their own input will not be included.

    If you specify an amount > the total balance of the payer address, then this will generate a maximum spend transaction

    Parameters

    • destinationAddress: string

      the address to receive the bitcoin payment

    • paymentKeyIn: string | TransactionSigner

      the private key used to fund the bitcoin spend

    • amount: number

      the amount in satoshis for the payment address to spend in this transaction

    • Default value buildIncomplete: boolean = false

      optional boolean, defaults to false, indicating whether the function should attempt to return an unsigned (or not fully signed) transaction. Useful for passing around a TX for multi-sig input signing.

    Returns Promise<string>

    • a promise which resolves to the hex-encoded transaction.

Private makeCoreSessionRequest

  • makeCoreSessionRequest(appDomain: string, appMethods: Array<string>, appPrivateKey: string, blockchainID?: string, thisDevice?: string): any
  • Create an authentication token to be sent to the Core API server in order to generate a Core session JWT.

    deprecated

    Parameters

    • appDomain: string

      The unique application identifier (e.g. foo.app, www.foo.com, etc).

    • appMethods: Array<string>

      The list of API methods this application will need.

    • appPrivateKey: string

      The application-specific private key

    • Default value blockchainID: string = null

      This is the blockchain ID of the requester

    • Default value thisDevice: string = null

      Identifier of the current device

    Returns any

    a JWT signed by the app's private key

makeDIDFromAddress

  • makeDIDFromAddress(address: string): string
  • Parameters

    • address: string

    Returns string

makeDIDFromPublicKey

  • makeDIDFromPublicKey(publicKey: string): string
  • Parameters

    • publicKey: string

    Returns string

makeECPrivateKey

  • makeECPrivateKey(): string

makeLegacyAuthToken

  • makeLegacyAuthToken(challengeText: string, signerKeyHex: string): string
  • Parameters

    • challengeText: string
    • signerKeyHex: string

    Returns string

Private makeNameImport

  • makeNameImport(name: string, recipientAddr: string, zonefileHash: string, importerKeyIn: string | TransactionSigner, buildIncomplete?: boolean): Promise<string>
  • Generates a name import transaction for a namespace

    Parameters

    • name: string

      the name to import

    • recipientAddr: string

      the address to receive the name

    • zonefileHash: string

      the hash of the zonefile to give this name

    • importerKeyIn: string | TransactionSigner

      the private key that pays for the import

    • Default value buildIncomplete: boolean = false

      optional boolean, defaults to false, indicating whether the function should attempt to return an unsigned (or not fully signed) transaction. Useful for passing around a TX for multi-sig input signing.

    Returns Promise<string>

    • a promise which resolves to the hex-encoded transaction. this function does not perform the requisite safety checks -- please see the safety module for those.

makeNameImportSkeleton

  • makeNameImportSkeleton(name: string, recipientAddr: string, zonefileHash: string): Transaction

Private makeNamespacePreorder

  • makeNamespacePreorder(namespaceID: string, revealAddress: string, paymentKeyIn: string | TransactionSigner, buildIncomplete?: boolean): Promise<string>
  • Generates a namespace preorder transaction for a namespace

    Parameters

    • namespaceID: string

      the namespace to pre-order

    • revealAddress: string

      the address to receive the namespace (this must be passed as the 'revealAddress' in the namespace-reveal transaction)

    • paymentKeyIn: string | TransactionSigner

      a hex string of the private key used to fund the transaction (or a TransactionSigner object)

    • Default value buildIncomplete: boolean = false

      optional boolean, defaults to false, indicating whether the function should attempt to return an unsigned (or not fully signed) transaction. Useful for passing around a TX for multi-sig input signing.

    Returns Promise<string>

    • a promise which resolves to the hex-encoded transaction. this function does not perform the requisite safety checks -- please see the safety module for those.

makeNamespacePreorderSkeleton

  • makeNamespacePreorderSkeleton(namespaceID: string, consensusHash: string, preorderAddress: string, registerAddress: string, burn: AmountType): Transaction

Private makeNamespaceReady

  • makeNamespaceReady(namespaceID: string, revealKeyIn: string | TransactionSigner, buildIncomplete?: boolean): Promise<string>
  • Generates a namespace ready transaction for a namespace

    Parameters

    • namespaceID: string

      the namespace to launch

    • revealKeyIn: string | TransactionSigner

      the private key of the 'revealAddress' used to reveal the namespace

    • Default value buildIncomplete: boolean = false

      optional boolean, defaults to false, indicating whether the function should attempt to return an unsigned (or not fully signed) transaction. Useful for passing around a TX for multi-sig input signing.

    Returns Promise<string>

    • a promise which resolves to the hex-encoded transaction. this function does not perform the requisite safety checks -- please see the safety module for those.

makeNamespaceReadySkeleton

  • makeNamespaceReadySkeleton(namespaceID: string): Transaction

Private makeNamespaceReveal

  • Generates a namespace reveal transaction for a namespace

    Parameters

    • namespace: BlockstackNamespace

      the namespace to reveal

    • revealAddress: string

      the address to receive the namespace (this must be passed as the 'revealAddress' in the namespace-reveal transaction)

    • paymentKeyIn: string | TransactionSigner

      a hex string (or a TransactionSigner object) of the private key used to fund the transaction

    • Default value buildIncomplete: boolean = false

      optional boolean, defaults to false, indicating whether the function should attempt to return an unsigned (or not fully signed) transaction. Useful for passing around a TX for multi-sig input signing.

    Returns Promise<string>

    • a promise which resolves to the hex-encoded transaction. this function does not perform the requisite safety checks -- please see the safety module for those.

makeNamespaceRevealSkeleton

  • makeNamespaceRevealSkeleton(namespace: BlockstackNamespace, revealAddress: string): Transaction

Private makePreorder

  • makePreorder(fullyQualifiedName: string, destinationAddress: string, paymentKeyIn: string | TransactionSigner, buildIncomplete?: boolean): Promise<string>
  • Generates a preorder transaction for a domain name.

    Parameters

    • fullyQualifiedName: string

      the name to pre-order

    • destinationAddress: string

      the address to receive the name (this must be passed as the 'registrationAddress' in the register transaction)

    • paymentKeyIn: string | TransactionSigner

      a hex string of the private key used to fund the transaction or a transaction signer object

    • Default value buildIncomplete: boolean = false

      optional boolean, defaults to false, indicating whether the function should attempt to return an unsigned (or not fully signed) transaction. Useful for passing around a TX for multi-sig input signing.

    Returns Promise<string>

    • a promise which resolves to the hex-encoded transaction. this function does not perform the requisite safety checks -- please see the safety module for those.

makePreorderSkeleton

  • makePreorderSkeleton(fullyQualifiedName: string, consensusHash: string, preorderAddress: string, burnAddress: string, burn: AmountType, registerAddress?: string): Transaction
  • Parameters

    • fullyQualifiedName: string
    • consensusHash: string
    • preorderAddress: string
    • burnAddress: string
    • burn: AmountType
    • Default value registerAddress: string = null

    Returns Transaction

makeProfileZoneFile

  • makeProfileZoneFile(origin: string, tokenFileUrl: string): any

Private makeRegister

  • makeRegister(fullyQualifiedName: string, registerAddress: string, paymentKeyIn: string | TransactionSigner, zonefile?: string, valueHash?: string, buildIncomplete?: boolean): Promise<string>
  • Generates a register transaction for a domain name.

    Parameters

    • fullyQualifiedName: string

      the name to register

    • registerAddress: string

      the address to receive the name (this must have been passed as the 'destinationAddress' in the preorder transaction) this address will receive a dust UTXO

    • paymentKeyIn: string | TransactionSigner

      a hex string of the private key (or a TransactionSigner object) used to fund the transaction (this must be the same as the payment address used to fund the preorder)

    • Default value zonefile: string = null

      the zonefile data to include (this will be hashed to include in the transaction), the zonefile itself must be published after the UPDATE propagates.

    • Default value valueHash: string = null

      the hash of the zone file data to include. It will be used instead of zonefile, if given

    • Default value buildIncomplete: boolean = false

      optional boolean, defaults to false, indicating whether the function should attempt to return an unsigned (or not fully signed) transaction. Useful for passing around a TX for multi-sig input signing.

    Returns Promise<string>

    • a promise which resolves to the hex-encoded transaction. this function does not perform the requisite safety checks -- please see the safety module for those.

makeRegisterSkeleton

  • makeRegisterSkeleton(fullyQualifiedName: string, ownerAddress: string, valueHash?: string, burnTokenAmountHex?: string): Transaction
  • Parameters

    • fullyQualifiedName: string
    • ownerAddress: string
    • Default value valueHash: string = null
    • Default value burnTokenAmountHex: string = null

    Returns Transaction

Private makeRenewal

  • makeRenewal(fullyQualifiedName: string, destinationAddress: string, ownerKeyIn: string | TransactionSigner, paymentKeyIn: string | TransactionSigner, zonefile?: string, valueHash?: string, buildIncomplete?: boolean): Promise<string>
  • Generates a renewal transaction for a domain name.

    Parameters

    • fullyQualifiedName: string

      the name to transfer

    • destinationAddress: string

      the address to receive the name after renewal this address will receive a dust UTXO

    • ownerKeyIn: string | TransactionSigner

      a hex string of the current owner's private key (or a TransactionSigner object)

    • paymentKeyIn: string | TransactionSigner

      a hex string of the private key used to fund the renewal (or a TransactionSigner object)

    • Default value zonefile: string = null

      the zonefile data to include, if given (this will be hashed to include in the transaction), the zonefile itself must be published after the RENEWAL propagates.

    • Default value valueHash: string = null

      the raw zone file hash to include (this will be used instead of zonefile, if given).

    • Default value buildIncomplete: boolean = false

      optional boolean, defaults to false, indicating whether the function should attempt to return an unsigned (or not fully signed) transaction. Useful for passing around a TX for multi-sig input signing.

    Returns Promise<string>

    • a promise which resolves to the hex-encoded transaction. this function does not perform the requisite safety checks -- please see the safety module for those.

makeRenewalSkeleton

  • makeRenewalSkeleton(fullyQualifiedName: string, nextOwnerAddress: string, lastOwnerAddress: string, burnAddress: string, burn: AmountType, valueHash?: string): Transaction
  • Parameters

    • fullyQualifiedName: string
    • nextOwnerAddress: string
    • lastOwnerAddress: string
    • burnAddress: string
    • burn: AmountType
    • Default value valueHash: string = null

    Returns Transaction

Private makeRevoke

  • Generates a revoke transaction for a domain name.

    Parameters

    • fullyQualifiedName: string

      the name to revoke

    • ownerKeyIn: string | TransactionSigner

      a hex string of the current owner's private key (or a TransactionSigner object)

    • paymentKeyIn: string | TransactionSigner

      a hex string of the private key used to fund the transaction (or a TransactionSigner object)

    • Default value buildIncomplete: boolean = false

      optional boolean, defaults to false, indicating whether the function should attempt to return an unsigned (or not fully signed) transaction. Useful for passing around a TX for multi-sig input signing.

    Returns Promise<string>

    • a promise which resolves to the hex-encoded transaction. this function does not perform the requisite safety checks -- please see the safety module for those.

makeRevokeSkeleton

  • makeRevokeSkeleton(fullyQualifiedName: string): Transaction

makeTXbuilder

  • makeTXbuilder(): TransactionBuilder

Private makeTokenTransfer

  • makeTokenTransfer(recipientAddress: string, tokenType: string, tokenAmount: BN, scratchArea: string, senderKeyIn: string | TransactionSigner, btcFunderKeyIn?: string | TransactionSigner, buildIncomplete?: boolean): Promise<string>
  • Generates a token-transfer transaction

    Parameters

    • recipientAddress: string

      the address to receive the tokens

    • tokenType: string

      the type of tokens to send

    • tokenAmount: BN

      the BigInteger encoding of an unsigned 64-bit number of tokens to send

    • scratchArea: string

      an arbitrary string to include with the transaction

    • senderKeyIn: string | TransactionSigner

      the hex-encoded private key to send the tokens

    • Optional btcFunderKeyIn: string | TransactionSigner

      the hex-encoded private key to fund the bitcoin fees for the transaction. Optional -- if not passed, will attempt to fund with sender key.

    • Default value buildIncomplete: boolean = false

      optional boolean, defaults to false, indicating whether the function should attempt to return an unsigned (or not fully signed) transaction. Useful for passing around a TX for multi-sig input signing.

    Returns Promise<string>

    • a promise which resolves to the hex-encoded transaction. This function does not perform the requisite safety checks -- please see the safety module for those.

makeTokenTransferSkeleton

  • makeTokenTransferSkeleton(recipientAddress: string, consensusHash: string, tokenType: string, tokenAmount: BN, scratchArea: string): Transaction
  • Parameters

    • recipientAddress: string
    • consensusHash: string
    • tokenType: string
    • tokenAmount: BN
    • scratchArea: string

    Returns Transaction

Private makeTransfer

  • makeTransfer(fullyQualifiedName: string, destinationAddress: string, ownerKeyIn: string | TransactionSigner, paymentKeyIn: string | TransactionSigner, keepZonefile?: boolean, buildIncomplete?: boolean): Promise<string>
  • Generates a transfer transaction for a domain name.

    Parameters

    • fullyQualifiedName: string

      the name to transfer

    • destinationAddress: string

      the address to receive the name. this address will receive a dust UTXO

    • ownerKeyIn: string | TransactionSigner

      a hex string of the current owner's private key (or a TransactionSigner object)

    • paymentKeyIn: string | TransactionSigner

      a hex string of the private key used to fund the transaction (or a TransactionSigner object)

    • Default value keepZonefile: boolean = false

      if true, then preserve the name's zone file

    • Default value buildIncomplete: boolean = false

      optional boolean, defaults to false, indicating whether the function should attempt to return an unsigned (or not fully signed) transaction. Useful for passing around a TX for multi-sig input signing.

    Returns Promise<string>

    • a promise which resolves to the hex-encoded transaction. this function does not perform the requisite safety checks -- please see the safety module for those.

makeTransferSkeleton

  • makeTransferSkeleton(fullyQualifiedName: string, consensusHash: string, newOwner: string, keepZonefile?: boolean): Transaction
  • Parameters

    • fullyQualifiedName: string
    • consensusHash: string
    • newOwner: string
    • Default value keepZonefile: boolean = false

    Returns Transaction

Private makeUUID4

  • makeUUID4(): string

Private makeUpdate

  • makeUpdate(fullyQualifiedName: string, ownerKeyIn: string | TransactionSigner, paymentKeyIn: string | TransactionSigner, zonefile: string, valueHash?: string, buildIncomplete?: boolean): Promise<string>
  • Generates an update transaction for a domain name.

    Parameters

    • fullyQualifiedName: string

      the name to update

    • ownerKeyIn: string | TransactionSigner

      a hex string of the owner key, or a transaction signer object. This will provide one UTXO input, and also recieve a dust output.

    • paymentKeyIn: string | TransactionSigner

      a hex string, or a transaction signer object, of the private key used to fund the transaction's txfees

    • zonefile: string

      the zonefile data to update (this will be hashed to include in the transaction), the zonefile itself must be published after the UPDATE propagates.

    • Default value valueHash: string = ""

      if given, this is the hash to store (instead of zonefile). zonefile will be ignored if this is given.

    • Default value buildIncomplete: boolean = false

      optional boolean, defaults to false, indicating whether the function should attempt to return an unsigned (or not fully signed) transaction. Useful for passing around a TX for multi-sig input signing.

    Returns Promise<string>

    • a promise which resolves to the hex-encoded transaction. this function does not perform the requisite safety checks -- please see the safety module for those.

makeUpdateSkeleton

  • makeUpdateSkeleton(fullyQualifiedName: string, consensusHash: string, valueHash: string): Transaction
  • Parameters

    • fullyQualifiedName: string
    • consensusHash: string
    • valueHash: string

    Returns Transaction

makeV1GaiaAuthToken

  • makeV1GaiaAuthToken(hubInfo: any, signerKeyHex: string, hubUrl: string, associationToken?: string): string
  • Parameters

    • hubInfo: any
    • signerKeyHex: string
    • hubUrl: string
    • Optional associationToken: string

    Returns string

namespaceIsReady

  • namespaceIsReady(namespaceID: string): Promise<any>

namespaceIsRevealed

  • namespaceIsRevealed(namespaceID: string): Promise<boolean>

nextHour

  • nextHour(): Date

nextMonth

  • nextMonth(): Date

Private nextYear

  • nextYear(): Date

normalizeOptions

  • normalizeOptions<T>(options?: object & T, caller?: UserSession): object & T

opEncode

  • opEncode(opcode: string): string

outputBytes

  • outputBytes(output: txPoint | null): number

ownsName

  • ownsName(fullyQualifiedName: string, ownerAddress: string): Promise<boolean>
  • Parameters

    • fullyQualifiedName: string
    • ownerAddress: string

    Returns Promise<boolean>

publicKeyToAddress

  • publicKeyToAddress(publicKey: string): string
  • Parameters

    • publicKey: string

    Returns string

putFile

  • Stores the data provided in the app's data store to to the file specified.

    Parameters

    • path: string

      the path to store the data in

    • content: string | Buffer

      the data to store in the file

    • Optional options: PutFileOptions
    • Optional caller: UserSession

    Returns Promise<string>

    that resolves if the operation succeed and rejects if it failed

redirectToSignIn

  • redirectToSignIn(redirectURI?: string, manifestURI?: string, scopes?: string[]): void
  • Generates an authentication request and redirects the user to the Blockstack browser to approve the sign in request.

    Please note that this requires that the web browser properly handles the blockstack: URL protocol handler.

    Most applications should use this method for sign in unless they require more fine grained control over how the authentication request is generated. If your app falls into this category, use makeAuthRequest and redirectToSignInWithAuthRequest to build your own sign in process.

    Parameters

    • Optional redirectURI: string
    • Optional manifestURI: string
    • Optional scopes: string[]

    Returns void

redirectToSignInWithAuthRequest

  • redirectToSignInWithAuthRequest(authRequest?: string, blockstackIDHost?: string): void
  • Redirects the user to the Blockstack browser to approve the sign in request given.

    The user is redirected to the blockstackIDHost if the blockstack: protocol handler is not detected. Please note that the protocol handler detection does not work on all browsers.

    Parameters

    • Optional authRequest: string

      the authentication request generated by makeAuthRequest

    • Default value blockstackIDHost: string = DEFAULT_BLOCKSTACK_HOST

      the URL to redirect the user to if the blockstack protocol handler is not detected

    Returns void

Private redirectUserToApp

  • redirectUserToApp(authRequest: string, authResponse: string): void
  • Redirect the user's browser to the app using the redirect_uri specified in the authentication request, passing the authentication response token as a query parameter.

    throws

    {Error} if there is no redirect uri

    Parameters

    • authRequest: string

      encoded and signed authentication request token

    • authResponse: string

      encoded and signed authentication response token

    Returns void

resolveZoneFileToPerson

  • resolveZoneFileToPerson(zoneFile: any, publicKeyOrAddress: string, callback: function): void

resolveZoneFileToProfile

  • resolveZoneFileToProfile(zoneFile: any, publicKeyOrAddress: string): Promise<Object>

returnTransactionHex

  • returnTransactionHex(txB: bitcoinjs.TransactionBuilder, buildIncomplete?: boolean): string
  • Parameters

    • txB: bitcoinjs.TransactionBuilder
    • Default value buildIncomplete: boolean = false

    Returns string

revealedNamespace

  • revealedNamespace(namespaceID: string, revealAddress: string): Promise<boolean>

Private sendCoreSessionRequest

  • sendCoreSessionRequest(coreHost: string, corePort: number, coreAuthRequest: string, apiPassword: string): Promise<any>
  • Send Core a request for a session token.

    deprecated

    Parameters

    • coreHost: string

      host name of the core node

    • corePort: number

      port number of the core node

    • coreAuthRequest: string

      a signed JWT encoding the authentication request

    • apiPassword: string

      the API password for Core

    Returns Promise<any>

    the resolves to a JWT signed with the Core API server's private key that authorizes the bearer to carry out the requested operations and rejects with an error message otherwise

sharedSecretToKeys

  • sharedSecretToKeys(sharedSecret: Buffer): object
  • Parameters

    • sharedSecret: Buffer

    Returns object

    • encryptionKey: Buffer
    • hmacKey: Buffer

Private signECDSA

  • signECDSA(privateKey: string, content: string | Buffer): object
  • Sign content using ECDSA

    Parameters

    • privateKey: string

      secp256k1 private key hex string

    • content: string | Buffer

      content to sign

    Returns object

    contains: signature - Hex encoded DER signature public key - Hex encoded private string taken from privateKey

    • publicKey: string
    • signature: string

signInputs

  • signInputs(txB: bitcoinjs.TransactionBuilder, defaultSigner: TransactionSigner, otherSigners?: Array<object>): Promise<TransactionBuilder>

signProfileToken

  • signProfileToken(profile: any, privateKey: string, subject?: any, issuer?: any, signingAlgorithm?: string, issuedAt?: Date, expiresAt?: Date): any
  • Signs a profile token

    Parameters

    • profile: any

      the JSON of the profile to be signed

    • privateKey: string

      the signing private key

    • Optional subject: any

      the entity that the information is about

    • Optional issuer: any

      the entity that is issuing the token

    • Default value signingAlgorithm: string = "ES256K"

      the signing algorithm to use

    • Default value issuedAt: Date = new Date()

      the time of issuance of the token

    • Default value expiresAt: Date = nextYear()

      the time of expiration of the token

    Returns any

    • the signed profile token

signUserOut

  • signUserOut(redirectURL?: string, caller?: UserSession): void
  • Sign the user out and optionally redirect to given location.

    Parameters

    • Optional redirectURL: string

      Location to redirect user to after sign out. Only used in environments with window available

    • Optional caller: UserSession

    Returns void

sumOutputValues

  • sumOutputValues(txIn: bitcoinjs.Transaction | bitcoinjs.TransactionBuilder): number
  • Parameters

    • txIn: bitcoinjs.Transaction | bitcoinjs.TransactionBuilder

    Returns number

transactionBytes

  • transactionBytes(inputs: Array<txPoint | null>, outputs: Array<txPoint | null>): number

Private updateQueryStringParameter

  • updateQueryStringParameter(uri: string, key: string, value: string): string
  • Query Strings

    Parameters

    • uri: string
    • key: string
    • value: string

    Returns string

uploadToGaiaHub

  • uploadToGaiaHub(filename: string, contents: any, hubConfig: GaiaHubConfig, contentType?: string): Promise<string>
  • Parameters

    • filename: string
    • contents: any
    • hubConfig: GaiaHubConfig
    • Default value contentType: string = "application/octet-stream"

    Returns Promise<string>

validateProofs

  • validateProofs(profile: any, ownerAddress: string, name?: string): Promise<any[]>
  • Validates the social proofs in a user's profile. Currently supports validation of Facebook, Twitter, GitHub, Instagram, LinkedIn and HackerNews accounts.

    Parameters

    • profile: any

      The JSON of the profile to be validated

    • ownerAddress: string

      The owner bitcoin address to be validated

    • Default value name: string = null

    Returns Promise<any[]>

    that resolves to an array of validated proof objects

verifyAuthRequest

  • verifyAuthRequest(token: string): Promise<boolean>
  • Verify authentication request is valid. This function performs a number of checks on the authentication request token:

    • Checks that token has a valid issuance date & is not expired
    • Checks that token has a valid signature that matches the public key it claims
    • Checks that both the manifest and redirect URLs are absolute and conform to the same origin policy

    Parameters

    • token: string

      encoded and signed authentication request token

    Returns Promise<boolean>

    that resolves to true if the auth request is valid and false if it does not. It rejects with a String if the token is not signed @private

Private verifyAuthRequestAndLoadManifest

  • verifyAuthRequestAndLoadManifest(token: string): Promise<any>
  • Verify the authentication request is valid and fetch the app manifest file if valid. Otherwise, reject the promise.

    Parameters

    • token: string

      encoded and signed authentication request token

    Returns Promise<any>

    that resolves to the app manifest file in JSON format or rejects if the auth request or app manifest file is invalid

Private verifyAuthResponse

  • verifyAuthResponse(token: string, nameLookupURL: string): Promise<boolean>
  • Verify the authentication response is valid

    Parameters

    • token: string

      the authentication response token

    • nameLookupURL: string

      the url use to verify owner of a username

    Returns Promise<boolean>

    that resolves to true if auth response is valid and false if it does not

Private verifyECDSA

  • verifyECDSA(content: string | ArrayBuffer | Buffer, publicKey: string, signature: string): boolean
  • Verify content using ECDSA

    Parameters

    • content: string | ArrayBuffer | Buffer

      Content to verify was signed

    • publicKey: string

      secp256k1 private key hex string

    • signature: string

      Hex encoded DER signature

    Returns boolean

    returns true when signature matches publickey + content, false if not

verifyProfileToken

  • verifyProfileToken(token: string, publicKeyOrAddress: string): any
  • Verifies a profile token

    throws

    {Error} - throws an error if token verification fails

    Parameters

    • token: string

      the token to be verified

    • publicKeyOrAddress: string

      the public key or address of the keypair that is thought to have signed the token

    Returns any

    • the verified, decoded profile token

wrapProfileToken

  • wrapProfileToken(token: string): object
  • Wraps a token for a profile token file

    Parameters

    • token: string

      the token to be wrapped

    Returns object

    • including token and decodedToken
    • decodedToken: any
    • token: string

Object literals

Const DEFAULT_PROFILE

DEFAULT_PROFILE: object

@context

@context: string = "http://schema.org"

@type

@type: string = "Person"

Const ERROR_CODES

ERROR_CODES: object

INVALID_STATE

INVALID_STATE: string = "invalid_state"

MISSING_PARAMETER

MISSING_PARAMETER: string = "missing_parameter"

NO_SESSION_DATA

NO_SESSION_DATA: string = "no_session_data"

REMOTE_SERVICE_ERROR

REMOTE_SERVICE_ERROR: string = "remote_service_error"

UNKNOWN

UNKNOWN: string = "unknown"

Const config

config: object

logLevel

logLevel: string = "debug"

network

network: BlockstackNetwork = network.defaults.MAINNET_DEFAULT

Const network

network: object

BitcoindAPI

BitcoindAPI: BitcoindAPI

BlockchainInfoApi

BlockchainInfoApi: BlockchainInfoApi

BlockstackNetwork

BlockstackNetwork: BlockstackNetwork

InsightClient

InsightClient: InsightClient

LocalRegtest

LocalRegtest: LocalRegtest

defaults

defaults: object

LOCAL_REGTEST

LOCAL_REGTEST: LocalRegtest

MAINNET_DEFAULT

MAINNET_DEFAULT: BlockstackNetwork

Const profileServices

profileServices: object

facebook

facebook: Facebook = Facebook

github

github: Github = Github

hackerNews

hackerNews: HackerNews = HackerNews

instagram

instagram: Instagram = Instagram

linkedIn

linkedIn: LinkedIn = LinkedIn

twitter

twitter: Twitter = Twitter

Const safety

safety: object

addressCanReceiveName

addressCanReceiveName: addressCanReceiveName

isAccountSpendable

isAccountSpendable: isAccountSpendable

isInGracePeriod

isInGracePeriod: isInGracePeriod

isNameAvailable

isNameAvailable: isNameAvailable

isNameValid

isNameValid: isNameValid

isNamespaceAvailable

isNamespaceAvailable: isNamespaceAvailable

isNamespaceValid

isNamespaceValid: isNamespaceValid

namespaceIsReady

namespaceIsReady: namespaceIsReady

namespaceIsRevealed

namespaceIsRevealed: namespaceIsRevealed

ownsName

ownsName: ownsName

revealedNamespace

revealedNamespace: revealedNamespace

Const schemaDefinition

schemaDefinition: object

strict

strict: boolean = false

type

type: string = "object"

properties

properties: object

@context

@context: object

optional

optional: boolean = true

type

type: string = "string"

@id

@id: object

optional

optional: boolean = true

type

type: string = "string"

@type

@type: object

type

type: string = "string"

account

account: object

optional

optional: boolean = true

type

type: string = "array"

items

items: object

type

type: string = "object"

properties

properties: object

@type

@type: object

type

type: string = "string"

identifier

identifier: object

optional

optional: boolean = true

type

type: string = "string"

proofMessage

proofMessage: object

optional

optional: boolean = true

type

type: string = "string"

proofSignature

proofSignature: object

optional

optional: boolean = true

type

type: string = "string"

proofType

proofType: object

optional

optional: boolean = true

type

type: string = "string"

proofUrl

proofUrl: object

optional

optional: boolean = true

type

type: string = "string"

service

service: object

optional

optional: boolean = true

type

type: string = "string"

address

address: object

optional

optional: boolean = true

type

type: string = "object"

properties

properties: object

@type

@type: object

type

type: string = "string"

addressCountry

addressCountry: object

optional

optional: boolean = true

type

type: string = "string"

addressLocality

addressLocality: object

optional

optional: boolean = true

type

type: string = "string"

postalCode

postalCode: object

optional

optional: boolean = true

type

type: string = "string"

streetAddress

streetAddress: object

optional

optional: boolean = true

type

type: string = "string"

birthDate

birthDate: object

optional

optional: boolean = true

type

type: string = "string"

description

description: object

optional

optional: boolean = true

type

type: string = "string"

familyName

familyName: object

optional

optional: boolean = true

type

type: string = "string"

givenName

givenName: object

optional

optional: boolean = true

type

type: string = "string"

image

image: object

optional

optional: boolean = true

type

type: string = "array"

items

items: object

type

type: string = "object"

properties

properties: object

@type

@type: object

type

type: string = "string"

contentUrl

contentUrl: object

optional

optional: boolean = true

type

type: string = "string"

name

name: object

optional

optional: boolean = true

type

type: string = "string"

knows

knows: object

optional

optional: boolean = true

type

type: string = "array"

items

items: object

type

type: string = "object"

properties

properties: object

@id

@id: object

optional

optional: boolean = true

type

type: string = "string"

@type

@type: object

type

type: string = "string"

name

name: object

optional

optional: boolean = true

type

type: string = "string"

taxID

taxID: object

optional

optional: boolean = true

type

type: string = "string"

website

website: object

optional

optional: boolean = true

type

type: string = "array"

items

items: object

type

type: string = "object"

properties

properties: object

@type

@type: object

type

type: string = "string"

url

url: object

optional

optional: boolean = true

type

type: string = "string"

worksFor

worksFor: object

optional

optional: boolean = true

type

type: string = "array"

items

items: object

type

type: string = "object"

properties

properties: object

@id

@id: object

optional

optional: boolean = true

type

type: string = "string"

@type

@type: object

type

type: string = "string"

Const transactions

transactions: object

BlockstackNamespace

BlockstackNamespace: BlockstackNamespace

estimateAnnounce

estimateAnnounce: estimateAnnounce

estimateNameImport

estimateNameImport: estimateNameImport

estimateNamespacePreorder

estimateNamespacePreorder: estimateNamespacePreorder

estimateNamespaceReady

estimateNamespaceReady: estimateNamespaceReady

estimateNamespaceReveal

estimateNamespaceReveal: estimateNamespaceReveal

estimatePreorder

estimatePreorder: estimatePreorder

estimateRegister

estimateRegister: estimateRegister

estimateRenewal

estimateRenewal: estimateRenewal

estimateRevoke

estimateRevoke: estimateRevoke

estimateTokenTransfer

estimateTokenTransfer: estimateTokenTransfer

estimateTransfer

estimateTransfer: estimateTransfer

estimateUpdate

estimateUpdate: estimateUpdate

makeAnnounce

makeAnnounce: makeAnnounce

makeBitcoinSpend

makeBitcoinSpend: makeBitcoinSpend

makeNameImport

makeNameImport: makeNameImport

makeNamespacePreorder

makeNamespacePreorder: makeNamespacePreorder

makeNamespaceReady

makeNamespaceReady: makeNamespaceReady

makeNamespaceReveal

makeNamespaceReveal: makeNamespaceReveal

makePreorder

makePreorder: makePreorder

makeRegister

makeRegister: makeRegister

makeRenewal

makeRenewal: makeRenewal

makeRevoke

makeRevoke: makeRevoke

makeTokenTransfer

makeTokenTransfer: makeTokenTransfer

makeTransfer

makeTransfer: makeTransfer

makeUpdate

makeUpdate: makeUpdate

Generated using TypeDoc