@dynamic-labs-sdk/bitcoin 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addBitcoinExtension/addBitcoinExtension.d.ts +4 -2
- package/dist/addBitcoinExtension/addBitcoinExtension.d.ts.map +1 -1
- package/dist/{addBitcoinInjectedWalletsExtension-BKu16bkz.esm.js → addBitcoinInjectedWalletsExtension-BjijCDrr.esm.js} +3 -3
- package/dist/{addBitcoinInjectedWalletsExtension-BKu16bkz.esm.js.map → addBitcoinInjectedWalletsExtension-BjijCDrr.esm.js.map} +1 -1
- package/dist/{addBitcoinInjectedWalletsExtension-BK4quVzy.cjs.js → addBitcoinInjectedWalletsExtension-DNUJc7N7.cjs.js} +8 -2
- package/dist/{addBitcoinInjectedWalletsExtension-BK4quVzy.cjs.js.map → addBitcoinInjectedWalletsExtension-DNUJc7N7.cjs.js.map} +1 -1
- package/dist/errors/FeeRecommendationsFetchError.d.ts +10 -0
- package/dist/errors/FeeRecommendationsFetchError.d.ts.map +1 -0
- package/dist/errors/TransactionBroadcastFailedError.d.ts +10 -0
- package/dist/errors/TransactionBroadcastFailedError.d.ts.map +1 -0
- package/dist/errors/TransactionRequiredError.d.ts +5 -0
- package/dist/errors/TransactionRequiredError.d.ts.map +1 -0
- package/dist/errors/UTXOsFetchError.d.ts +12 -0
- package/dist/errors/UTXOsFetchError.d.ts.map +1 -0
- package/dist/exports/index.d.ts +2 -0
- package/dist/exports/index.d.ts.map +1 -1
- package/dist/exports/waas.d.ts +2 -0
- package/dist/exports/waas.d.ts.map +1 -0
- package/dist/index.cjs.js +125 -3
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +125 -5
- package/dist/index.esm.js.map +1 -1
- package/dist/injected.cjs.js +1 -1
- package/dist/injected.esm.js +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/dist/waas/WaasBitcoinWalletProvider.types.d.ts +30 -0
- package/dist/waas/WaasBitcoinWalletProvider.types.d.ts.map +1 -0
- package/dist/waas/addWaasBitcoinExtension/addWaasBitcoinExtension.d.ts +11 -0
- package/dist/waas/addWaasBitcoinExtension/addWaasBitcoinExtension.d.ts.map +1 -0
- package/dist/waas/addWaasBitcoinExtension/index.d.ts +2 -0
- package/dist/waas/addWaasBitcoinExtension/index.d.ts.map +1 -0
- package/dist/waas/constants.d.ts +36 -0
- package/dist/waas/constants.d.ts.map +1 -0
- package/dist/waas/utils/broadcastTransaction/broadcastTransaction.d.ts +10 -0
- package/dist/waas/utils/broadcastTransaction/broadcastTransaction.d.ts.map +1 -0
- package/dist/waas/utils/broadcastTransaction/index.d.ts +2 -0
- package/dist/waas/utils/broadcastTransaction/index.d.ts.map +1 -0
- package/dist/waas/utils/createWalletProviderForWaasBitcoin/createWalletProviderForWaasBitcoin.d.ts +4 -0
- package/dist/waas/utils/createWalletProviderForWaasBitcoin/createWalletProviderForWaasBitcoin.d.ts.map +1 -0
- package/dist/waas/utils/createWalletProviderForWaasBitcoin/index.d.ts +2 -0
- package/dist/waas/utils/createWalletProviderForWaasBitcoin/index.d.ts.map +1 -0
- package/dist/waas/utils/estimateTransactionFee/estimateTransactionFee.d.ts +11 -0
- package/dist/waas/utils/estimateTransactionFee/estimateTransactionFee.d.ts.map +1 -0
- package/dist/waas/utils/estimateTransactionFee/index.d.ts +2 -0
- package/dist/waas/utils/estimateTransactionFee/index.d.ts.map +1 -0
- package/dist/waas/utils/getFeeRecommendations/getFeeRecommendations.d.ts +9 -0
- package/dist/waas/utils/getFeeRecommendations/getFeeRecommendations.d.ts.map +1 -0
- package/dist/waas/utils/getFeeRecommendations/index.d.ts +2 -0
- package/dist/waas/utils/getFeeRecommendations/index.d.ts.map +1 -0
- package/dist/waas/utils/getUTXOs/getUTXOs.d.ts +10 -0
- package/dist/waas/utils/getUTXOs/getUTXOs.d.ts.map +1 -0
- package/dist/waas/utils/getUTXOs/index.d.ts +2 -0
- package/dist/waas/utils/getUTXOs/index.d.ts.map +1 -0
- package/package.json +8 -3
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { WaasProvider } from '@dynamic-labs-sdk/client/waas/core';
|
|
2
|
+
import type { BitcoinWalletProvider } from '../BitcoinWalletProvider.types';
|
|
3
|
+
export type WaasBitcoinWalletProvider = Omit<WaasProvider, 'signMessage'> & BitcoinWalletProvider;
|
|
4
|
+
/**
|
|
5
|
+
* Unspent Transaction Output (UTXO) from mempool.space
|
|
6
|
+
*/
|
|
7
|
+
export type UTXO = {
|
|
8
|
+
status?: {
|
|
9
|
+
confirmed: boolean;
|
|
10
|
+
};
|
|
11
|
+
txid: string;
|
|
12
|
+
value: number;
|
|
13
|
+
vout: number;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Fee priority levels for transaction fee estimation
|
|
17
|
+
*/
|
|
18
|
+
export type FeePriority = 'high' | 'medium' | 'low';
|
|
19
|
+
/**
|
|
20
|
+
* Fee recommendations from mempool.space API
|
|
21
|
+
* All values are in sat/vB
|
|
22
|
+
*/
|
|
23
|
+
export type FeeRecommendations = {
|
|
24
|
+
economyFee?: number;
|
|
25
|
+
fastestFee?: number;
|
|
26
|
+
halfHourFee?: number;
|
|
27
|
+
hourFee?: number;
|
|
28
|
+
minimumFee?: number;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=WaasBitcoinWalletProvider.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WaasBitcoinWalletProvider.types.d.ts","sourceRoot":"","sources":["../../src/waas/WaasBitcoinWalletProvider.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE5E,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,GACvE,qBAAqB,CAAC;AAExB;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG;IACjB,MAAM,CAAC,EAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEpD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const WAAS_BITCOIN_EXTENSION_KEY = "waasBitcoin";
|
|
2
|
+
/**
|
|
3
|
+
* Adds the Dynamic WaaS (Wallet as a Service) Bitcoin extension to the Dynamic client.
|
|
4
|
+
*
|
|
5
|
+
* This extension enables embedded wallet functionality for Bitcoin blockchain,
|
|
6
|
+
* allowing users to have wallets managed by Dynamic's infrastructure.
|
|
7
|
+
*
|
|
8
|
+
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
9
|
+
*/
|
|
10
|
+
export declare const addWaasBitcoinExtension: (client?: import("@dynamic-labs-sdk/client").DynamicClient) => void;
|
|
11
|
+
//# sourceMappingURL=addWaasBitcoinExtension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addWaasBitcoinExtension.d.ts","sourceRoot":"","sources":["../../../src/waas/addWaasBitcoinExtension/addWaasBitcoinExtension.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,0BAA0B,gBAAgB,CAAC;AAExD;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,iEAAkC,IAgBrE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/waas/addWaasBitcoinExtension/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mempool.space API URL for mainnet
|
|
3
|
+
*/
|
|
4
|
+
export declare const MEMPOOL_API_URL = "https://mempool.space/api";
|
|
5
|
+
/**
|
|
6
|
+
* Number of satoshis per Bitcoin
|
|
7
|
+
*/
|
|
8
|
+
export declare const SATOSHIS_PER_BTC = 100000000;
|
|
9
|
+
/**
|
|
10
|
+
* Bitcoin's dust limit in satoshis
|
|
11
|
+
* Outputs below this value are considered "dust" and will be rejected by nodes
|
|
12
|
+
*/
|
|
13
|
+
export declare const DUST_LIMIT = 546;
|
|
14
|
+
/**
|
|
15
|
+
* Accurate vSize constants for Native SegWit (P2WPKH) transactions
|
|
16
|
+
* Used for precise fee estimation
|
|
17
|
+
*/
|
|
18
|
+
export declare const VSIZE_OVERHEAD = 10.5;
|
|
19
|
+
export declare const VSIZE_INPUT_P2WPKH = 68;
|
|
20
|
+
export declare const VSIZE_OUTPUT_P2WPKH = 31;
|
|
21
|
+
/**
|
|
22
|
+
* Minimum relay fee in satoshis
|
|
23
|
+
* Added to fee estimate to ensure transaction propagation
|
|
24
|
+
*/
|
|
25
|
+
export declare const MIN_RELAY_FEE = 111;
|
|
26
|
+
/**
|
|
27
|
+
* Conservative default fee estimate in satoshis
|
|
28
|
+
* Used as fallback when fee estimation fails
|
|
29
|
+
*/
|
|
30
|
+
export declare const DEFAULT_FEE_ESTIMATE = 1000;
|
|
31
|
+
/**
|
|
32
|
+
* RBF (Replace-By-Fee) sequence number
|
|
33
|
+
* 0xfffffffd = 4294967293 (enables RBF, not final)
|
|
34
|
+
*/
|
|
35
|
+
export declare const RBF_SEQUENCE = 4294967293;
|
|
36
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/waas/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,eAAe,8BAA8B,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,gBAAgB,YAAc,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,UAAU,MAAM,CAAC;AAE9B;;;GAGG;AACH,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC;;;GAGG;AACH,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC;;;GAGG;AACH,eAAO,MAAM,YAAY,aAAa,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sends a raw Bitcoin transaction to the mempool
|
|
3
|
+
*
|
|
4
|
+
* @param rawTransaction - The raw transaction in hex format
|
|
5
|
+
* @returns The transaction ID
|
|
6
|
+
* @throws {TransactionRequiredError} if no transaction is specified
|
|
7
|
+
* @throws {TransactionBroadcastFailedError} if broadcasting fails
|
|
8
|
+
*/
|
|
9
|
+
export declare const broadcastTransaction: (rawTransaction: string) => Promise<string>;
|
|
10
|
+
//# sourceMappingURL=broadcastTransaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcastTransaction.d.ts","sourceRoot":"","sources":["../../../../src/waas/utils/broadcastTransaction/broadcastTransaction.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,mBAA0B,MAAM,KAAG,OAAO,CAAC,MAAM,CAkBjF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/waas/utils/broadcastTransaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/waas/utils/createWalletProviderForWaasBitcoin/createWalletProviderForWaasBitcoin.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { DynamicClient } from '@dynamic-labs-sdk/client';
|
|
2
|
+
import type { WaasBitcoinWalletProvider } from '../../WaasBitcoinWalletProvider.types';
|
|
3
|
+
export declare const createWalletProviderForWaasBitcoin: (sdkClient: DynamicClient) => WaasBitcoinWalletProvider;
|
|
4
|
+
//# sourceMappingURL=createWalletProviderForWaasBitcoin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createWalletProviderForWaasBitcoin.d.ts","sourceRoot":"","sources":["../../../../src/waas/utils/createWalletProviderForWaasBitcoin/createWalletProviderForWaasBitcoin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAiB9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAEvF,eAAO,MAAM,kCAAkC,cAClC,aAAa,KACvB,yBA2FF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/waas/utils/createWalletProviderForWaasBitcoin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { FeePriority } from '../../WaasBitcoinWalletProvider.types';
|
|
2
|
+
/**
|
|
3
|
+
* Estimates transaction fees based on number of inputs and outputs using accurate vSize
|
|
4
|
+
*
|
|
5
|
+
* @param numInputs - Number of transaction inputs
|
|
6
|
+
* @param numOutputs - Number of transaction outputs
|
|
7
|
+
* @param feePriority - Fee priority level (high/medium/low)
|
|
8
|
+
* @returns Estimated fee in satoshis
|
|
9
|
+
*/
|
|
10
|
+
export declare const estimateTransactionFee: (numInputs: number, numOutputs: number, feePriority?: FeePriority) => Promise<number>;
|
|
11
|
+
//# sourceMappingURL=estimateTransactionFee.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"estimateTransactionFee.d.ts","sourceRoot":"","sources":["../../../../src/waas/utils/estimateTransactionFee/estimateTransactionFee.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAGzE;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,cACtB,MAAM,cACL,MAAM,gBACL,WAAW,KACvB,OAAO,CAAC,MAAM,CAqBhB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/waas/utils/estimateTransactionFee/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { FeeRecommendations } from '../../WaasBitcoinWalletProvider.types';
|
|
2
|
+
/**
|
|
3
|
+
* Gets fee recommendations from mempool.space API
|
|
4
|
+
*
|
|
5
|
+
* @returns Fee recommendation data with rates in sat/vB
|
|
6
|
+
* @throws FeeRecommendationsFetchError if fetching fee recommendations fails
|
|
7
|
+
*/
|
|
8
|
+
export declare const getFeeRecommendations: () => Promise<FeeRecommendations>;
|
|
9
|
+
//# sourceMappingURL=getFeeRecommendations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getFeeRecommendations.d.ts","sourceRoot":"","sources":["../../../../src/waas/utils/getFeeRecommendations/getFeeRecommendations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAEhF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QAAa,OAAO,CAAC,kBAAkB,CAQxE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/waas/utils/getFeeRecommendations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { UTXO } from '../../WaasBitcoinWalletProvider.types';
|
|
2
|
+
/**
|
|
3
|
+
* Gets UTXOs for a Bitcoin address from mempool.space API
|
|
4
|
+
*
|
|
5
|
+
* @param address - The Bitcoin address to get UTXOs for
|
|
6
|
+
* @returns Array of UTXOs
|
|
7
|
+
* @throws UTXOsFetchError if fetching UTXOs fails
|
|
8
|
+
*/
|
|
9
|
+
export declare const getUTXOs: (address: string) => Promise<UTXO[]>;
|
|
10
|
+
//# sourceMappingURL=getUTXOs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getUTXOs.d.ts","sourceRoot":"","sources":["../../../../src/waas/utils/getUTXOs/getUTXOs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uCAAuC,CAAC;AAElE;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,YAAmB,MAAM,KAAG,OAAO,CAAC,IAAI,EAAE,CAQ9D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/waas/utils/getUTXOs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs-sdk/bitcoin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.cjs.js",
|
|
6
6
|
"module": "./dist/index.esm.js",
|
|
@@ -19,6 +19,11 @@
|
|
|
19
19
|
"types": "./dist/exports/injected.d.ts",
|
|
20
20
|
"import": "./dist/injected.esm.js",
|
|
21
21
|
"default": "./dist/injected.cjs.js"
|
|
22
|
+
},
|
|
23
|
+
"./waas": {
|
|
24
|
+
"types": "./dist/exports/waas.d.ts",
|
|
25
|
+
"import": "./dist/waas.esm.js",
|
|
26
|
+
"default": "./dist/waas.cjs.js"
|
|
22
27
|
}
|
|
23
28
|
},
|
|
24
29
|
"dependencies": {
|
|
@@ -27,8 +32,8 @@
|
|
|
27
32
|
"bitcoinjs-lib": "7.0.0",
|
|
28
33
|
"jsontokens": "4.0.1",
|
|
29
34
|
"sats-connect": "4.2.1",
|
|
30
|
-
"@dynamic-labs-sdk/assert-package-version": "0.
|
|
31
|
-
"@dynamic-labs-sdk/client": "0.
|
|
35
|
+
"@dynamic-labs-sdk/assert-package-version": "0.5.0",
|
|
36
|
+
"@dynamic-labs-sdk/client": "0.5.0"
|
|
32
37
|
},
|
|
33
38
|
"devDependencies": {
|
|
34
39
|
"vitest": "1.6.1"
|