Caravan Documentation
    Preparing search index...

    Variable TEST_FIXTURESConst

    TEST_FIXTURES: {
        braids: {
            addressType: string;
            bip32Derivations: {
                index: {
                    "0": { masterFingerprint: Buffer; path: string; pubkey: Buffer }[];
                    "1": { masterFingerprint: Buffer; path: string; pubkey: Buffer }[];
                    "48349": { masterFingerprint: Buffer; path: string; pubkey: Buffer }[];
                };
                path: {
                    "0/0": { masterFingerprint: Buffer; path: string; pubkey: Buffer }[];
                };
            };
            extendedPublicKeys: {
                base58String: string;
                chaincode: string;
                depth: number;
                index: number;
                parentFingerprint: number;
                path: string;
                pubkey: string;
                rootFingerprint: string;
                version: string;
            }[];
            index: string;
            network: Network;
            pubKeySets: {
                index: { "0": string[]; "1": string[]; "48349": string[] };
                path: { "0/0": string[] };
            };
            requiredSigners: number;
            stringExtendedPublicKeys: string[];
        }[];
        keys: {
            open_source: { bip39Phrase: string[]; nodes: {} };
            unchained: { nodes: {} };
        };
        multisigs: (
            | {
                address: string;
                bip32Derivation: {
                    masterFingerprint: Buffer;
                    path: string;
                    pubkey: Buffer;
                }[];
                bip32Path: string;
                braidAwareMultisig: {};
                braidDetails: {
                    addressType: string;
                    extendedPublicKeys: {
                        base58String: string;
                        chaincode: string;
                        depth: number;
                        index: number;
                        parentFingerprint: number;
                        path: string;
                        pubkey: string;
                        rootFingerprint: string;
                        version: string;
                    }[];
                    index: string;
                    network: Network;
                    requiredSigners: number;
                };
                changeBip32Derivation: {
                    masterFingerprint: Buffer;
                    path: string;
                    pubkey: Buffer;
                }[];
                changeBraidDetails: {
                    addressType: string;
                    extendedPublicKeys: {
                        base58String: string;
                        chaincode: string;
                        depth: number;
                        index: number;
                        parentFingerprint: number;
                        path: string;
                        pubkey: string;
                        rootFingerprint: string;
                        version: string;
                    }[];
                    index: string;
                    network: Network;
                    requiredSigners: number;
                };
                changePublicKeys: string[];
                description: string;
                multisig: {};
                multisigScript: any;
                multisigScriptHex: undefined
                | string;
                multisigScriptOps: undefined | string;
                network: Network;
                policyHmac: string;
                psbt: string;
                psbtNoChange: string;
                psbtOrderedPartiallySigned: string;
                psbtPartiallySigned: string;
                psbtWithGlobalXpub: string;
                publicKey: string;
                publicKeys: string[];
                redeemScriptHex: string;
                redeemScriptOps: string;
                scriptHex: string;
                scriptOps: string;
                transaction:
                    | {
                        byteCeilingSignature: string[];
                        hex: string;
                        outputs: any[];
                        signature: string[];
                    }
                    | {
                        byteCeilingSignature: string[];
                        hex: string;
                        outputs: any[];
                        signature: string[];
                    }
                    | {
                        byteCeilingSignature: string[];
                        hex: string;
                        outputs: any[];
                        signature: string[];
                    }
                    | {
                        byteCeilingSignature: string[];
                        hex: string;
                        outputs: any[];
                        signature: string[];
                    };
                type: string;
                utxos: any[];
                witnessScriptHex?: undefined;
                witnessScriptOps?: undefined;
            }
            | {
                address: string;
                bip32Derivation?: undefined;
                bip32Path: string;
                braidAwareMultisig: {};
                braidDetails: {
                    addressType: string;
                    extendedPublicKeys: {
                        base58String: string;
                        chaincode: string;
                        depth: number;
                        index: number;
                        parentFingerprint: number;
                        path: string;
                        pubkey: string;
                        rootFingerprint: string;
                        version: string;
                    }[];
                    index: string;
                    network: Network;
                    requiredSigners: number;
                };
                changeBip32Derivation?: undefined;
                changeBraidDetails?: undefined;
                changePublicKeys?: undefined;
                description: string;
                multisig: {};
                multisigScript: any;
                multisigScriptHex: undefined
                | string;
                multisigScriptOps: undefined | string;
                network: Network;
                policyHmac: string;
                psbt: string;
                psbtNoChange: string;
                psbtOrderedPartiallySigned?: undefined;
                psbtPartiallySigned: string;
                psbtWithGlobalXpub: string;
                publicKey: string;
                publicKeys: string[];
                redeemScriptHex: string;
                redeemScriptOps: string;
                scriptHex: string;
                scriptOps: string;
                transaction:
                    | {
                        byteCeilingSignature: string[];
                        hex: string;
                        outputs: any[];
                        signature: string[];
                    }
                    | {
                        byteCeilingSignature: string[];
                        hex: string;
                        outputs: any[];
                        signature: string[];
                    }
                    | {
                        byteCeilingSignature: string[];
                        hex: string;
                        outputs: any[];
                        signature: string[];
                    }
                    | {
                        byteCeilingSignature: string[];
                        hex: string;
                        outputs: any[];
                        signature: string[];
                    };
                type: string;
                utxos: any[];
                witnessScriptHex: string;
                witnessScriptOps: string;
            }
            | {
                address: string;
                bip32Derivation?: undefined;
                bip32Path: string;
                braidAwareMultisig: {};
                braidDetails: {
                    addressType: string;
                    extendedPublicKeys: {
                        base58String: string;
                        chaincode: string;
                        depth: number;
                        index: number;
                        parentFingerprint: number;
                        path: string;
                        pubkey: string;
                        rootFingerprint: string;
                        version: string;
                    }[];
                    index: string;
                    network: Network;
                    requiredSigners: number;
                };
                changeBip32Derivation?: undefined;
                changeBraidDetails?: undefined;
                changePublicKeys?: undefined;
                description: string;
                multisig: {};
                multisigScript: any;
                multisigScriptHex: undefined
                | string;
                multisigScriptOps: undefined | string;
                network: Network;
                policyHmac: string;
                psbt: string;
                psbtNoChange: string;
                psbtOrderedPartiallySigned?: undefined;
                psbtPartiallySigned: string;
                psbtWithGlobalXpub: string;
                publicKey: string;
                publicKeys: string[];
                redeemScriptHex?: undefined;
                redeemScriptOps?: undefined;
                scriptHex: string;
                scriptOps: string;
                transaction:
                    | {
                        byteCeilingSignature: string[];
                        hex: string;
                        outputs: any[];
                        signature: string[];
                    }
                    | {
                        byteCeilingSignature: string[];
                        hex: string;
                        outputs: any[];
                        signature: string[];
                    }
                    | {
                        byteCeilingSignature: string[];
                        hex: string;
                        outputs: any[];
                        signature: string[];
                    }
                    | {
                        byteCeilingSignature: string[];
                        hex: string;
                        outputs: any[];
                        signature: string[];
                    };
                type: string;
                utxos: any[];
                witnessScriptHex: string;
                witnessScriptOps: string;
            }
            | {
                address: string;
                bip32Derivation?: undefined;
                bip32Path: string;
                braidAwareMultisig: {};
                braidDetails: {
                    addressType: string;
                    extendedPublicKeys: {
                        base58String: string;
                        chaincode: string;
                        depth: number;
                        index: number;
                        parentFingerprint: number;
                        path: string;
                        pubkey: string;
                        rootFingerprint: string;
                        version: string;
                    }[];
                    index: string;
                    network: Network;
                    requiredSigners: number;
                };
                changeBip32Derivation?: undefined;
                changeBraidDetails?: undefined;
                changePublicKeys?: undefined;
                description: string;
                multisig: {};
                multisigScript: any;
                multisigScriptHex: undefined
                | string;
                multisigScriptOps: undefined | string;
                network: Network;
                policyHmac: string;
                psbt: string;
                psbtNoChange: string;
                psbtOrderedPartiallySigned?: undefined;
                psbtPartiallySigned: string;
                psbtWithGlobalXpub: string;
                publicKey: string;
                publicKeys: string[];
                redeemScriptHex: string;
                redeemScriptOps: string;
                scriptHex: string;
                scriptOps: string;
                transaction:
                    | {
                        byteCeilingSignature: string[];
                        hex: string;
                        outputs: any[];
                        signature: string[];
                    }
                    | {
                        byteCeilingSignature: string[];
                        hex: string;
                        outputs: any[];
                        signature: string[];
                    }
                    | {
                        byteCeilingSignature: string[];
                        hex: string;
                        outputs: any[];
                        signature: string[];
                    }
                    | {
                        byteCeilingSignature: string[];
                        hex: string;
                        outputs: any[];
                        signature: string[];
                    };
                type: string;
                utxos: any[];
                witnessScriptHex?: undefined;
                witnessScriptOps?: undefined;
            }
        )[];
        transactions: any[];
    } = ...

    A set of test fixtures mostly built from the same [BIP39 seed phrase]https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki.

    Initializing your keystore with this seed phrase will allow you to replicate many of the unit (and integration) tests in this library on your hardware/software. This is also useful for functional testing.

    Includes the following properties:

    • keys - given the multisig nature of these fixtures, they involve keys from multiple sources
    • open_source - open source fixtures
    • `bip39Phrase` -- the BIP39 seed phrase used for all other fixtures
      
    • `nodes` -- an object mapping BIP32 paths to the corresponding [HD node]module:fixtures.HDNode derived from the BIP39 seed phrase above.
      
    • unchained - unchained fixtures
    • `nodes` -- an object mapping BIP32 paths to the corresponding [HD node]module:fixtures.HDNode derived from unchained seed phrase (not shared).
      
    • multisigs -- an array of [multisig addresses]module:fixtures.MultisigAddress derived from the HD nodes above.
    • braids -- an array of [braids]module.braid.Braid derived from the open_source + unchained HD nodes above.
    • transactions -- an array of [transactions]module:fixtures.MultisigTransaction from the multisig address above.

    Type declaration

    • braids: {
          addressType: string;
          bip32Derivations: {
              index: {
                  "0": { masterFingerprint: Buffer; path: string; pubkey: Buffer }[];
                  "1": { masterFingerprint: Buffer; path: string; pubkey: Buffer }[];
                  "48349": { masterFingerprint: Buffer; path: string; pubkey: Buffer }[];
              };
              path: {
                  "0/0": { masterFingerprint: Buffer; path: string; pubkey: Buffer }[];
              };
          };
          extendedPublicKeys: {
              base58String: string;
              chaincode: string;
              depth: number;
              index: number;
              parentFingerprint: number;
              path: string;
              pubkey: string;
              rootFingerprint: string;
              version: string;
          }[];
          index: string;
          network: Network;
          pubKeySets: {
              index: { "0": string[]; "1": string[]; "48349": string[] };
              path: { "0/0": string[] };
          };
          requiredSigners: number;
          stringExtendedPublicKeys: string[];
      }[]
    • keys: { open_source: { bip39Phrase: string[]; nodes: {} }; unchained: { nodes: {} } }
    • multisigs: (
          | {
              address: string;
              bip32Derivation: {
                  masterFingerprint: Buffer;
                  path: string;
                  pubkey: Buffer;
              }[];
              bip32Path: string;
              braidAwareMultisig: {};
              braidDetails: {
                  addressType: string;
                  extendedPublicKeys: {
                      base58String: string;
                      chaincode: string;
                      depth: number;
                      index: number;
                      parentFingerprint: number;
                      path: string;
                      pubkey: string;
                      rootFingerprint: string;
                      version: string;
                  }[];
                  index: string;
                  network: Network;
                  requiredSigners: number;
              };
              changeBip32Derivation: {
                  masterFingerprint: Buffer;
                  path: string;
                  pubkey: Buffer;
              }[];
              changeBraidDetails: {
                  addressType: string;
                  extendedPublicKeys: {
                      base58String: string;
                      chaincode: string;
                      depth: number;
                      index: number;
                      parentFingerprint: number;
                      path: string;
                      pubkey: string;
                      rootFingerprint: string;
                      version: string;
                  }[];
                  index: string;
                  network: Network;
                  requiredSigners: number;
              };
              changePublicKeys: string[];
              description: string;
              multisig: {};
              multisigScript: any;
              multisigScriptHex: undefined
              | string;
              multisigScriptOps: undefined | string;
              network: Network;
              policyHmac: string;
              psbt: string;
              psbtNoChange: string;
              psbtOrderedPartiallySigned: string;
              psbtPartiallySigned: string;
              psbtWithGlobalXpub: string;
              publicKey: string;
              publicKeys: string[];
              redeemScriptHex: string;
              redeemScriptOps: string;
              scriptHex: string;
              scriptOps: string;
              transaction:
                  | {
                      byteCeilingSignature: string[];
                      hex: string;
                      outputs: any[];
                      signature: string[];
                  }
                  | {
                      byteCeilingSignature: string[];
                      hex: string;
                      outputs: any[];
                      signature: string[];
                  }
                  | {
                      byteCeilingSignature: string[];
                      hex: string;
                      outputs: any[];
                      signature: string[];
                  }
                  | {
                      byteCeilingSignature: string[];
                      hex: string;
                      outputs: any[];
                      signature: string[];
                  };
              type: string;
              utxos: any[];
              witnessScriptHex?: undefined;
              witnessScriptOps?: undefined;
          }
          | {
              address: string;
              bip32Derivation?: undefined;
              bip32Path: string;
              braidAwareMultisig: {};
              braidDetails: {
                  addressType: string;
                  extendedPublicKeys: {
                      base58String: string;
                      chaincode: string;
                      depth: number;
                      index: number;
                      parentFingerprint: number;
                      path: string;
                      pubkey: string;
                      rootFingerprint: string;
                      version: string;
                  }[];
                  index: string;
                  network: Network;
                  requiredSigners: number;
              };
              changeBip32Derivation?: undefined;
              changeBraidDetails?: undefined;
              changePublicKeys?: undefined;
              description: string;
              multisig: {};
              multisigScript: any;
              multisigScriptHex: undefined
              | string;
              multisigScriptOps: undefined | string;
              network: Network;
              policyHmac: string;
              psbt: string;
              psbtNoChange: string;
              psbtOrderedPartiallySigned?: undefined;
              psbtPartiallySigned: string;
              psbtWithGlobalXpub: string;
              publicKey: string;
              publicKeys: string[];
              redeemScriptHex: string;
              redeemScriptOps: string;
              scriptHex: string;
              scriptOps: string;
              transaction:
                  | {
                      byteCeilingSignature: string[];
                      hex: string;
                      outputs: any[];
                      signature: string[];
                  }
                  | {
                      byteCeilingSignature: string[];
                      hex: string;
                      outputs: any[];
                      signature: string[];
                  }
                  | {
                      byteCeilingSignature: string[];
                      hex: string;
                      outputs: any[];
                      signature: string[];
                  }
                  | {
                      byteCeilingSignature: string[];
                      hex: string;
                      outputs: any[];
                      signature: string[];
                  };
              type: string;
              utxos: any[];
              witnessScriptHex: string;
              witnessScriptOps: string;
          }
          | {
              address: string;
              bip32Derivation?: undefined;
              bip32Path: string;
              braidAwareMultisig: {};
              braidDetails: {
                  addressType: string;
                  extendedPublicKeys: {
                      base58String: string;
                      chaincode: string;
                      depth: number;
                      index: number;
                      parentFingerprint: number;
                      path: string;
                      pubkey: string;
                      rootFingerprint: string;
                      version: string;
                  }[];
                  index: string;
                  network: Network;
                  requiredSigners: number;
              };
              changeBip32Derivation?: undefined;
              changeBraidDetails?: undefined;
              changePublicKeys?: undefined;
              description: string;
              multisig: {};
              multisigScript: any;
              multisigScriptHex: undefined
              | string;
              multisigScriptOps: undefined | string;
              network: Network;
              policyHmac: string;
              psbt: string;
              psbtNoChange: string;
              psbtOrderedPartiallySigned?: undefined;
              psbtPartiallySigned: string;
              psbtWithGlobalXpub: string;
              publicKey: string;
              publicKeys: string[];
              redeemScriptHex?: undefined;
              redeemScriptOps?: undefined;
              scriptHex: string;
              scriptOps: string;
              transaction:
                  | {
                      byteCeilingSignature: string[];
                      hex: string;
                      outputs: any[];
                      signature: string[];
                  }
                  | {
                      byteCeilingSignature: string[];
                      hex: string;
                      outputs: any[];
                      signature: string[];
                  }
                  | {
                      byteCeilingSignature: string[];
                      hex: string;
                      outputs: any[];
                      signature: string[];
                  }
                  | {
                      byteCeilingSignature: string[];
                      hex: string;
                      outputs: any[];
                      signature: string[];
                  };
              type: string;
              utxos: any[];
              witnessScriptHex: string;
              witnessScriptOps: string;
          }
          | {
              address: string;
              bip32Derivation?: undefined;
              bip32Path: string;
              braidAwareMultisig: {};
              braidDetails: {
                  addressType: string;
                  extendedPublicKeys: {
                      base58String: string;
                      chaincode: string;
                      depth: number;
                      index: number;
                      parentFingerprint: number;
                      path: string;
                      pubkey: string;
                      rootFingerprint: string;
                      version: string;
                  }[];
                  index: string;
                  network: Network;
                  requiredSigners: number;
              };
              changeBip32Derivation?: undefined;
              changeBraidDetails?: undefined;
              changePublicKeys?: undefined;
              description: string;
              multisig: {};
              multisigScript: any;
              multisigScriptHex: undefined
              | string;
              multisigScriptOps: undefined | string;
              network: Network;
              policyHmac: string;
              psbt: string;
              psbtNoChange: string;
              psbtOrderedPartiallySigned?: undefined;
              psbtPartiallySigned: string;
              psbtWithGlobalXpub: string;
              publicKey: string;
              publicKeys: string[];
              redeemScriptHex: string;
              redeemScriptOps: string;
              scriptHex: string;
              scriptOps: string;
              transaction:
                  | {
                      byteCeilingSignature: string[];
                      hex: string;
                      outputs: any[];
                      signature: string[];
                  }
                  | {
                      byteCeilingSignature: string[];
                      hex: string;
                      outputs: any[];
                      signature: string[];
                  }
                  | {
                      byteCeilingSignature: string[];
                      hex: string;
                      outputs: any[];
                      signature: string[];
                  }
                  | {
                      byteCeilingSignature: string[];
                      hex: string;
                      outputs: any[];
                      signature: string[];
                  };
              type: string;
              utxos: any[];
              witnessScriptHex?: undefined;
              witnessScriptOps?: undefined;
          }
      )[]
    • transactions: any[]
    import {TEST_FIXTURES} from "@caravan/bitcoin";
    console.log(TEST_FIXTURES.keys.open_source.bip39Phrase);
    // merge alley lucky axis penalty manage latin gasp virus captain wheel deal chase fragile chapter boss zero dirt stadium tooth physical valve kid plunge