Skip to content

Conversation

@viatrix
Copy link
Collaborator

@viatrix viatrix commented Oct 16, 2025

Closes #119.

@lastperson
Copy link
Collaborator

lastperson commented Oct 16, 2025

I like this.
The plan would be:

  1. Deploy new pools.
  2. Update rebalance and repay routes onchain, only adding missing routes. In this way new local pools will be added as well.
  3. Pause borrowing on old pools. Wait for all the repayments to arrive.
  4. Rebalance pools locally using totalDeposited amount.
  5. Withdraw profit from old pools.
  6. Update rebalance and repay routes onchain, only removing excess routes. In this way old local pools will be removed as well.

@viatrix
Copy link
Collaborator Author

viatrix commented Oct 16, 2025

The following transactions need to be executed for adding new pools:

BASE:

To allow missing routes execute the following transaction.
To: 0x697ECA1cae710FA0348e2173900e6C09b180C35b
Function: setRoute
Params:
isAllowed: true
┌─────────┬──────────────────────────────────────────────┬─────────┬───────────┬───────────────────┐
│ (index) │ pools                                        │ domains │ providers │ supportsAllTokens │
├─────────┼──────────────────────────────────────────────┼─────────┼───────────┼───────────────────┤
│ 0       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 3n      │ 2n        │ true              │
│ 1       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 3n      │ 1n        │ true              │
│ 2       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 3n      │ 4n        │ true              │
│ 3       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 4n      │ 0n        │ true              │
│ 4       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 2n      │ 2n        │ true              │
│ 5       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 2n      │ 1n        │ true              │
│ 6       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 2n      │ 4n        │ true              │
│ 7       │ '0x4ce56b5D7e79dF121aF2eC055D096eF983F459e6' │ 3n      │ 2n        │ true              │
│ 8       │ '0x4ce56b5D7e79dF121aF2eC055D096eF983F459e6' │ 3n      │ 1n        │ true              │
│ 9       │ '0x4ce56b5D7e79dF121aF2eC055D096eF983F459e6' │ 3n      │ 4n        │ true              │
│ 10      │ '0x578aD20ec27E11B3772F91cc6f435d782cc362EA' │ 3n      │ 1n        │ false             │
│ 11      │ '0x578aD20ec27E11B3772F91cc6f435d782cc362EA' │ 4n      │ 0n        │ false             │
│ 12      │ '0x578aD20ec27E11B3772F91cc6f435d782cc362EA' │ 2n      │ 1n        │ false             │
└─────────┴──────────────────────────────────────────────┴─────────┴───────────┴───────────────────┘
To allow missing routes execute the following transaction.
To: 0x34Df9cD75fA0b4d8fF300AeDf7591f79dFdd61C9
Function: setRoute
Params:
isAllowed: true
┌─────────┬──────────────────────────────────────────────┬─────────┬───────────┐
│ (index) │ pools                                        │ domains │ providers │
├─────────┼──────────────────────────────────────────────┼─────────┼───────────┤
│ 0       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 3n      │ 1n        │
│ 1       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 4n      │ 0n        │
│ 2       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 2n      │ 1n        │
│ 3       │ '0x4ce56b5D7e79dF121aF2eC055D096eF983F459e6' │ 3n      │ 1n        │
│ 4       │ '0x578aD20ec27E11B3772F91cc6f435d782cc362EA' │ 3n      │ 1n        │
│ 5       │ '0x578aD20ec27E11B3772F91cc6f435d782cc362EA' │ 4n      │ 0n        │
│ 6       │ '0x578aD20ec27E11B3772F91cc6f435d782cc362EA' │ 2n      │ 1n        │
└─────────┴──────────────────────────────────────────────┴─────────┴───────────┘

OP_MAINNET:

