Skip to content

Commit

Permalink
Clean up UDL file
Browse files Browse the repository at this point in the history
  • Loading branch information
thunderbiscuit committed May 17, 2022
1 parent cdea6dc commit efc475e
Showing 1 changed file with 41 additions and 20 deletions.
61 changes: 41 additions & 20 deletions src/bdk.udl
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
namespace bdk {
[Throws=BdkError]
ExtendedKeyInfo generate_extended_key(Network network, WordCount word_count, string? password);

[Throws=BdkError]
ExtendedKeyInfo restore_extended_key(Network network, string mnemonic, string? password);
};
Expand Down Expand Up @@ -83,15 +84,15 @@ interface DatabaseConfig {
};

dictionary TransactionDetails {
u64? fee;
u64 received;
u64 sent;
string txid;
u64? fee;
u64 received;
u64 sent;
string txid;
};

dictionary BlockTime {
u32 height;
u64 timestamp;
u32 height;
u64 timestamp;
};

[Enum]
Expand All @@ -100,6 +101,20 @@ interface Transaction {
Confirmed(TransactionDetails details, BlockTime confirmation);
};

dictionary ExtendedKeyInfo {
string mnemonic;
string xprv;
string fingerprint;
};

enum WordCount {
"Words12",
"Words15",
"Words18",
"Words21",
"Words24",
};

dictionary ElectrumConfig {
string url;
string? socks5;
Expand All @@ -125,6 +140,7 @@ interface BlockchainConfig {
interface Blockchain {
[Throws=BdkError]
constructor(BlockchainConfig config);

[Throws=BdkError]
void broadcast([ByRef] PartiallySignedBitcoinTransaction psbt);
};
Expand All @@ -136,57 +152,62 @@ callback interface Progress {
interface Wallet {
[Throws=BdkError]
constructor(string descriptor, string? change_descriptor, Network network, DatabaseConfig database_config);

[Throws=BdkError]
AddressInfo get_address(AddressIndex address_index);

[Throws=BdkError]
u64 get_balance();

[Throws=BdkError]
void sign([ByRef] PartiallySignedBitcoinTransaction psbt);

[Throws=BdkError]
sequence<Transaction> get_transactions();

Network get_network();

[Throws=BdkError]
void sync([ByRef] Blockchain blockchain, Progress? progress);
};

interface PartiallySignedBitcoinTransaction {
[Throws=BdkError]
constructor(string psbt_base64);

string serialize();

string txid();
};

interface TxBuilder {
constructor();

TxBuilder add_recipient(string address, u64 amount);

TxBuilder fee_rate(float sat_per_vbyte);

TxBuilder drain_wallet();

TxBuilder drain_to(string address);

TxBuilder enable_rbf();

TxBuilder enable_rbf_with_sequence(u32 nsequence);

[Throws=BdkError]
PartiallySignedBitcoinTransaction finish([ByRef] Wallet wallet);
};

interface BumpFeeTxBuilder {
constructor(string txid, float new_fee_rate);

BumpFeeTxBuilder allow_shrinking(string address);

BumpFeeTxBuilder enable_rbf();

BumpFeeTxBuilder enable_rbf_with_sequence(u32 nsequence);

[Throws=BdkError]
PartiallySignedBitcoinTransaction finish([ByRef] Wallet wallet);
};

dictionary ExtendedKeyInfo {
string mnemonic;
string xprv;
string fingerprint;
};

enum WordCount {
"Words12",
"Words15",
"Words18",
"Words21",
"Words24",
};

0 comments on commit efc475e

Please sign in to comment.