| 1 | Inbound transfer | - Funded BTC addr- 3 observer nodes- 3 int3face nodes- 3 BTC nodes | Observer int3face, BTC nodes are healthy | 1. Send tokens from BTC addr to the vault2. Wait until the tx is confirmed | 1. Int3face balance is funded2. Vault is funded3. Int3face token supply == vault balance | TODO |
| 2 | Outbound transfer | - Funded int3face addr- 3 observer nodes- 3 int3face nodes- 3 BTC nodes | Observer int3face, BTC nodes are healthy | 1. Send MsgOutboundTransfer | 1. BTC addr is funded2. Vault supply is decreased3. Int3face token supply == vault balance | TODO |
| 3 | Key generation | - 3 observer nodes- 3 int3face nodes- 3 BTC nodes | Observer int3face, BTC nodes are healthy | 1. Generate gov proposal to execute KeyGen tx2. Vote on the proposal and accept it | 1. Old vault is empty2. New vault is funded3. New vault balance is decreased by the fee | TODO |
| 4 | Vault migration: inbound transfer to the new vault | - Funded BTC addr- 3 observer nodes- 3 int3face nodes- 3 BTC nodes | Observer int3face, BTC nodes are healthy | 1. Generate gov proposal to execute KeyGen tx2. Vote on the proposal and accept it3. Send tokens from BTC addr to the new vault | 1. Old vault is empty2. New vault is funded (old vault + incoming tokens)3. New vault balance is decreased by the fee4. Int3face balance is funded5. Int3face token supply == vault balance (considering fees) | TODO |
| 5 | Vault migration: outbound transfer from the new vault | - Funded int3face addr- 3 observer nodes- 3 int3face nodes- 3 BTC nodes | Observer int3face, BTC nodes are healthy | 1. Generate gov proposal to execute KeyGen tx2. Vote on the proposal and accept it3. Send MsgOutboundTransfer | 1. Old vault is empty2. New vault is funded (old vault - outgoing tokens)3. New vault balance is decreased by the fee4. BTC addr is funded5. Int3face token supply == vault balance (considering fees) | TODO |
| 6 | Vault migration: multiple chains | - Funded int3face addr- 3 observer nodes- 3 int3face nodes- 3 BTC nodes- 3 DOGE nodes | Observer int3face, BTC, DOGE nodes are healthy | 1. Generate gov proposal to execute KeyGen tx2. Vote on the proposal and accept it3. Send MsgOutboundTransfer to BTC4. Send MsgOutboundTransfer to DOGE | 1. Old vault is empty2. New vault is funded (old vault - outgoing tokens)3. New vault balance is decreased by the fee4. BTC addr is funded5. DOGE addr is funded5. Int3face token supply == vault balance for both BTC and DOGE (considering fees) | TODO |
| 7 | Observer shutdown after vault migration | - Funded int3face addr- 3 observer nodes- 3 int3face nodes- 3 BTC nodes- 3 DOGE nodes | Observer int3face, BTC, DOGE nodes are healthy | 1. Generate gov proposal to execute KeyGen tx2. Vote on the proposal and accept it3. Shutdown the observer | 1. Old vault is empty2. New vault is funded (old vault - outgoing tokens)3. New vault balance is decreased by the fee4. Pool public key is updated for all the observers5. Last observed height is updated for all the observers | TODO |