To allow missing routes execute the following transaction.
To: 0x697ECA1cae710FA0348e2173900e6C09b180C35b
Function: setRoute
Params:
isAllowed: true
┌─────────┬──────────────────────────────────────────────┬─────────┬───────────┬───────────────────┐
│ (index) │ pools                                        │ domains │ providers │ supportsAllTokens │
├─────────┼──────────────────────────────────────────────┼─────────┼───────────┼───────────────────┤
│ 0       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 3n      │ 2n        │ true              │
│ 1       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 3n      │ 1n        │ true              │
│ 2       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 3n      │ 4n        │ true              │
│ 3       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 4n      │ 2n        │ true              │
│ 4       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 4n      │ 1n        │ true              │
│ 5       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 4n      │ 4n        │ true              │
│ 6       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 2n      │ 0n        │ true              │
│ 7       │ '0x4ce56b5D7e79dF121aF2eC055D096eF983F459e6' │ 3n      │ 2n        │ true              │
│ 8       │ '0x4ce56b5D7e79dF121aF2eC055D096eF983F459e6' │ 3n      │ 1n        │ true              │
│ 9       │ '0x4ce56b5D7e79dF121aF2eC055D096eF983F459e6' │ 3n      │ 4n        │ true              │
│ 10      │ '0x578aD20ec27E11B3772F91cc6f435d782cc362EA' │ 3n      │ 1n        │ false             │
│ 11      │ '0x578aD20ec27E11B3772F91cc6f435d782cc362EA' │ 4n      │ 1n        │ false             │
│ 12      │ '0x578aD20ec27E11B3772F91cc6f435d782cc362EA' │ 2n      │ 0n        │ false             │
└─────────┴──────────────────────────────────────────────┴─────────┴───────────┴───────────────────┘
To allow missing routes execute the following transaction.
To: 0x34Df9cD75fA0b4d8fF300AeDf7591f79dFdd61C9
Function: setRoute
Params:
isAllowed: true
┌─────────┬──────────────────────────────────────────────┬─────────┬───────────┐
│ (index) │ pools                                        │ domains │ providers │
├─────────┼──────────────────────────────────────────────┼─────────┼───────────┤
│ 0       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 3n      │ 1n        │
│ 1       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 4n      │ 1n        │
│ 2       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 2n      │ 0n        │
│ 3       │ '0x4ce56b5D7e79dF121aF2eC055D096eF983F459e6' │ 3n      │ 1n        │
│ 4       │ '0x578aD20ec27E11B3772F91cc6f435d782cc362EA' │ 3n      │ 1n        │
│ 5       │ '0x578aD20ec27E11B3772F91cc6f435d782cc362EA' │ 4n      │ 1n        │
│ 6       │ '0x578aD20ec27E11B3772F91cc6f435d782cc362EA' │ 2n      │ 0n        │
└─────────┴──────────────────────────────────────────────┴─────────┴───────────┘

ARBITRUM_ONE:

To allow missing routes execute the following transaction.
To: 0x697ECA1cae710FA0348e2173900e6C09b180C35b
Function: setRoute
Params:
isAllowed: true
┌─────────┬──────────────────────────────────────────────┬─────────┬───────────┬───────────────────┐
│ (index) │ pools                                        │ domains │ providers │ supportsAllTokens │
├─────────┼──────────────────────────────────────────────┼─────────┼───────────┼───────────────────┤
│ 0       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 3n      │ 0n        │ true              │
│ 1       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 4n      │ 2n        │ true              │
│ 2       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 4n      │ 1n        │ true              │
│ 3       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 4n      │ 4n        │ true              │
│ 4       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 2n      │ 2n        │ true              │
│ 5       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 2n      │ 1n        │ true              │
│ 6       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 2n      │ 4n        │ true              │
│ 7       │ '0x4ce56b5D7e79dF121aF2eC055D096eF983F459e6' │ 3n      │ 0n        │ true              │
│ 8       │ '0x578aD20ec27E11B3772F91cc6f435d782cc362EA' │ 3n      │ 0n        │ false             │
│ 9       │ '0x578aD20ec27E11B3772F91cc6f435d782cc362EA' │ 4n      │ 1n        │ false             │
│ 10      │ '0x578aD20ec27E11B3772F91cc6f435d782cc362EA' │ 2n      │ 1n        │ false             │
└─────────┴──────────────────────────────────────────────┴─────────┴───────────┴───────────────────┘
To allow missing routes execute the following transaction.
To: 0x34Df9cD75fA0b4d8fF300AeDf7591f79dFdd61C9
Function: setRoute
Params:
isAllowed: true
┌─────────┬──────────────────────────────────────────────┬─────────┬───────────┐
│ (index) │ pools                                        │ domains │ providers │
├─────────┼──────────────────────────────────────────────┼─────────┼───────────┤
│ 0       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 3n      │ 0n        │
│ 1       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 4n      │ 1n        │
│ 2       │ '0x2B7899f3d553FCcf61122BdA60f5f9a9AE390683' │ 2n      │ 1n        │
│ 3       │ '0x4ce56b5D7e79dF121aF2eC055D096eF983F459e6' │ 3n      │ 0n        │
│ 4       │ '0x578aD20ec27E11B3772F91cc6f435d782cc362EA' │ 3n      │ 0n        │
│ 5       │ '0x578aD20ec27E11B3772F91cc6f435d782cc362EA' │ 4n      │ 1n        │
│ 6       │ '0x578aD20ec27E11B3772F91cc6f435d782cc362EA' │ 2n      │ 1n        │
└─────────┴──────────────────────────────────────────────┴─────────┴───────────┘

