@gvnrdao/dh-sdk 0.0.252 → 0.0.255

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/index.js CHANGED
@@ -3675,51 +3675,51 @@ var init_deployment_addresses = __esm({
3675
3675
  },
3676
3676
  upgraded: {
3677
3677
  PositionManager: {
3678
- previousImplementation: "0x5492b2cE6138c1750BDD8DbB15Dc0ea00A5CF241",
3679
- newImplementation: "0x623f3bDff8830d2161D3b5D42d38b39697c65eBE",
3680
- upgradedAt: "2026-05-15T10:41:01.767Z",
3678
+ previousImplementation: "0x623f3bDff8830d2161D3b5D42d38b39697c65eBE",
3679
+ newImplementation: "0xa89b9DA4C2C4715d83EF08daC080a39545367467",
3680
+ upgradedAt: "2026-05-17T15:53:13.068Z",
3681
3681
  upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
3682
3682
  reason: "Shared upgrade script: PositionManager implementation update"
3683
3683
  },
3684
3684
  LoanOperationsManagerModule: {
3685
- previousImplementation: "0x3C1d7887858f106e43aa48bBF0D86C6EBA979980",
3686
- newImplementation: "0xdEf0A042670834369d456c5fbE73ad2126008bD2",
3687
- upgradedAt: "2026-05-15T10:37:26.881Z",
3685
+ previousImplementation: "0xFE48026f88706Bb0AA5CD47E4cBCf0BeD2bE9D6b",
3686
+ newImplementation: "0x07f4710B7A5FF0d532b362c4Ba7a1DC5e4B9D187",
3687
+ upgradedAt: "2026-05-17T15:55:00.789Z",
3688
3688
  upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
3689
- reason: "Shared upgrade script: LoanOperationsManagerModule v1.4.0 (M-3 Chainlink cross-check)"
3689
+ reason: "Shared upgrade script: LoanOperationsManagerModule implementation update"
3690
3690
  },
3691
3691
  UCDController: {
3692
- previousImplementation: "0x0F7c669c891C6534Bfef222B0A6bc9B71c256C58",
3693
- newImplementation: "0x9AFE20da679EA9877893c4A991c8087caE5F7e4C",
3694
- upgradedAt: "2026-05-14T16:04:12.854Z",
3692
+ previousImplementation: "0x9AFE20da679EA9877893c4A991c8087caE5F7e4C",
3693
+ newImplementation: "0x397dE5069270d90c1A62679e0496029D856Cb0ff",
3694
+ upgradedAt: "2026-05-17T15:28:37.792Z",
3695
3695
  upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
3696
3696
  reason: "Shared upgrade script: UCDController implementation update"
3697
3697
  },
3698
3698
  TermManagerModule: {
3699
- previousImplementation: "0x55d6c44162715802d912c4f2B9A7f4Bc06638804",
3700
- newImplementation: "0x309CE239A87ffFB31d4C720804e9908E482d4f10",
3701
- upgradedAt: "2026-05-14T16:08:36.848Z",
3699
+ previousImplementation: "0x309CE239A87ffFB31d4C720804e9908E482d4f10",
3700
+ newImplementation: "0x358d6A7A864853beAA3E157fEB83dCEb1628E8eB",
3701
+ upgradedAt: "2026-05-17T15:35:37.627Z",
3702
3702
  upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
3703
3703
  reason: "Shared upgrade script: TermManagerModule implementation update"
3704
3704
  },
3705
3705
  CircuitBreakerModule: {
3706
- previousImplementation: "0xd0B03c92854b9A260cBd2853f7CB0E29Edb78Ef8",
3707
- newImplementation: "0x24C345841360EEe81C944c00e0E5c8f6CCc53C00",
3708
- upgradedAt: "2026-05-14T16:14:25.887Z",
3706
+ previousImplementation: "0x24C345841360EEe81C944c00e0E5c8f6CCc53C00",
3707
+ newImplementation: "0xA5b11b895fB5a49731ab81BF9FC807b9029c8C98",
3708
+ upgradedAt: "2026-05-17T15:41:49.053Z",
3709
3709
  upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
3710
3710
  reason: "Shared upgrade script: CircuitBreakerModule implementation update"
3711
3711
  },
3712
3712
  AdminModule: {
3713
- previousImplementation: "0x79A7FBb522Ba6629236590958e7F2B07103c3871",
3714
- newImplementation: "0x70a500896A26E4e7CDb56886b9e6438e39DB5ae4",
3715
- upgradedAt: "2026-05-14T16:16:37.959Z",
3713
+ previousImplementation: "0x70a500896A26E4e7CDb56886b9e6438e39DB5ae4",
3714
+ newImplementation: "0x6ec85cb3F377d8D778F7830eA69C578C75cD7488",
3715
+ upgradedAt: "2026-05-17T15:43:53.074Z",
3716
3716
  upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
3717
3717
  reason: "Shared upgrade script: AdminModule implementation update"
3718
3718
  },
3719
3719
  PositionManagerViews: {
3720
- previousImplementation: "0x92311E348730e30237cbF0a58FaD704F8f2B8101",
3721
- newImplementation: "0xBd1F92F24E89cC55acFc422eCA0df00F68B99565",
3722
- upgradedAt: "2026-05-14T18:42:37.153Z",
3720
+ previousImplementation: "0xBd1F92F24E89cC55acFc422eCA0df00F68B99565",
3721
+ newImplementation: "0x3ae633b330Ea80F92c27479639F7ff14351A63Bb",
3722
+ upgradedAt: "2026-05-17T15:49:48.840Z",
3723
3723
  upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
3724
3724
  reason: "Shared upgrade script: PositionManagerViews implementation update"
3725
3725
  },
@@ -3731,51 +3731,51 @@ var init_deployment_addresses = __esm({
3731
3731
  reason: "Add setPositionExpiry() for expiry-liquidation E2E testing"
3732
3732
  },
3733
3733
  UCDToken: {
3734
- previousImplementation: "0x9b6bD0220045010a7D5762f05A3C17982996cb96",
3735
- newImplementation: "0x65c23B6fB5331ACeeC2d82328c6de7dB6b62bB65",
3736
- upgradedAt: "2026-05-13T17:23:49.158Z",
3734
+ previousImplementation: "0x65c23B6fB5331ACeeC2d82328c6de7dB6b62bB65",
3735
+ newImplementation: "0xC587a2cb7e828A44d8C6190eDA6c47b08BA07115",
3736
+ upgradedAt: "2026-05-17T15:30:48.963Z",
3737
3737
  upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
3738
3738
  reason: "Shared upgrade script: UCDToken implementation update"
3739
3739
  },
3740
3740
  PositionManagerCoreModule: {
3741
- previousImplementation: "0xE3B9747af371f459B4d68D30DE5e374040eb6339",
3742
- newImplementation: "0x2e34353852d95f8D39aE648af817de9f750c84D6",
3743
- upgradedAt: "2026-05-14T18:37:36.484Z",
3741
+ previousImplementation: "0x2e34353852d95f8D39aE648af817de9f750c84D6",
3742
+ newImplementation: "0xBf62F7568B6847C08E943548dC727fCAFaa1e6Df",
3743
+ upgradedAt: "2026-05-17T15:32:48.894Z",
3744
3744
  upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
3745
3745
  reason: "Shared upgrade script: PositionManagerCoreModule implementation update"
3746
3746
  },
3747
3747
  CollateralManagerModule: {
3748
- previousImplementation: "0x895E916EC5A056d03099631D193AffFd9Cc2B3DF",
3749
- newImplementation: "0xC3DD73d669174ED7012579bf2dAAf77085AdD4Cf",
3750
- upgradedAt: "2026-05-14T16:10:37.540Z",
3748
+ previousImplementation: "0xC3DD73d669174ED7012579bf2dAAf77085AdD4Cf",
3749
+ newImplementation: "0x428982fCC9A0455c56881B8e21C96B220CC1506B",
3750
+ upgradedAt: "2026-05-17T15:37:25.129Z",
3751
3751
  upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
3752
3752
  reason: "Shared upgrade script: CollateralManagerModule implementation update"
3753
3753
  },
3754
3754
  LiquidationManagerModule: {
3755
- previousImplementation: "0x8E069E4A1deba9Ac021956F3cD771e9e65d756bb",
3756
- newImplementation: "0x15864ea3ECBe7E9FFa0a52b49c4dc7f258FA6300",
3757
- upgradedAt: "2026-05-15T10:43:13.136Z",
3755
+ previousImplementation: "0x15864ea3ECBe7E9FFa0a52b49c4dc7f258FA6300",
3756
+ newImplementation: "0x52e2231f26E8410881BF929e881d295175e078Be",
3757
+ upgradedAt: "2026-05-17T15:39:25.668Z",
3758
3758
  upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
3759
3759
  reason: "Shared upgrade script: LiquidationManagerModule implementation update"
3760
3760
  },
3761
3761
  BTCSpendAuthorizer: {
3762
- previousImplementation: "0xE9b5ECd4cca90a4BdB74b472876D7F60aCEc6314",
3763
- newImplementation: "0xC86d27513EEA597db2903b702334417AfB9b0B69",
3764
- upgradedAt: "2026-05-14T16:18:26.340Z",
3762
+ previousImplementation: "0x8021588673Abf0396c1756EdD16F9B9b6d09fcaC",
3763
+ newImplementation: "0x4614F3aAEB53AE8d8FB2F44d28011bD717764F8f",
3764
+ upgradedAt: "2026-05-17T15:45:37.882Z",
3765
3765
  upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
3766
3766
  reason: "Shared upgrade script: BTCSpendAuthorizer implementation update"
3767
3767
  },
3768
3768
  SimplePSMV2: {
3769
- previousImplementation: "0x1aA5d2407B937B8f0F07932B8050ad23713873eC",
3770
- newImplementation: "0x0728434d86532FD67A4a7227958654C029b333F6",
3771
- upgradedAt: "2026-05-14T16:26:36.862Z",
3769
+ previousImplementation: "0x0728434d86532FD67A4a7227958654C029b333F6",
3770
+ newImplementation: "0x6C36fc51D81601db681217B3083A9D3148c352D8",
3771
+ upgradedAt: "2026-05-17T15:57:01.116Z",
3772
3772
  upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
3773
3773
  reason: "Shared upgrade script: SimplePSMV2 implementation update"
3774
3774
  },
3775
3775
  UpgradeValidator: {
3776
- previousImplementation: "0xEFf189e5872bC7158191eD39d31E745aF2A6FDa7",
3777
- newImplementation: "0x535c9d66F9CFa4f2337cF6074BFc8fdcBBb9cFC4",
3778
- upgradedAt: "2026-05-14T16:28:13.597Z",
3776
+ previousImplementation: "0x535c9d66F9CFa4f2337cF6074BFc8fdcBBb9cFC4",
3777
+ newImplementation: "0x2Dd375041Be067E7d12bAB2106911Ce209EbD12f",
3778
+ upgradedAt: "2026-05-17T15:58:37.805Z",
3779
3779
  upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
3780
3780
  reason: "Shared upgrade script: UpgradeValidator implementation update"
3781
3781
  },
@@ -3787,16 +3787,16 @@ var init_deployment_addresses = __esm({
3787
3787
  reason: "Fresh UUPS proxy deployment (v2.1.0). Previous address was a plain implementation contract with _disableInitializers() \u2014 no proxy, no live state to migrate."
3788
3788
  },
3789
3789
  ContractVersionRegistry: {
3790
- previousImplementation: "0x8F86F78a6902b2B9a092158fF03BCCe301FB3d6b",
3791
- newImplementation: "0x13bA3e63c5ADE2E8565dEaa1f38CAe0Bf4e15CAf",
3792
- upgradedAt: "2026-05-14T16:02:24.973Z",
3790
+ previousImplementation: "0x2cDba7a3440399Ef276fa18edAE7D90168382D09",
3791
+ newImplementation: "0x327Ced106C2804283994F0C0e2436E4B76AA7dAD",
3792
+ upgradedAt: "2026-05-17T15:26:25.349Z",
3793
3793
  upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
3794
3794
  reason: "Shared upgrade script: ContractVersionRegistry implementation update"
3795
3795
  },
3796
3796
  PositionDelegateRegistry: {
3797
- previousImplementation: "0x3852Cd9495AF48166229271B81ac4e925F451dee",
3798
- newImplementation: "0xAE227De03D5aeDC870d6e096D9C6652E001a92aF",
3799
- upgradedAt: "2026-05-14T16:30:13.519Z",
3797
+ previousImplementation: "0xAE227De03D5aeDC870d6e096D9C6652E001a92aF",
3798
+ newImplementation: "0x301fa9AA527016D033e151b982C64cD8670a39E3",
3799
+ upgradedAt: "2026-05-17T16:00:25.211Z",
3800
3800
  upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
3801
3801
  reason: "Shared upgrade script: PositionDelegateRegistry implementation update"
3802
3802
  },
@@ -3807,6 +3807,13 @@ var init_deployment_addresses = __esm({
3807
3807
  upgradedAt: "2026-05-15T13:34:44.806Z",
3808
3808
  upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
3809
3809
  reason: "Fresh UUPS proxy deployment (UUPS conversion + H-2 dead-zone fix)"
3810
+ },
3811
+ FeeRecipientRegistry: {
3812
+ previousImplementation: "0x974a0f64d572a4F4e1395aaeB22d1c2685D22459",
3813
+ newImplementation: "0xd08513a7cB2dd354B26cDDf549616F12054c34c9",
3814
+ upgradedAt: "2026-05-15T17:52:37.448Z",
3815
+ upgradedBy: "0xF20986F02420EF443AE9BE5092FB8A4975cF3aA6",
3816
+ reason: "Shared upgrade script: FeeRecipientRegistry v1.1.0 \u2014 _authorizeUpgrade gated by onlyAdminModule + AccessControlEnumerable base"
3810
3817
  }
3811
3818
  },
3812
3819
  history: {
@@ -3874,39 +3881,39 @@ var init_deployment_addresses = __esm({
3874
3881
  POSITION_MANAGER_VIEWS: "0x3b970E41a0668508B4B2ACb83653b2A402F745AE",
3875
3882
  CIRCUIT_BREAKER_MODULE: "0x3D0B2cAE481821E57BA9CC3807bCC0d0D7F18bd8",
3876
3883
  ADMIN_MODULE: "0xAcd1f07915b17CA3727e7fE89BdF618A1545a1ed",
3877
- UCD_CONTROLLER_IMPL: "0x9AFE20da679EA9877893c4A991c8087caE5F7e4C",
3878
- LOAN_OPERATIONS_MANAGER_MODULE_IMPL: "0xdEf0A042670834369d456c5fbE73ad2126008bD2",
3879
- TERM_MANAGER_MODULE_IMPL: "0x309CE239A87ffFB31d4C720804e9908E482d4f10",
3880
- CIRCUIT_BREAKER_MODULE_IMPL: "0x24C345841360EEe81C944c00e0E5c8f6CCc53C00",
3881
- ADMIN_MODULE_IMPL: "0x70a500896A26E4e7CDb56886b9e6438e39DB5ae4",
3882
- POSITION_MANAGER_VIEWS_IMPL: "0x92311E348730e30237cbF0a58FaD704F8f2B8101",
3883
- POSITION_MANAGER_IMPL: "0x623f3bDff8830d2161D3b5D42d38b39697c65eBE",
3884
+ UCD_CONTROLLER_IMPL: "0x397dE5069270d90c1A62679e0496029D856Cb0ff",
3885
+ LOAN_OPERATIONS_MANAGER_MODULE_IMPL: "0x07f4710B7A5FF0d532b362c4Ba7a1DC5e4B9D187",
3886
+ TERM_MANAGER_MODULE_IMPL: "0x358d6A7A864853beAA3E157fEB83dCEb1628E8eB",
3887
+ CIRCUIT_BREAKER_MODULE_IMPL: "0xA5b11b895fB5a49731ab81BF9FC807b9029c8C98",
3888
+ ADMIN_MODULE_IMPL: "0x6ec85cb3F377d8D778F7830eA69C578C75cD7488",
3889
+ POSITION_MANAGER_VIEWS_IMPL: "0x3ae633b330Ea80F92c27479639F7ff14351A63Bb",
3890
+ POSITION_MANAGER_IMPL: "0xa89b9DA4C2C4715d83EF08daC080a39545367467",
3884
3891
  SIMPLE_PSM_V2: "0x19EcF7BA26e054fd4Ff06009A03070103dbBB058",
3885
- SIMPLE_PSM_V2_IMPL: "0x0728434d86532FD67A4a7227958654C029b333F6",
3886
- UCD_TOKEN_IMPL: "0x65c23B6fB5331ACeeC2d82328c6de7dB6b62bB65",
3892
+ SIMPLE_PSM_V2_IMPL: "0x6C36fc51D81601db681217B3083A9D3148c352D8",
3893
+ UCD_TOKEN_IMPL: "0xC587a2cb7e828A44d8C6190eDA6c47b08BA07115",
3887
3894
  POSITION_MANAGER_CORE_MODULE: "0xfFAA39a08887FeFB697eBC8691A8630CbCC33391",
3888
- POSITION_MANAGER_CORE_MODULE_IMPL: "0xE3B9747af371f459B4d68D30DE5e374040eb6339",
3895
+ POSITION_MANAGER_CORE_MODULE_IMPL: "0xBf62F7568B6847C08E943548dC727fCAFaa1e6Df",
3889
3896
  COLLATERAL_MANAGER_MODULE: "0x967E92c976Fc0fa8268D37D4d6B7245d912aA7dB",
3890
- COLLATERAL_MANAGER_MODULE_IMPL: "0xC3DD73d669174ED7012579bf2dAAf77085AdD4Cf",
3897
+ COLLATERAL_MANAGER_MODULE_IMPL: "0x428982fCC9A0455c56881B8e21C96B220CC1506B",
3891
3898
  LIQUIDATION_MANAGER_MODULE: "0xC4AB00f39e7ceD812F5C67058C9fa44e15d40e76",
3892
- LIQUIDATION_MANAGER_MODULE_IMPL: "0x8E069E4A1deba9Ac021956F3cD771e9e65d756bb",
3899
+ LIQUIDATION_MANAGER_MODULE_IMPL: "0x52e2231f26E8410881BF929e881d295175e078Be",
3893
3900
  BTC_SPEND_AUTHORIZER: "0xd7E9Eb5eE53f1d9ee55Dc162bBC7486bE437B6bD",
3894
- BTC_SPEND_AUTHORIZER_IMPL: "0xC86d27513EEA597db2903b702334417AfB9b0B69",
3901
+ BTC_SPEND_AUTHORIZER_IMPL: "0x4614F3aAEB53AE8d8FB2F44d28011bD717764F8f",
3895
3902
  UPGRADE_VALIDATOR: "0x592e650edD9bA26ecc407989fdd6F9cdcDeC27A6",
3896
- UPGRADE_VALIDATOR_IMPL: "0x535c9d66F9CFa4f2337cF6074BFc8fdcBBb9cFC4",
3903
+ UPGRADE_VALIDATOR_IMPL: "0x2Dd375041Be067E7d12bAB2106911Ce209EbD12f",
3897
3904
  BITCOIN_PROVIDER_REGISTRY: "0xbfA0c48B070D0a9A9CD27469AeacFD2d4261cEE2",
3898
3905
  BITCOIN_PROVIDER_REGISTRY_IMPL: "0x225309A4ae6D146ba93A3278A7b40224FfC81448",
3899
3906
  LIT_ACTION_VALIDATOR: "0x54eECd7C90F8A8fac27749Ba30BbE8AFBAccc856",
3900
3907
  LIT_ACTION_VALIDATOR_IMPL: "0x7D2a754AaF41E135c626553000139d5039095E29",
3901
3908
  CONTRACT_VERSION_REGISTRY: "0x97E43AA6aFF2C0cf659d3aE501658D2Ef6777522",
3902
- CONTRACT_VERSION_REGISTRY_IMPL: "0x13bA3e63c5ADE2E8565dEaa1f38CAe0Bf4e15CAf",
3909
+ CONTRACT_VERSION_REGISTRY_IMPL: "0x327Ced106C2804283994F0C0e2436E4B76AA7dAD",
3903
3910
  MOCK_USDC_TOKEN: "0x96409A98e0D322d6566b7F44a0fAbD1BD4ce2AEc",
3904
3911
  MOCK_USDT_TOKEN: "0xF8b7fB38b17a310960E47805Be9adba0b0e0394D",
3905
3912
  POSITION_DELEGATE_REGISTRY: "0x482369De283622E7b05731875ec137d4E3D208F9",
3906
- POSITION_DELEGATE_REGISTRY_IMPL: "0xAE227De03D5aeDC870d6e096D9C6652E001a92aF",
3913
+ POSITION_DELEGATE_REGISTRY_IMPL: "0x301fa9AA527016D033e151b982C64cD8670a39E3",
3907
3914
  AGENT_MODULE: "0xefb8C29C1e7e92ed7d81a52dbedaed74e37fe380",
3908
3915
  FEE_RECIPIENT_REGISTRY: "0x95795F8403DDb629E8527B2934C4e71f5fC0C374",
3909
- FEE_RECIPIENT_REGISTRY_IMPL: "0x974a0f64d572a4F4e1395aaeB22d1c2685D22459",
3916
+ FEE_RECIPIENT_REGISTRY_IMPL: "0xd08513a7cB2dd354B26cDDf549616F12054c34c9",
3910
3917
  OPERATION_AUTHORIZATION_REGISTRY_IMPL: "0x9f8072d4672d643e39d8638478e900Fea1f2c81D"
3911
3918
  }
3912
3919
  };
@@ -31363,30 +31370,30 @@ var require_pkg_src = __commonJS({
31363
31370
  }
31364
31371
  },
31365
31372
  btcTransactionSigner: {
31366
- cid: "QmbZukAcHP88a1h3pXjB7QQUDQkuS2UtKw3MrHBFCpvASm",
31373
+ cid: "QmVXZ17E8gnpjzhyYZmkWiYUbkw8e5iXQvkhFoXdbzosUS",
31367
31374
  authorizedCidHex: cidToHex(
31368
- "QmbZukAcHP88a1h3pXjB7QQUDQkuS2UtKw3MrHBFCpvASm"
31375
+ "QmVXZ17E8gnpjzhyYZmkWiYUbkw8e5iXQvkhFoXdbzosUS"
31369
31376
  ),
31370
31377
  name: "Btc Transaction Signer",
31371
31378
  description: "Production Btc Transaction Signer",
31372
31379
  version: "1.0.0",
31373
31380
  deployed: true,
31374
- deployedAt: 1778506273105,
31375
- size: 27284,
31376
- hash: "a16984eb42e6eb439565d6fad0fe7ad25390285c27824f2c9602e3ac9e7cbce9"
31381
+ deployedAt: 1779030344609,
31382
+ size: 27837,
31383
+ hash: "c39e858e92e796a95b8ad8e36fed7a14bb987a31894f645b32cb9a82e8b01921"
31377
31384
  },
31378
31385
  ucdMintValidator: {
31379
- cid: "QmZVvrJ587JwA98eVhD7A8DwjbtszhY1VUX7FzmjrMKFcB",
31386
+ cid: "QmYax1YNGsULXbUUeooPBHXXi4gfkBvyy8NvdNrPqE3EbY",
31380
31387
  authorizedCidHex: cidToHex(
31381
- "QmZVvrJ587JwA98eVhD7A8DwjbtszhY1VUX7FzmjrMKFcB"
31388
+ "QmYax1YNGsULXbUUeooPBHXXi4gfkBvyy8NvdNrPqE3EbY"
31382
31389
  ),
31383
31390
  name: "Ucd Mint Validator",
31384
31391
  description: "Production Ucd Mint Validator",
31385
31392
  version: "1.0.0",
31386
31393
  deployed: true,
31387
- deployedAt: 1778506281485,
31388
- size: 66294,
31389
- hash: "3ec619f17e4d4480bf0f3fd160ec05031283ea1bc55c37f35eda7da4a3e6d774",
31394
+ deployedAt: 1779030353537,
31395
+ size: 67008,
31396
+ hash: "a9877e4b3cf53ec5e8b8847dd306e93d485bde8f320a24003b1d00512189b2a0",
31390
31397
  validatorWalletAddress: "0x36f3dd61c4c08a56d29ed2fd6d5f111b67b6a7a1",
31391
31398
  pkp: {
31392
31399
  publicKey: "0x041ab17cd91fc5c0b761eea6092d032807561b621b82c488826776e04a9158d61ba64d809a4729f0501289d980732cb06d8dfd06999dd9c8efd2f495dad78b31bb",
@@ -31394,17 +31401,17 @@ var require_pkg_src = __commonJS({
31394
31401
  }
31395
31402
  },
31396
31403
  processPaymentValidator: {
31397
- cid: "QmbUsY9zCKfXb8Cb5XEg5WQHeDxXdNgasSi63yc4yUQWPn",
31404
+ cid: "QmQkYidKVwbE2Brt1ZgUV5JmonUj21TGVRF9C24TBhLhCP",
31398
31405
  authorizedCidHex: cidToHex(
31399
- "QmbUsY9zCKfXb8Cb5XEg5WQHeDxXdNgasSi63yc4yUQWPn"
31406
+ "QmQkYidKVwbE2Brt1ZgUV5JmonUj21TGVRF9C24TBhLhCP"
31400
31407
  ),
31401
31408
  name: "Process Payment Validator",
31402
31409
  description: "Production Process Payment Validator",
31403
31410
  version: "1.0.0",
31404
31411
  deployed: true,
31405
- deployedAt: 1778506289942,
31406
- size: 62249,
31407
- hash: "a195e48eedbe46c465bd00e671fda357a751f41eae0acca79a76ef72eea121eb",
31412
+ deployedAt: 1779030360481,
31413
+ size: 62963,
31414
+ hash: "c7bb36da46ef78e5f756d85a76123f53759e94b484e73c7a38fc88de797fc1e3",
31408
31415
  validatorWalletAddress: "0xc2ed5a59bd81eb4d1a19a0147b86ab69aa4c28ba",
31409
31416
  pkp: {
31410
31417
  publicKey: "0x04cfccb9b6c7addc79469c0e9fafebef4c70801302c62cdb26b610723a9b8527d23f98a40158c7340d83fd0e62d02b5ec74c12f7a86d98e8c6973b4811110f19ad",
@@ -31412,17 +31419,17 @@ var require_pkg_src = __commonJS({
31412
31419
  }
31413
31420
  },
31414
31421
  extendPositionValidator: {
31415
- cid: "QmQWSEnBSBZSaxfFVsSq6d47DVGuX74PBjYSzG42tR8XbH",
31422
+ cid: "QmdSydNAFg6uFgJii7ycEXsVVdPVK9wwkfYE4tb6sKA3b6",
31416
31423
  authorizedCidHex: cidToHex(
31417
- "QmQWSEnBSBZSaxfFVsSq6d47DVGuX74PBjYSzG42tR8XbH"
31424
+ "QmdSydNAFg6uFgJii7ycEXsVVdPVK9wwkfYE4tb6sKA3b6"
31418
31425
  ),
31419
31426
  name: "Extend Position Validator",
31420
31427
  description: "Production Extend Position Validator",
31421
31428
  version: "1.0.0",
31422
31429
  deployed: true,
31423
- deployedAt: 1778506300498,
31424
- size: 61458,
31425
- hash: "bc7859ac10535973a1f7e89cc73d23f39fe2313f15b5a8ce47877f0ede0bb2f3",
31430
+ deployedAt: 1779030367397,
31431
+ size: 62172,
31432
+ hash: "fe3b945671e0c155e4f6d960faa5b4ef093df300e4a32319cea2ff32cd71c434",
31426
31433
  validatorWalletAddress: "0xb3f4271c475887a86a2f21446f0968c30cc74c97",
31427
31434
  pkp: {
31428
31435
  publicKey: "0x04e52338f6a0c3362800f1a94c4c8f08be5030dde0fa217388c53d1c1a4790f4443c9f2886b2d2d8f4b75a9a156e9b028011b1a1cf7648da0e556aa980ec692836",
@@ -31430,17 +31437,17 @@ var require_pkg_src = __commonJS({
31430
31437
  }
31431
31438
  },
31432
31439
  btcWithdrawal: {
31433
- cid: "QmagTZsuzdj9GGB8kAD5H2a3nr7Bc6qzcHaA6me8UDL4gz",
31440
+ cid: "QmZZuKGL2aHtiaLcyxNceVg1fTm7H6RyMG3JpbRNEzcpW8",
31434
31441
  authorizedCidHex: cidToHex(
31435
- "QmagTZsuzdj9GGB8kAD5H2a3nr7Bc6qzcHaA6me8UDL4gz"
31442
+ "QmZZuKGL2aHtiaLcyxNceVg1fTm7H6RyMG3JpbRNEzcpW8"
31436
31443
  ),
31437
31444
  name: "Btc Withdrawal",
31438
31445
  description: "Production Btc Withdrawal",
31439
31446
  version: "1.0.0",
31440
31447
  deployed: true,
31441
- deployedAt: 1778506311217,
31442
- size: 73094,
31443
- hash: "c87585e6a5bd6fa2062b584b4a994e01c90bec02c69bb142e7c1019007fb3db7",
31448
+ deployedAt: 1779030374336,
31449
+ size: 73808,
31450
+ hash: "033e698b572f62f49bc34be94f4355957e3fe46d98001744805b44e74655b9ac",
31444
31451
  validatorWalletAddress: "0xbb137fbda353199e9419b698c57a742124d4987d",
31445
31452
  pkp: {
31446
31453
  publicKey: "0x043616787c5432415c24378c4ef48de2bcd6bb7b575b837e3cff09171802662da7105d79586c7659677a0ecbaddac4cce06cb2a11f69a16fa0c4d7002ac7d51a4d",
@@ -31448,17 +31455,17 @@ var require_pkg_src = __commonJS({
31448
31455
  }
31449
31456
  },
31450
31457
  liquidationValidator: {
31451
- cid: "QmTJvJQbeyy1RRkcAJqomjPHXois1N3bcoCkRzFaMKruPg",
31458
+ cid: "QmRq9FV1dhqgxCVLYa3LfuPDAs8vBvQAcnCtY8NGsVNJfG",
31452
31459
  authorizedCidHex: cidToHex(
31453
- "QmTJvJQbeyy1RRkcAJqomjPHXois1N3bcoCkRzFaMKruPg"
31460
+ "QmRq9FV1dhqgxCVLYa3LfuPDAs8vBvQAcnCtY8NGsVNJfG"
31454
31461
  ),
31455
31462
  name: "Liquidation Validator",
31456
31463
  description: "Production Liquidation Validator",
31457
31464
  version: "1.0.0",
31458
31465
  deployed: true,
31459
- deployedAt: 1778427367739,
31460
- size: 54713,
31461
- hash: "7d05bc20482725fed8a4abc903bded51131aa35433984b1ea883d5069278c042",
31466
+ deployedAt: 1779030381480,
31467
+ size: 54874,
31468
+ hash: "ce6d12425d3828abc002bdb3bcca36af642fd1c84a00ee1f2c9c4f57778c4af4",
31462
31469
  validatorWalletAddress: "0x1542f863ee0340f6a067573e80ae66dd9b3838fa",
31463
31470
  pkp: {
31464
31471
  publicKey: "0x041a241de58976c13e3d7ca5a18e494f7330151e3818706135d50176e78ffb673e58b11f0b67a87c73fade6c6b27d6e7a7377ea9f4c10bf31880f1d725f18cc6f8",
@@ -31484,17 +31491,17 @@ var require_pkg_src = __commonJS({
31484
31491
  }
31485
31492
  },
31486
31493
  loanVaultBtcBalance: {
31487
- cid: "QmbwWfCDNaBkYGezBxFF992RGL5uYNgLAecc5NLcDJeuqU",
31494
+ cid: "QmXwEPuyxW9brUi2EwhdV11zM7cf1ggtxLxWPsomppQByk",
31488
31495
  authorizedCidHex: cidToHex(
31489
- "QmbwWfCDNaBkYGezBxFF992RGL5uYNgLAecc5NLcDJeuqU"
31496
+ "QmXwEPuyxW9brUi2EwhdV11zM7cf1ggtxLxWPsomppQByk"
31490
31497
  ),
31491
31498
  name: "Loan Vault Btc Balance",
31492
31499
  description: "Production Loan Vault Btc Balance",
31493
31500
  version: "1.0.0",
31494
31501
  deployed: true,
31495
- deployedAt: 1778423432352,
31496
- size: 44488,
31497
- hash: "cce12a0cb616a2d8f658f40175ec8a49eb0b5f1f545d3a78d06e6eab7c2b3062",
31502
+ deployedAt: 1779030388270,
31503
+ size: 44649,
31504
+ hash: "41cd78901cfdff6bdb6040ccaa2c27798d633507b8df7ace7c27b9ef390dc629",
31498
31505
  validatorWalletAddress: "0x47feea74c8739d24b44faa67217f2f99970e15e7",
31499
31506
  pkp: {
31500
31507
  publicKey: "0x043616787c5432415c24378c4ef48de2bcd6bb7b575b837e3cff09171802662da7105d79586c7659677a0ecbaddac4cce06cb2a11f69a16fa0c4d7002ac7d51a4d",
@@ -31502,17 +31509,17 @@ var require_pkg_src = __commonJS({
31502
31509
  }
31503
31510
  },
31504
31511
  adminLiquidationValidator: {
31505
- cid: "QmQ1vuzN9p16umTeUUJopzkG8jdkUVDri9pKBznF58wJWS",
31512
+ cid: "Qmb1P9mbThaw39UjHQhgWF3b5QfbLpDLibDjYcyUEJDdHH",
31506
31513
  authorizedCidHex: cidToHex(
31507
- "QmQ1vuzN9p16umTeUUJopzkG8jdkUVDri9pKBznF58wJWS"
31514
+ "Qmb1P9mbThaw39UjHQhgWF3b5QfbLpDLibDjYcyUEJDdHH"
31508
31515
  ),
31509
31516
  name: "Admin Liquidation Validator",
31510
31517
  description: "Production Admin Liquidation Validator",
31511
31518
  version: "1.0.0",
31512
31519
  deployed: true,
31513
- deployedAt: 1778427385348,
31514
- size: 51420,
31515
- hash: "2e1db5737f817c322a11df3a1347723e021f2f6fc97728466d40cd2c1c9e8527",
31520
+ deployedAt: 1779030395440,
31521
+ size: 51581,
31522
+ hash: "f094270339baa232a5b7caedd9538ec5a68e7735d632c30dfb8de73faa4b30b5",
31516
31523
  validatorWalletAddress: "0x2a83b78842d75358877deb8854ccc5bbbaa5012e",
31517
31524
  pkp: {
31518
31525
  publicKey: "0x04ee4316afb8538280ede6c56def9cbe791f18f96ccba97768b28e2966d9c46a9493a6b81f4571495c3ce56c2d0b33fe8cf63726cd12d395832ea54162b5c67801",
@@ -32700,6 +32707,8 @@ ${errorReport}`);
32700
32707
  // expiryAt before last renewal; 0 if never renewed
32701
32708
  totalTerm: positionState.totalTerm,
32702
32709
  // total accumulated loan months; 0 before first renewal
32710
+ lastRenewedAt: positionState.lastRenewedAt,
32711
+ // timestamp of most recent renewal; createdAt at origination; 0 for pre-H-5 positions
32703
32712
  // Bitcoin state
32704
32713
  totalBTCSats: balanceResult.totalBalance,
32705
32714
  totalUTXOs: balanceResult.totalUTXOs,
@@ -32804,6 +32813,8 @@ ${errorReport}`);
32804
32813
  // expiryAt before last renewal; 0 if never renewed
32805
32814
  totalTerm: positionState.totalTerm,
32806
32815
  // total accumulated loan months; 0 before first renewal
32816
+ lastRenewedAt: positionState.lastRenewedAt,
32817
+ // timestamp of most recent renewal; createdAt at origination; 0 for pre-H-5 positions
32807
32818
  // Bitcoin state
32808
32819
  totalBTCSats: balanceResult.totalBalance,
32809
32820
  totalUTXOs: balanceResult.totalUTXOs,
@@ -32922,7 +32933,8 @@ ${errorReport}`);
32922
32933
  type: "uint8"
32923
32934
  },
32924
32935
  { internalType: "uint40", name: "previousExpiryAt", type: "uint40" },
32925
- { internalType: "uint16", name: "totalTerm", type: "uint16" }
32936
+ { internalType: "uint16", name: "totalTerm", type: "uint16" },
32937
+ { internalType: "uint40", name: "lastRenewedAt", type: "uint40" }
32926
32938
  ],
32927
32939
  internalType: "struct IPositionManagerCore.Position",
32928
32940
  name: "",
@@ -32956,6 +32968,7 @@ ${errorReport}`);
32956
32968
  const selectedTermMonths = Number(position.selectedTerm);
32957
32969
  const totalTermMonths = Number(position.totalTerm);
32958
32970
  const previousExpiryAt = Number(position.previousExpiryAt);
32971
+ const lastRenewedAt = Number(position.lastRenewedAt);
32959
32972
  const termStartTimestamp = calculateTermStartFromExpiry(
32960
32973
  expiryAt,
32961
32974
  selectedTermMonths
@@ -32974,7 +32987,8 @@ ${errorReport}`);
32974
32987
  status: statusNum,
32975
32988
  expiryAt,
32976
32989
  previousExpiryAt,
32977
- totalTerm: totalTermMonths
32990
+ totalTerm: totalTermMonths,
32991
+ lastRenewedAt
32978
32992
  };
32979
32993
  }
32980
32994
  /**
@@ -66474,6 +66488,55 @@ Error data: ${errorData || "none"}`
66474
66488
  };
66475
66489
  }
66476
66490
  }
66491
+ /**
66492
+ * Mark an authorized spend as consumed after a verified Bitcoin broadcast.
66493
+ *
66494
+ * Calls LoanOperationsManager.markSpentByOwner which delegates to
66495
+ * BTCSpendAuthorizer.markSpent. The on-chain position balance was already
66496
+ * debited during Phase 1 (withdrawBTC) — this is bookkeeping so the entry
66497
+ * stops appearing in getPendingWithdrawals().
66498
+ *
66499
+ * @param positionId - Position identifier
66500
+ * @param txid - Source UTXO transaction ID (the one that was authorized in Phase 1)
66501
+ * @param vout - Source UTXO output index
66502
+ * @param broadcastTxid - Bitcoin txid of the broadcast that consumed this UTXO
66503
+ * @returns Transaction hash of the mark-spent EVM transaction
66504
+ */
66505
+ async markSpentByOwner(positionId, txid, vout, broadcastTxid) {
66506
+ this.ensureInitialized();
66507
+ try {
66508
+ const signer = this.getSignerOrThrow();
66509
+ const contractAddresses = this.getContractAddressesOrThrow();
66510
+ const loanOperationsManagerAddress = contractAddresses.loanOperationsManager;
66511
+ if (!loanOperationsManagerAddress) {
66512
+ return { success: false, error: "LoanOperationsManager address not configured" };
66513
+ }
66514
+ const utxoKey = solidityPackedKeccak256(
66515
+ ["string", "uint32"],
66516
+ [txid, vout]
66517
+ );
66518
+ const loanOperationsManager = new Contract(
66519
+ loanOperationsManagerAddress,
66520
+ [
66521
+ "function markSpentByOwner(bytes32 positionId, bytes32 utxoKey, string calldata broadcastTxid) external"
66522
+ ],
66523
+ signer
66524
+ );
66525
+ const positionIdBytes32 = this.toBytes32(positionId);
66526
+ const tx = await loanOperationsManager["markSpentByOwner"](
66527
+ positionIdBytes32,
66528
+ utxoKey,
66529
+ broadcastTxid
66530
+ );
66531
+ const receipt = await tx.wait();
66532
+ return { success: true, transactionHash: receipt.hash };
66533
+ } catch (error) {
66534
+ return {
66535
+ success: false,
66536
+ error: error instanceof Error ? error.message : String(error)
66537
+ };
66538
+ }
66539
+ }
66477
66540
  /**
66478
66541
  * Withdraw BTC and execute transfer (Complete Flow)
66479
66542
  *
@@ -66610,6 +66673,35 @@ Error data: ${errorData || "none"}`
66610
66673
  txid: executionResult.txid
66611
66674
  });
66612
66675
  }
66676
+ if (executionResult.success && executionResult.txid) {
66677
+ try {
66678
+ const markResult = await this.markSpentByOwner(
66679
+ positionId,
66680
+ authResult.utxoTxid,
66681
+ Number(authResult.utxoVout),
66682
+ executionResult.txid
66683
+ );
66684
+ if (markResult.success) {
66685
+ if (this.config.debug) {
66686
+ log.info("\u2705 Phase 3 complete: authorization marked as consumed", {
66687
+ txHash: markResult.transactionHash
66688
+ });
66689
+ }
66690
+ } else if (this.config.debug) {
66691
+ log.warn(
66692
+ "\u26A0\uFE0F Phase 3 markSpent failed (non-fatal); pending record persists until cancelPendingWithdrawal()",
66693
+ { error: markResult.error }
66694
+ );
66695
+ }
66696
+ } catch (markError) {
66697
+ if (this.config.debug) {
66698
+ log.warn(
66699
+ "\u26A0\uFE0F Phase 3 markSpent threw (non-fatal); pending record persists until cancelPendingWithdrawal()",
66700
+ { error: markError instanceof Error ? markError.message : String(markError) }
66701
+ );
66702
+ }
66703
+ }
66704
+ }
66613
66705
  try {
66614
66706
  const btcAmount = (Number(withdrawalAmount) / 1e8).toFixed(8);
66615
66707
  const message = executionResult.success ? formatBTCWithdrawalSuccessMessage(
@@ -67149,6 +67241,8 @@ Error data: ${errorData || "none"}`
67149
67241
  * is derived purely from `this.config.chain`.
67150
67242
  */
67151
67243
  getBitcoinNetwork() {
67244
+ if (this.config.bitcoinNetwork)
67245
+ return this.config.bitcoinNetwork;
67152
67246
  const chain = this.config.chain?.toLowerCase() || "";
67153
67247
  if (chain.includes("mainnet") || chain === "ethereum") {
67154
67248
  return "mainnet";