@gvnrdao/dh-sdk 0.0.335 → 0.0.337
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/browser/dist/browser.js +1 -1
- package/dist/deployments.js +11 -4
- package/dist/deployments.mjs +11 -4
- package/dist/index.js +24 -7
- package/dist/index.mjs +24 -7
- package/dist/safe-delegation.js +11 -4
- package/dist/safe-delegation.mjs +11 -4
- package/dist/utils/withdrawal-reconciliation.utils.d.ts +5 -4
- package/package.json +2 -2
package/dist/deployments.js
CHANGED
|
@@ -154,9 +154,9 @@ var SEPOLIA_DEPLOYMENT = {
|
|
|
154
154
|
reason: "Shared upgrade script: LiquidationManagerModule implementation update"
|
|
155
155
|
},
|
|
156
156
|
BTCSpendAuthorizer: {
|
|
157
|
-
previousImplementation: "
|
|
158
|
-
newImplementation: "
|
|
159
|
-
upgradedAt: "2026-
|
|
157
|
+
previousImplementation: "0xdd3DFaEc50d6214d57eA64e8b76ff318b501607b",
|
|
158
|
+
newImplementation: "0xf3282B5A1AE6428ee1b08cfaAF4EB4e198877484",
|
|
159
|
+
upgradedAt: "2026-09-06T15:03:13.627Z",
|
|
160
160
|
upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
|
|
161
161
|
reason: "Shared upgrade script: BTCSpendAuthorizer implementation update"
|
|
162
162
|
},
|
|
@@ -222,6 +222,13 @@ var SEPOLIA_DEPLOYMENT = {
|
|
|
222
222
|
upgradedAt: "2026-07-07T16:56:49.844Z",
|
|
223
223
|
upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
|
|
224
224
|
reason: "Shared upgrade script: BitcoinWithdrawalAddressRegistry implementation update"
|
|
225
|
+
},
|
|
226
|
+
AgentDelegationRegistry: {
|
|
227
|
+
previousImplementation: "0xE931E4b9ceF2A48Ac7D57192da4B523756cFC310",
|
|
228
|
+
newImplementation: "0xE931E4b9ceF2A48Ac7D57192da4B523756cFC310",
|
|
229
|
+
upgradedAt: "2026-09-06T15:06:02.814Z",
|
|
230
|
+
upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
|
|
231
|
+
reason: "Reconciled implementation from chain"
|
|
225
232
|
}
|
|
226
233
|
},
|
|
227
234
|
history: {
|
|
@@ -307,7 +314,7 @@ var SEPOLIA_DEPLOYMENT = {
|
|
|
307
314
|
LIQUIDATION_MANAGER_MODULE: "0xC4AB00f39e7ceD812F5C67058C9fa44e15d40e76",
|
|
308
315
|
LIQUIDATION_MANAGER_MODULE_IMPL: "0xCe7587C47094BBb3dCa13D7a2299Ec9beA6cd759",
|
|
309
316
|
BTC_SPEND_AUTHORIZER: "0xd7E9Eb5eE53f1d9ee55Dc162bBC7486bE437B6bD",
|
|
310
|
-
BTC_SPEND_AUTHORIZER_IMPL: "
|
|
317
|
+
BTC_SPEND_AUTHORIZER_IMPL: "0xf3282B5A1AE6428ee1b08cfaAF4EB4e198877484",
|
|
311
318
|
UPGRADE_VALIDATOR: "0x592e650edD9bA26ecc407989fdd6F9cdcDeC27A6",
|
|
312
319
|
UPGRADE_VALIDATOR_IMPL: "0x9E70e1D07AB11ac9dD37B67AA091Efe97d7Ed84b",
|
|
313
320
|
BITCOIN_PROVIDER_REGISTRY: "0xbfA0c48B070D0a9A9CD27469AeacFD2d4261cEE2",
|
package/dist/deployments.mjs
CHANGED
|
@@ -121,9 +121,9 @@ var SEPOLIA_DEPLOYMENT = {
|
|
|
121
121
|
reason: "Shared upgrade script: LiquidationManagerModule implementation update"
|
|
122
122
|
},
|
|
123
123
|
BTCSpendAuthorizer: {
|
|
124
|
-
previousImplementation: "
|
|
125
|
-
newImplementation: "
|
|
126
|
-
upgradedAt: "2026-
|
|
124
|
+
previousImplementation: "0xdd3DFaEc50d6214d57eA64e8b76ff318b501607b",
|
|
125
|
+
newImplementation: "0xf3282B5A1AE6428ee1b08cfaAF4EB4e198877484",
|
|
126
|
+
upgradedAt: "2026-09-06T15:03:13.627Z",
|
|
127
127
|
upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
|
|
128
128
|
reason: "Shared upgrade script: BTCSpendAuthorizer implementation update"
|
|
129
129
|
},
|
|
@@ -189,6 +189,13 @@ var SEPOLIA_DEPLOYMENT = {
|
|
|
189
189
|
upgradedAt: "2026-07-07T16:56:49.844Z",
|
|
190
190
|
upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
|
|
191
191
|
reason: "Shared upgrade script: BitcoinWithdrawalAddressRegistry implementation update"
|
|
192
|
+
},
|
|
193
|
+
AgentDelegationRegistry: {
|
|
194
|
+
previousImplementation: "0xE931E4b9ceF2A48Ac7D57192da4B523756cFC310",
|
|
195
|
+
newImplementation: "0xE931E4b9ceF2A48Ac7D57192da4B523756cFC310",
|
|
196
|
+
upgradedAt: "2026-09-06T15:06:02.814Z",
|
|
197
|
+
upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
|
|
198
|
+
reason: "Reconciled implementation from chain"
|
|
192
199
|
}
|
|
193
200
|
},
|
|
194
201
|
history: {
|
|
@@ -274,7 +281,7 @@ var SEPOLIA_DEPLOYMENT = {
|
|
|
274
281
|
LIQUIDATION_MANAGER_MODULE: "0xC4AB00f39e7ceD812F5C67058C9fa44e15d40e76",
|
|
275
282
|
LIQUIDATION_MANAGER_MODULE_IMPL: "0xCe7587C47094BBb3dCa13D7a2299Ec9beA6cd759",
|
|
276
283
|
BTC_SPEND_AUTHORIZER: "0xd7E9Eb5eE53f1d9ee55Dc162bBC7486bE437B6bD",
|
|
277
|
-
BTC_SPEND_AUTHORIZER_IMPL: "
|
|
284
|
+
BTC_SPEND_AUTHORIZER_IMPL: "0xf3282B5A1AE6428ee1b08cfaAF4EB4e198877484",
|
|
278
285
|
UPGRADE_VALIDATOR: "0x592e650edD9bA26ecc407989fdd6F9cdcDeC27A6",
|
|
279
286
|
UPGRADE_VALIDATOR_IMPL: "0x9E70e1D07AB11ac9dD37B67AA091Efe97d7Ed84b",
|
|
280
287
|
BITCOIN_PROVIDER_REGISTRY: "0xbfA0c48B070D0a9A9CD27469AeacFD2d4261cEE2",
|
package/dist/index.js
CHANGED
|
@@ -179,9 +179,9 @@ var init_deployment_addresses = __esm({
|
|
|
179
179
|
reason: "Shared upgrade script: LiquidationManagerModule implementation update"
|
|
180
180
|
},
|
|
181
181
|
BTCSpendAuthorizer: {
|
|
182
|
-
previousImplementation: "
|
|
183
|
-
newImplementation: "
|
|
184
|
-
upgradedAt: "2026-
|
|
182
|
+
previousImplementation: "0xdd3DFaEc50d6214d57eA64e8b76ff318b501607b",
|
|
183
|
+
newImplementation: "0xf3282B5A1AE6428ee1b08cfaAF4EB4e198877484",
|
|
184
|
+
upgradedAt: "2026-09-06T15:03:13.627Z",
|
|
185
185
|
upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
|
|
186
186
|
reason: "Shared upgrade script: BTCSpendAuthorizer implementation update"
|
|
187
187
|
},
|
|
@@ -247,6 +247,13 @@ var init_deployment_addresses = __esm({
|
|
|
247
247
|
upgradedAt: "2026-07-07T16:56:49.844Z",
|
|
248
248
|
upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
|
|
249
249
|
reason: "Shared upgrade script: BitcoinWithdrawalAddressRegistry implementation update"
|
|
250
|
+
},
|
|
251
|
+
AgentDelegationRegistry: {
|
|
252
|
+
previousImplementation: "0xE931E4b9ceF2A48Ac7D57192da4B523756cFC310",
|
|
253
|
+
newImplementation: "0xE931E4b9ceF2A48Ac7D57192da4B523756cFC310",
|
|
254
|
+
upgradedAt: "2026-09-06T15:06:02.814Z",
|
|
255
|
+
upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
|
|
256
|
+
reason: "Reconciled implementation from chain"
|
|
250
257
|
}
|
|
251
258
|
},
|
|
252
259
|
history: {
|
|
@@ -332,7 +339,7 @@ var init_deployment_addresses = __esm({
|
|
|
332
339
|
LIQUIDATION_MANAGER_MODULE: "0xC4AB00f39e7ceD812F5C67058C9fa44e15d40e76",
|
|
333
340
|
LIQUIDATION_MANAGER_MODULE_IMPL: "0xCe7587C47094BBb3dCa13D7a2299Ec9beA6cd759",
|
|
334
341
|
BTC_SPEND_AUTHORIZER: "0xd7E9Eb5eE53f1d9ee55Dc162bBC7486bE437B6bD",
|
|
335
|
-
BTC_SPEND_AUTHORIZER_IMPL: "
|
|
342
|
+
BTC_SPEND_AUTHORIZER_IMPL: "0xf3282B5A1AE6428ee1b08cfaAF4EB4e198877484",
|
|
336
343
|
UPGRADE_VALIDATOR: "0x592e650edD9bA26ecc407989fdd6F9cdcDeC27A6",
|
|
337
344
|
UPGRADE_VALIDATOR_IMPL: "0x9E70e1D07AB11ac9dD37B67AA091Efe97d7Ed84b",
|
|
338
345
|
BITCOIN_PROVIDER_REGISTRY: "0xbfA0c48B070D0a9A9CD27469AeacFD2d4261cEE2",
|
|
@@ -5566,7 +5573,17 @@ function getSepoliaConfig() {
|
|
|
5566
5573
|
function getMainnetConfig() {
|
|
5567
5574
|
return {
|
|
5568
5575
|
mode: "service",
|
|
5569
|
-
|
|
5576
|
+
// Cutover 2026-09-08: the product's own domain. `ops.gvnr.xyz` still serves the same
|
|
5577
|
+
// broker and always will — every already-installed copy of this package calls it, so
|
|
5578
|
+
// it can never be retired. This changes what NEW installs default to, nothing else.
|
|
5579
|
+
//
|
|
5580
|
+
// Safe only because the server accepts the new audience ALREADY: the SDK derives the
|
|
5581
|
+
// login audience from this endpoint (`server-session.ts` — `loginAudience ??
|
|
5582
|
+
// serviceEndpoint`) and lit-ops-server FAILS CLOSED on an unknown one. Verified live
|
|
5583
|
+
// before this edit: DH_ACCEPTED_LOGIN_AUDIENCES on the deployed revision lists
|
|
5584
|
+
// https://ops.diamondhands.credit. Publishing this ahead of that would lock out every
|
|
5585
|
+
// client that installed it.
|
|
5586
|
+
serviceEndpoint: "https://ops.diamondhands.credit",
|
|
5570
5587
|
chainId: 1,
|
|
5571
5588
|
name: "mainnet",
|
|
5572
5589
|
// No default RPC: mainnet runs in service mode (serviceEndpoint above), so
|
|
@@ -7686,12 +7703,12 @@ async function reconcileAuthorizedSpend(spend, esploraBaseUrl, httpGetJson = def
|
|
|
7686
7703
|
{ txid: spend.txid, vout: spend.vout }
|
|
7687
7704
|
);
|
|
7688
7705
|
}
|
|
7689
|
-
if (spend.targetAmount
|
|
7706
|
+
if (spend.targetAmount > spend.satoshis) {
|
|
7690
7707
|
return {
|
|
7691
7708
|
spend,
|
|
7692
7709
|
status: "CORRUPT",
|
|
7693
7710
|
onChainOutputValue,
|
|
7694
|
-
reason: `Authorized targetAmount ${spend.targetAmount} sats
|
|
7711
|
+
reason: `Authorized targetAmount ${spend.targetAmount} sats exceeds the ${spend.satoshis}-sat aggregate input value \u2014 the contract could never have authorized this`
|
|
7695
7712
|
};
|
|
7696
7713
|
}
|
|
7697
7714
|
const outspendRes = await httpGetJson(
|
package/dist/index.mjs
CHANGED
|
@@ -185,9 +185,9 @@ var init_deployment_addresses = __esm({
|
|
|
185
185
|
reason: "Shared upgrade script: LiquidationManagerModule implementation update"
|
|
186
186
|
},
|
|
187
187
|
BTCSpendAuthorizer: {
|
|
188
|
-
previousImplementation: "
|
|
189
|
-
newImplementation: "
|
|
190
|
-
upgradedAt: "2026-
|
|
188
|
+
previousImplementation: "0xdd3DFaEc50d6214d57eA64e8b76ff318b501607b",
|
|
189
|
+
newImplementation: "0xf3282B5A1AE6428ee1b08cfaAF4EB4e198877484",
|
|
190
|
+
upgradedAt: "2026-09-06T15:03:13.627Z",
|
|
191
191
|
upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
|
|
192
192
|
reason: "Shared upgrade script: BTCSpendAuthorizer implementation update"
|
|
193
193
|
},
|
|
@@ -253,6 +253,13 @@ var init_deployment_addresses = __esm({
|
|
|
253
253
|
upgradedAt: "2026-07-07T16:56:49.844Z",
|
|
254
254
|
upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
|
|
255
255
|
reason: "Shared upgrade script: BitcoinWithdrawalAddressRegistry implementation update"
|
|
256
|
+
},
|
|
257
|
+
AgentDelegationRegistry: {
|
|
258
|
+
previousImplementation: "0xE931E4b9ceF2A48Ac7D57192da4B523756cFC310",
|
|
259
|
+
newImplementation: "0xE931E4b9ceF2A48Ac7D57192da4B523756cFC310",
|
|
260
|
+
upgradedAt: "2026-09-06T15:06:02.814Z",
|
|
261
|
+
upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
|
|
262
|
+
reason: "Reconciled implementation from chain"
|
|
256
263
|
}
|
|
257
264
|
},
|
|
258
265
|
history: {
|
|
@@ -338,7 +345,7 @@ var init_deployment_addresses = __esm({
|
|
|
338
345
|
LIQUIDATION_MANAGER_MODULE: "0xC4AB00f39e7ceD812F5C67058C9fa44e15d40e76",
|
|
339
346
|
LIQUIDATION_MANAGER_MODULE_IMPL: "0xCe7587C47094BBb3dCa13D7a2299Ec9beA6cd759",
|
|
340
347
|
BTC_SPEND_AUTHORIZER: "0xd7E9Eb5eE53f1d9ee55Dc162bBC7486bE437B6bD",
|
|
341
|
-
BTC_SPEND_AUTHORIZER_IMPL: "
|
|
348
|
+
BTC_SPEND_AUTHORIZER_IMPL: "0xf3282B5A1AE6428ee1b08cfaAF4EB4e198877484",
|
|
342
349
|
UPGRADE_VALIDATOR: "0x592e650edD9bA26ecc407989fdd6F9cdcDeC27A6",
|
|
343
350
|
UPGRADE_VALIDATOR_IMPL: "0x9E70e1D07AB11ac9dD37B67AA091Efe97d7Ed84b",
|
|
344
351
|
BITCOIN_PROVIDER_REGISTRY: "0xbfA0c48B070D0a9A9CD27469AeacFD2d4261cEE2",
|
|
@@ -5572,7 +5579,17 @@ function getSepoliaConfig() {
|
|
|
5572
5579
|
function getMainnetConfig() {
|
|
5573
5580
|
return {
|
|
5574
5581
|
mode: "service",
|
|
5575
|
-
|
|
5582
|
+
// Cutover 2026-09-08: the product's own domain. `ops.gvnr.xyz` still serves the same
|
|
5583
|
+
// broker and always will — every already-installed copy of this package calls it, so
|
|
5584
|
+
// it can never be retired. This changes what NEW installs default to, nothing else.
|
|
5585
|
+
//
|
|
5586
|
+
// Safe only because the server accepts the new audience ALREADY: the SDK derives the
|
|
5587
|
+
// login audience from this endpoint (`server-session.ts` — `loginAudience ??
|
|
5588
|
+
// serviceEndpoint`) and lit-ops-server FAILS CLOSED on an unknown one. Verified live
|
|
5589
|
+
// before this edit: DH_ACCEPTED_LOGIN_AUDIENCES on the deployed revision lists
|
|
5590
|
+
// https://ops.diamondhands.credit. Publishing this ahead of that would lock out every
|
|
5591
|
+
// client that installed it.
|
|
5592
|
+
serviceEndpoint: "https://ops.diamondhands.credit",
|
|
5576
5593
|
chainId: 1,
|
|
5577
5594
|
name: "mainnet",
|
|
5578
5595
|
// No default RPC: mainnet runs in service mode (serviceEndpoint above), so
|
|
@@ -7598,12 +7615,12 @@ async function reconcileAuthorizedSpend(spend, esploraBaseUrl, httpGetJson = def
|
|
|
7598
7615
|
{ txid: spend.txid, vout: spend.vout }
|
|
7599
7616
|
);
|
|
7600
7617
|
}
|
|
7601
|
-
if (spend.targetAmount
|
|
7618
|
+
if (spend.targetAmount > spend.satoshis) {
|
|
7602
7619
|
return {
|
|
7603
7620
|
spend,
|
|
7604
7621
|
status: "CORRUPT",
|
|
7605
7622
|
onChainOutputValue,
|
|
7606
|
-
reason: `Authorized targetAmount ${spend.targetAmount} sats
|
|
7623
|
+
reason: `Authorized targetAmount ${spend.targetAmount} sats exceeds the ${spend.satoshis}-sat aggregate input value \u2014 the contract could never have authorized this`
|
|
7607
7624
|
};
|
|
7608
7625
|
}
|
|
7609
7626
|
const outspendRes = await httpGetJson(
|
package/dist/safe-delegation.js
CHANGED
|
@@ -151,9 +151,9 @@ var SEPOLIA_DEPLOYMENT = {
|
|
|
151
151
|
reason: "Shared upgrade script: LiquidationManagerModule implementation update"
|
|
152
152
|
},
|
|
153
153
|
BTCSpendAuthorizer: {
|
|
154
|
-
previousImplementation: "
|
|
155
|
-
newImplementation: "
|
|
156
|
-
upgradedAt: "2026-
|
|
154
|
+
previousImplementation: "0xdd3DFaEc50d6214d57eA64e8b76ff318b501607b",
|
|
155
|
+
newImplementation: "0xf3282B5A1AE6428ee1b08cfaAF4EB4e198877484",
|
|
156
|
+
upgradedAt: "2026-09-06T15:03:13.627Z",
|
|
157
157
|
upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
|
|
158
158
|
reason: "Shared upgrade script: BTCSpendAuthorizer implementation update"
|
|
159
159
|
},
|
|
@@ -219,6 +219,13 @@ var SEPOLIA_DEPLOYMENT = {
|
|
|
219
219
|
upgradedAt: "2026-07-07T16:56:49.844Z",
|
|
220
220
|
upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
|
|
221
221
|
reason: "Shared upgrade script: BitcoinWithdrawalAddressRegistry implementation update"
|
|
222
|
+
},
|
|
223
|
+
AgentDelegationRegistry: {
|
|
224
|
+
previousImplementation: "0xE931E4b9ceF2A48Ac7D57192da4B523756cFC310",
|
|
225
|
+
newImplementation: "0xE931E4b9ceF2A48Ac7D57192da4B523756cFC310",
|
|
226
|
+
upgradedAt: "2026-09-06T15:06:02.814Z",
|
|
227
|
+
upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
|
|
228
|
+
reason: "Reconciled implementation from chain"
|
|
222
229
|
}
|
|
223
230
|
},
|
|
224
231
|
history: {
|
|
@@ -304,7 +311,7 @@ var SEPOLIA_DEPLOYMENT = {
|
|
|
304
311
|
LIQUIDATION_MANAGER_MODULE: "0xC4AB00f39e7ceD812F5C67058C9fa44e15d40e76",
|
|
305
312
|
LIQUIDATION_MANAGER_MODULE_IMPL: "0xCe7587C47094BBb3dCa13D7a2299Ec9beA6cd759",
|
|
306
313
|
BTC_SPEND_AUTHORIZER: "0xd7E9Eb5eE53f1d9ee55Dc162bBC7486bE437B6bD",
|
|
307
|
-
BTC_SPEND_AUTHORIZER_IMPL: "
|
|
314
|
+
BTC_SPEND_AUTHORIZER_IMPL: "0xf3282B5A1AE6428ee1b08cfaAF4EB4e198877484",
|
|
308
315
|
UPGRADE_VALIDATOR: "0x592e650edD9bA26ecc407989fdd6F9cdcDeC27A6",
|
|
309
316
|
UPGRADE_VALIDATOR_IMPL: "0x9E70e1D07AB11ac9dD37B67AA091Efe97d7Ed84b",
|
|
310
317
|
BITCOIN_PROVIDER_REGISTRY: "0xbfA0c48B070D0a9A9CD27469AeacFD2d4261cEE2",
|
package/dist/safe-delegation.mjs
CHANGED
|
@@ -124,9 +124,9 @@ var SEPOLIA_DEPLOYMENT = {
|
|
|
124
124
|
reason: "Shared upgrade script: LiquidationManagerModule implementation update"
|
|
125
125
|
},
|
|
126
126
|
BTCSpendAuthorizer: {
|
|
127
|
-
previousImplementation: "
|
|
128
|
-
newImplementation: "
|
|
129
|
-
upgradedAt: "2026-
|
|
127
|
+
previousImplementation: "0xdd3DFaEc50d6214d57eA64e8b76ff318b501607b",
|
|
128
|
+
newImplementation: "0xf3282B5A1AE6428ee1b08cfaAF4EB4e198877484",
|
|
129
|
+
upgradedAt: "2026-09-06T15:03:13.627Z",
|
|
130
130
|
upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
|
|
131
131
|
reason: "Shared upgrade script: BTCSpendAuthorizer implementation update"
|
|
132
132
|
},
|
|
@@ -192,6 +192,13 @@ var SEPOLIA_DEPLOYMENT = {
|
|
|
192
192
|
upgradedAt: "2026-07-07T16:56:49.844Z",
|
|
193
193
|
upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
|
|
194
194
|
reason: "Shared upgrade script: BitcoinWithdrawalAddressRegistry implementation update"
|
|
195
|
+
},
|
|
196
|
+
AgentDelegationRegistry: {
|
|
197
|
+
previousImplementation: "0xE931E4b9ceF2A48Ac7D57192da4B523756cFC310",
|
|
198
|
+
newImplementation: "0xE931E4b9ceF2A48Ac7D57192da4B523756cFC310",
|
|
199
|
+
upgradedAt: "2026-09-06T15:06:02.814Z",
|
|
200
|
+
upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
|
|
201
|
+
reason: "Reconciled implementation from chain"
|
|
195
202
|
}
|
|
196
203
|
},
|
|
197
204
|
history: {
|
|
@@ -277,7 +284,7 @@ var SEPOLIA_DEPLOYMENT = {
|
|
|
277
284
|
LIQUIDATION_MANAGER_MODULE: "0xC4AB00f39e7ceD812F5C67058C9fa44e15d40e76",
|
|
278
285
|
LIQUIDATION_MANAGER_MODULE_IMPL: "0xCe7587C47094BBb3dCa13D7a2299Ec9beA6cd759",
|
|
279
286
|
BTC_SPEND_AUTHORIZER: "0xd7E9Eb5eE53f1d9ee55Dc162bBC7486bE437B6bD",
|
|
280
|
-
BTC_SPEND_AUTHORIZER_IMPL: "
|
|
287
|
+
BTC_SPEND_AUTHORIZER_IMPL: "0xf3282B5A1AE6428ee1b08cfaAF4EB4e198877484",
|
|
281
288
|
UPGRADE_VALIDATOR: "0x592e650edD9bA26ecc407989fdd6F9cdcDeC27A6",
|
|
282
289
|
UPGRADE_VALIDATOR_IMPL: "0x9E70e1D07AB11ac9dD37B67AA091Efe97d7Ed84b",
|
|
283
290
|
BITCOIN_PROVIDER_REGISTRY: "0xbfA0c48B070D0a9A9CD27469AeacFD2d4261cEE2",
|
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
* the TOTAL input value the consolidation will consume across the vault's
|
|
8
8
|
* confirmed UTXO set (btc-withdrawal.ts signs `vaultSatoshis = newCollateral +
|
|
9
9
|
* totalDeduction`), while `(txid, vout)` pins ONE representative outpoint.
|
|
10
|
-
* `BTCSpendAuthorizer.sol` enforces `targetAmount
|
|
11
|
-
* (
|
|
10
|
+
* `BTCSpendAuthorizer.sol` enforces `targetAmount <= satoshis`
|
|
11
|
+
* (TargetExceedsInputValue; equality is a full sweep with no change output,
|
|
12
|
+
* allowed since 1.7.0) — a withdrawal near the vault's full balance could
|
|
12
13
|
* never be authorized against a single small outpoint's value, so the
|
|
13
14
|
* aggregate is structurally required. NEVER compare `satoshis` to the
|
|
14
15
|
* representative outpoint's own value: for any vault holding more than one
|
|
@@ -21,7 +22,7 @@
|
|
|
21
22
|
* - the output at `vout` pays the VAULT address, when the caller supplies it
|
|
22
23
|
* (else CORRUPT — this is the real 2026-07-20 (vout, satoshis)-decoupling
|
|
23
24
|
* bug class: a vout pointing at an output the vault does not own);
|
|
24
|
-
* - `targetAmount
|
|
25
|
+
* - `targetAmount <= satoshis`, mirroring the contract invariant (else CORRUPT);
|
|
25
26
|
* - the outpoint's spend state (EXECUTED / SPENT_MISMATCH / EXECUTABLE).
|
|
26
27
|
*
|
|
27
28
|
* Statuses:
|
|
@@ -31,7 +32,7 @@
|
|
|
31
32
|
* - SPENT_MISMATCH — outpoint spent but the spending tx pays the target
|
|
32
33
|
* nothing → unexecutable; recoverStaleSpend clears it.
|
|
33
34
|
* - CORRUPT — authorization contradicts the chain (vout out of range,
|
|
34
|
-
* output not owned by the vault, or targetAmount
|
|
35
|
+
* output not owned by the vault, or targetAmount >
|
|
35
36
|
* satoshis) → operator recovery (admin clearing path);
|
|
36
37
|
* never Execute.
|
|
37
38
|
* - UNFUNDED — funding tx unknown/unconfirmed → wait; no Execute yet.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gvnrdao/dh-sdk",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "TypeScript SDK for Diamond Hands Protocol
|
|
3
|
+
"version": "0.0.337",
|
|
4
|
+
"description": "TypeScript SDK for Diamond Hands Protocol",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"module": "dist/index.mjs",
|