@viatrix viatrix marked this pull request as ready for review October 16, 2025 20:13
@viatrix viatrix requested a review from MakMuftic October 16, 2025 20:14
@MakMuftic
Copy link
Member

I will now proceede with next steps

  • Pause borrowing on old pools. Wait for all the repayments to arrive.
  • Rebalance pools locally.
  • Withdraw profit from old pools.

@lastperson
Copy link
Collaborator

@viatrix we will also need to upgrade LiquidityHub so that it deposits into new pool.

@viatrix viatrix requested a review from lastperson October 18, 2025 20:56
lastperson
lastperson previously approved these changes Oct 20, 2025
@MakMuftic
Copy link
Member

@viatrix
Copy link
Collaborator Author

viatrix commented Oct 20, 2025

LiquidityHub upgrade:

To finalize upgrade send the following transaction from ProxyAdmin owner: 0x2D5B6C193C39D2AECb4a99052074E6F325258a0f
To: 0x806BA52Fad6BED2EE431e4a3CC436B3F3Da54aED
Value: 0
Data: 0x9623609d0000000000000000000000006fd4142be84134c5a6d45d454529a6c3c9573b61000000000000000000000000b7b59d39041ad311d4d46b90a85e3b4f5fad3e9d00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000

@MakMuftic
Copy link
Member

LiquidityHub upgrade:

To finalize upgrade send the following transaction from ProxyAdmin owner: 0x2D5B6C193C39D2AECb4a99052074E6F325258a0f
To: 0x806BA52Fad6BED2EE431e4a3CC436B3F3Da54aED
Value: 0
Data: 0x9623609d0000000000000000000000006fd4142be84134c5a6d45d454529a6c3c9573b61000000000000000000000000b7b59d39041ad311d4d46b90a85e3b4f5fad3e9d00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000

@viatrix executed upgrade transaction: https://basescan.org/tx/0x103f8120a4205c489d2e07c48793e7ee7daf964bd5da72d040fa3fdb80e97a37

@MakMuftic
Copy link
Member

@viatrix
Copy link
Collaborator Author

viatrix commented Oct 20, 2025

Removing old pools:

BASE:
Repayer:

To deny excess routes execute the following transaction.
To: 0x697ECA1cae710FA0348e2173900e6C09b180C35b
Function: setRoute
Params:
isAllowed: false
┌─────────┬──────────────────────────────────────────────┬─────────┬───────────┬───────────────────┐
│ (index) │ pools                                        │ domains │ providers │ supportsAllTokens │
├─────────┼──────────────────────────────────────────────┼─────────┼───────────┼───────────────────┤
│ 0       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 3n      │ 2n        │ true              │
│ 1       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 3n      │ 1n        │ true              │
│ 2       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 3n      │ 4n        │ true              │
│ 3       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 4n      │ 0n        │ true              │
│ 4       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 2n      │ 2n        │ true              │
│ 5       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 2n      │ 1n        │ true              │
│ 6       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 2n      │ 4n        │ true              │
│ 7       │ '0xd1A7cC673D4cE966AD31FcD8Daccf1C2B5969dA4' │ 3n      │ 2n        │ true              │
│ 8       │ '0xd1A7cC673D4cE966AD31FcD8Daccf1C2B5969dA4' │ 3n      │ 1n        │ true              │
│ 9       │ '0xd1A7cC673D4cE966AD31FcD8Daccf1C2B5969dA4' │ 3n      │ 4n        │ true              │
│ 10      │ '0xfe22Dff2Dc00E80e3127BCac393aC4e0672570F0' │ 3n      │ 1n        │ false             │
│ 11      │ '0xfe22Dff2Dc00E80e3127BCac393aC4e0672570F0' │ 4n      │ 0n        │ false             │
│ 12      │ '0xfe22Dff2Dc00E80e3127BCac393aC4e0672570F0' │ 2n      │ 1n        │ false             │
└─────────┴──────────────────────────────────────────────┴─────────┴───────────┴───────────────────┘

