namespace bdk { }; [Error] enum BdkError { "InvalidU32Bytes", "Generic", "ScriptDoesntHaveAddressForm", "NoRecipients", "NoUtxosSelected", "OutputBelowDustLimit", "InsufficientFunds", "BnBTotalTriesExceeded", "BnBNoExactMatch", "UnknownUtxo", "TransactionNotFound", "TransactionConfirmed", "IrreplaceableTransaction", "FeeRateTooLow", "FeeTooLow", "FeeRateUnavailable", "MissingKeyOrigin", "Key", "ChecksumMismatch", "SpendingPolicyRequired", "InvalidPolicyPathError", "Signer", "InvalidNetwork", "InvalidProgressValue", "ProgressUpdateError", "InvalidOutpoint", "Descriptor", "AddressValidator", "Encode", "Miniscript", "Bip32", "Secp256k1", "Json", "Hex", "Psbt", "PsbtParse", "Electrum", "Sled", }; enum Network { "Bitcoin", "Testnet", "Signet", "Regtest", }; dictionary SledDbConfiguration { string path; string tree_name; }; [Enum] interface DatabaseConfig { Memory(string junk); Sled(SledDbConfiguration configuration); }; interface OfflineWallet { [Throws=BdkError] constructor(Network network, string descriptor, DatabaseConfig database_config); string get_new_address(); };