@atomicfinance/provider 3.6.1 → 4.0.1

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/.nvmrc CHANGED
@@ -1 +1 @@
1
- 14.15.4
1
+ 18.18.2
@@ -0,0 +1 @@
1
+
package/CHANGELOG.md CHANGED
@@ -1,5 +1,113 @@
1
1
  # @atomicfinance/provider
2
2
 
3
+ ## 4.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 03c6974: Add DLC input splicing support
8
+
9
+ This release introduces DLC (Discreet Log Contract) input splicing functionality, enabling more flexible contract funding and management.
10
+
11
+ ## Key Features
12
+ - **Core Types**: Added new types and interfaces for DLC input splicing operations
13
+ - **Provider Integration**: Implemented splicing support in BitcoinDlcProvider with proper input handling
14
+ - **Comprehensive Testing**: Added integration tests to validate splicing functionality
15
+ - **Dependency Updates**: Upgraded @node-dlc to v1.1.0 for enhanced splicing capabilities
16
+
17
+ ## What's New
18
+ - DLC contracts can now be funded using spliced inputs
19
+ - Enhanced input selection and handling for splicing operations
20
+ - Improved test coverage for edge cases in DLC splicing scenarios
21
+
22
+ This feature enables more efficient Bitcoin transaction management when working with DLC contracts by allowing existing UTXOs to be split and used as contract inputs.
23
+
24
+ - d94fbbf: Fix TypeScript ESLint compatibility and improve type safety
25
+ - Upgrade @typescript-eslint dependencies to v6.21.0 for TypeScript 4.9.5 support
26
+
27
+ - b83e3a8: Add single-funded DLC support and update to node-dlc v1.0.1
28
+ - Add comprehensive single-funded DLC support to BitcoinDlcProvider
29
+ - Update @node-dlc dependencies to v1.0.1 with single-funded support
30
+ - Update cfd-dlc-js to v0.0.52
31
+ - Implement single-funded DLC detection and validation logic
32
+ - Handle acceptDlcOffer with 0 collateral scenarios (no funding)
33
+ - Fix fundTxVout calculation for parties with collateral only
34
+ - Add getFundOutputValueSats helper with proper error handling
35
+ - Add markAsSingleFunded() calls for proper DLC type identification
36
+ - Skip funding validation when accept collateral is 0
37
+ - Generate addresses/keys without requiring funding inputs
38
+
39
+ Enables single-funded DLCs where one party provides all collateral
40
+ while the other party participates without funding inputs.
41
+
42
+ - Updated dependencies [03c6974]
43
+ - Updated dependencies [d94fbbf]
44
+ - Updated dependencies [b83e3a8]
45
+ - @atomicfinance/types@4.0.1
46
+
47
+ ## 4.0.0
48
+
49
+ ### Major Changes
50
+
51
+ - 8989c75: Upgrade to @node-dlc v1.0.0
52
+
53
+ ## Breaking Changes
54
+
55
+ This release upgrades to @node-dlc v1.0.0 with significant breaking changes:
56
+
57
+ ### Dependencies
58
+ - Upgraded @node-dlc packages from 0.24.0 to ^1.0.0
59
+ - Minimum Node.js version now 18.18.2
60
+ - Added decimal.js dependency for F64 type support
61
+
62
+ ### API Changes
63
+ - **Message Types**: Removed versioned suffixes (DlcOfferV0 → DlcOffer)
64
+ - **Property Names**:
65
+ - `fundingPubKey` → `fundingPubkey`
66
+ - `payoutSPK` → `payoutSpk`
67
+ - `changeSPK` → `changeSpk`
68
+ - `cetSignatures` → `cetAdaptorSignatures`
69
+ - `tempContractId` → `temporaryContractId`
70
+
71
+ ### Type System
72
+ - **Contract Descriptors**: V0/V1 types replaced with Enumerated/Numerical descriptors
73
+ - **Oracle Types**: OracleInfoV0 → SingleOracleInfo/MultiOracleInfo
74
+ - **Message Validation**: Switched from type-based to property-based checking
75
+ - **Enum Outcomes**: Migrated from Buffer to string format
76
+
77
+ ### New Features
78
+ - Enhanced oracle event descriptor handling
79
+ - Improved decimal precision with F64 types
80
+ - Fallback outcome index search algorithm
81
+ - Auto-generation of temporary contract IDs
82
+
83
+ ## Migration Guide
84
+
85
+ ### Code Updates Required
86
+
87
+ ```javascript
88
+ // Before
89
+ const dlcOffer = new DlcOfferV0();
90
+ dlcOffer.fundingPubKey = pubkey;
91
+ dlcOffer.payoutSPK = spk;
92
+
93
+ // After
94
+ const dlcOffer = new DlcOffer();
95
+ dlcOffer.fundingPubkey = pubkey;
96
+ dlcOffer.payoutSpk = spk;
97
+ ```
98
+
99
+ ### Environment
100
+ - Update Node.js to 18.18.2+
101
+ - Run `yarn install` to update dependencies
102
+ - Review custom DLC implementations for compatibility
103
+
104
+ This is a **major breaking change** requiring code updates in consuming applications.
105
+
106
+ ### Patch Changes
107
+
108
+ - Updated dependencies [8989c75]
109
+ - @atomicfinance/types@4.0.0
110
+
3
111
  ## 3.6.1
4
112
 
5
113
  ### Patch Changes
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@atomicfinance/provider",
3
3
  "umdName": "Provider",
4
- "version": "3.6.1",
4
+ "version": "4.0.1",
5
5
  "description": "Bitcoin Abstraction Layer Provider",
6
6
  "author": "Atomic Finance <info@atomic.finance>",
7
7
  "homepage": "",
@@ -15,7 +15,7 @@
15
15
  "lint:fix": "../../node_modules/.bin/eslint --fix --ignore-path ../../.eslintignore -c ../../.eslintrc.js ."
16
16
  },
17
17
  "dependencies": {
18
- "@atomicfinance/types": "^3.6.1",
18
+ "@atomicfinance/types": "^4.0.1",
19
19
  "lodash": "^4.17.20"
20
20
  },
21
21
  "devDependencies": {