Rebalancer:

To deny excess routes execute the following transaction.
To: 0x34Df9cD75fA0b4d8fF300AeDf7591f79dFdd61C9
Function: setRoute
Params:
isAllowed: false
┌─────────┬──────────────────────────────────────────────┬─────────┬───────────┐
│ (index) │ pools                                        │ domains │ providers │
├─────────┼──────────────────────────────────────────────┼─────────┼───────────┤
│ 0       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 3n      │ 1n        │
│ 1       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 4n      │ 0n        │
│ 2       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 2n      │ 1n        │
│ 3       │ '0xd1A7cC673D4cE966AD31FcD8Daccf1C2B5969dA4' │ 3n      │ 1n        │
│ 4       │ '0xfe22Dff2Dc00E80e3127BCac393aC4e0672570F0' │ 3n      │ 1n        │
│ 5       │ '0xfe22Dff2Dc00E80e3127BCac393aC4e0672570F0' │ 4n      │ 0n        │
│ 6       │ '0xfe22Dff2Dc00E80e3127BCac393aC4e0672570F0' │ 2n      │ 1n        │
└─────────┴──────────────────────────────────────────────┴─────────┴───────────┘

OP_MAINNET:
Repayer:

To deny excess routes execute the following transaction.
To: 0x697ECA1cae710FA0348e2173900e6C09b180C35b
Function: setRoute
Params:
isAllowed: false
┌─────────┬──────────────────────────────────────────────┬─────────┬───────────┬───────────────────┐
│ (index) │ pools                                        │ domains │ providers │ supportsAllTokens │
├─────────┼──────────────────────────────────────────────┼─────────┼───────────┼───────────────────┤
│ 0       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 3n      │ 2n        │ true              │
│ 1       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 3n      │ 1n        │ true              │
│ 2       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 3n      │ 4n        │ true              │
│ 3       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 4n      │ 2n        │ true              │
│ 4       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 4n      │ 1n        │ true              │
│ 5       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 4n      │ 4n        │ true              │
│ 6       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 2n      │ 0n        │ true              │
│ 7       │ '0xd1A7cC673D4cE966AD31FcD8Daccf1C2B5969dA4' │ 3n      │ 2n        │ true              │
│ 8       │ '0xd1A7cC673D4cE966AD31FcD8Daccf1C2B5969dA4' │ 3n      │ 1n        │ true              │
│ 9       │ '0xd1A7cC673D4cE966AD31FcD8Daccf1C2B5969dA4' │ 3n      │ 4n        │ true              │
│ 10      │ '0xfe22Dff2Dc00E80e3127BCac393aC4e0672570F0' │ 3n      │ 1n        │ false             │
│ 11      │ '0xfe22Dff2Dc00E80e3127BCac393aC4e0672570F0' │ 4n      │ 1n        │ false             │
│ 12      │ '0xfe22Dff2Dc00E80e3127BCac393aC4e0672570F0' │ 2n      │ 0n        │ false             │
└─────────┴──────────────────────────────────────────────┴─────────┴───────────┴───────────────────┘

Rebalancer:

To deny excess routes execute the following transaction.
To: 0x34Df9cD75fA0b4d8fF300AeDf7591f79dFdd61C9
Function: setRoute
Params:
isAllowed: false
┌─────────┬──────────────────────────────────────────────┬─────────┬───────────┐
│ (index) │ pools                                        │ domains │ providers │
├─────────┼──────────────────────────────────────────────┼─────────┼───────────┤
│ 0       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 3n      │ 1n        │
│ 1       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 4n      │ 1n        │
│ 2       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 2n      │ 0n        │
│ 3       │ '0xd1A7cC673D4cE966AD31FcD8Daccf1C2B5969dA4' │ 3n      │ 1n        │
│ 4       │ '0xfe22Dff2Dc00E80e3127BCac393aC4e0672570F0' │ 3n      │ 1n        │
│ 5       │ '0xfe22Dff2Dc00E80e3127BCac393aC4e0672570F0' │ 4n      │ 1n        │
│ 6       │ '0xfe22Dff2Dc00E80e3127BCac393aC4e0672570F0' │ 2n      │ 0n        │
└─────────┴──────────────────────────────────────────────┴─────────┴───────────┘

ARBITRUM_ONE:
Repayer:

To deny excess routes execute the following transaction.
To: 0x697ECA1cae710FA0348e2173900e6C09b180C35b
Function: setRoute
Params:
isAllowed: false
┌─────────┬──────────────────────────────────────────────┬─────────┬───────────┬───────────────────┐
│ (index) │ pools                                        │ domains │ providers │ supportsAllTokens │
├─────────┼──────────────────────────────────────────────┼─────────┼───────────┼───────────────────┤
│ 0       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 3n      │ 0n        │ true              │
│ 1       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 4n      │ 2n        │ true              │
│ 2       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 4n      │ 1n        │ true              │
│ 3       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 4n      │ 4n        │ true              │
│ 4       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 2n      │ 2n        │ true              │
│ 5       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 2n      │ 1n        │ true              │
│ 6       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 2n      │ 4n        │ true              │
│ 7       │ '0xd1A7cC673D4cE966AD31FcD8Daccf1C2B5969dA4' │ 3n      │ 0n        │ true              │
│ 8       │ '0xfe22Dff2Dc00E80e3127BCac393aC4e0672570F0' │ 3n      │ 0n        │ true              │
│ 9       │ '0xfe22Dff2Dc00E80e3127BCac393aC4e0672570F0' │ 4n      │ 2n        │ true              │
│ 10      │ '0xfe22Dff2Dc00E80e3127BCac393aC4e0672570F0' │ 4n      │ 1n        │ true              │
│ 11      │ '0xfe22Dff2Dc00E80e3127BCac393aC4e0672570F0' │ 2n      │ 1n        │ true              │
└─────────┴──────────────────────────────────────────────┴─────────┴───────────┴───────────────────┘

Rebalancer:

To deny excess routes execute the following transaction.
To: 0x34Df9cD75fA0b4d8fF300AeDf7591f79dFdd61C9
Function: setRoute
Params:
isAllowed: false
┌─────────┬──────────────────────────────────────────────┬─────────┬───────────┐
│ (index) │ pools                                        │ domains │ providers │
├─────────┼──────────────────────────────────────────────┼─────────┼───────────┤
│ 0       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 3n      │ 0n        │
│ 1       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 4n      │ 1n        │
│ 2       │ '0x2D24c6c58bBCe4BC09aE6ac559F697D97665d05D' │ 2n      │ 1n        │
│ 3       │ '0xd1A7cC673D4cE966AD31FcD8Daccf1C2B5969dA4' │ 3n      │ 0n        │
│ 4       │ '0xfe22Dff2Dc00E80e3127BCac393aC4e0672570F0' │ 3n      │ 0n        │
│ 5       │ '0xfe22Dff2Dc00E80e3127BCac393aC4e0672570F0' │ 4n      │ 1n        │
│ 6       │ '0xfe22Dff2Dc00E80e3127BCac393aC4e0672570F0' │ 2n      │ 1n        │
└─────────┴──────────────────────────────────────────────┴─────────┴───────────┘

@lastperson lastperson merged commit 7086d3d into main Oct 21, 2025
3 checks passed
@lastperson lastperson deleted the сhore-deploy-stage-pools branch October 21, 2025 11:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Upgrade staging pools

4 participants