keep-network / keep-core

The smart contracts and reference client behind the Keep network
https://keep.network
MIT License
118 stars 73 forks source link

User acceptance tests of RFC 12 implementation #3755

Closed lukasz-zimnoch closed 8 months ago

lukasz-zimnoch commented 8 months ago

Introduction

The WalletCoordinator-based mechanism has been disabled on Sepolia testnet and replaced with the new mechanism described in RFC 12. That means:

Scenarios

This task is about testing the new coordination mechanism based on RFC 12 by executing the following scenarios:

Scenario 1

Request several redemptions one after another. Make sure they target multiple wallets. The redeemers should receive BTC after 3-5 hours. The SPV proofs for redemptions should be submitted and the redemptions should be marked as completed on tbtcscan shortly after.

Scenario 2

Make several deposits one after another. Make sure they target multiple wallets. The deposits should be swept after 48-50 hours. The SPV proofs for sweeps should be submitted and the deposits should be marked as swept on tbtcscan shortly after.

Scenario 3

Request several redemptions and make several deposits simultaneously. Make sure they target multiple wallets. Redeemers should receive BTC after 3-5 hours. Deposits should be swept after 48-50 hours but it's acceptable if this takes longer if the given wallet is supposed to handle some redemptions as well. All SPV proofs for redemptions and sweeps should be submitted. All redemptions and deposits should eventually be marked as completed on tbtcscan.

Scenario 4

Wait for an arbitrary wallet to execute a heartbeat. Make sure the signed message is a valid heartbeat message (16 bytes, starts with 8 0xff bytes). Make sure the signature is produced properly.

Additional requirements and caveats

michalinacienciala commented 8 months ago

Scenario 1

Request several redemptions one after another. Make sure they target multiple wallets. The redeemers should receive BTC after 3-5 hours. The SPV proofs for redemptions should be submitted and the redemptions should be marked as completed on tbtcscan shortly after.

Redemption 1

Amount: 0.013 ETH address: 0x58C6A45AcFCc1fD0E5A103Cab2caE00b0B188EC5 BTC address: 2N2pcxHzH44cEBB5kZy7iHtV7yiZmXyfpcU Time (redemption requested): Dec 12, 16:47 Time (unmint): Dec 12, 18:19 (1h32min since redemption request) Time (redemption proof): Dec 12, 21:45 (4h58min since redemption request) Tx (redemption requested): https://sepolia.etherscan.io/tx/0x8879ce9a18492fdd064510a3f9f01bc50bd4923c2ae8c83f709905dec8206417 Tx (unmint): https://blockstream.info/testnet/tx/8aee4afac9293c34f7d01eb8b26b5ccb9a71069da8acfe11581bf0e806776042 Tx (redemption proof): https://sepolia.etherscan.io/tx/0xc0552c392e0eff10851b8e5911ed5350bfa4ecc8e75abf51ee841ae54d3f5669 Wallet Pub KeyHash: 0x1352f7f576daa21843f5e9d20f59196f99bddb53

Redemption 2

Amount: 0.03099708 ETH address: 0x58C6A45AcFCc1fD0E5A103Cab2caE00b0B188EC5 BTC address: 2N2pcxHzH44cEBB5kZy7iHtV7yiZmXyfpcU Time (redemption requested): Dec 12, 16:57 Time (unmint): Dec 12, 18:19 (1h22min since redemption request) Time (redemption proof): Dec 12, 21:45 (4h48min since redemption request) Tx (redemption requested): https://sepolia.etherscan.io/tx/0x02462c0a3a1e8d234e636f3e957711c534659117ce6b8670a65df8d7b5f1f8d7 Tx (unmint): https://blockstream.info/testnet/tx/104264d44a44c3b58796dfd83f6be84ad7bb67fc8a7d067298e95909ef84b163 Tx (redemption proof): https://sepolia.etherscan.io/tx/0xb3e9ae1a2b173921f11ab3b6462ba2c552c6f737ac2a22a61408ddf451bab380 Wallet Pub KeyHash: 0xea251a9ef2cab32d875dea8c252ae78d91b6a287

A few days later:

Redemption 3

Amount: 0.1 ETH address: 0x58C6A45AcFCc1fD0E5A103Cab2caE00b0B188EC5 BTC address: 2N2pcxHzH44cEBB5kZy7iHtV7yiZmXyfpcU Time (redemption requested): Dec 19, 14:58 Time (unmint): Dec 19, 16:08 (1h10min since redemption request) Time (redemption proof): Dec 19, 19:44 (4h46min since redemption request) Tx (redemption requested): https://sepolia.etherscan.io/tx/0xbae3d62489bcb07ffd04fd2f46f2b4b23edfb7e4de8743558b35addbbc8d19b6 Tx (unmint): https://blockstream.info/testnet/tx/c6413e27e7a0770b4788a2588a78485415f2115577e0b234bbfccbcd388b5ac6 Tx (redemption proof): https://sepolia.etherscan.io/tx/0x929c9b935f660a4332ce3e2e3e4bcf990d1b6ae55dffeb27687c891b09d9c7d9 Tx (redemption requested): Wallet Pub KeyHash: 0x5ab5852f3a103bd9183cf251dc758ab321421c25

Redemption 4

Amount: 0.0181234 ETH address: 0x58C6A45AcFCc1fD0E5A103Cab2caE00b0B188EC5 BTC address: 2N2pcxHzH44cEBB5kZy7iHtV7yiZmXyfpcU Time (redemption requested): Dec 19, 15:10 Time (unmint): Dec 19, 16:08 (58min since redemption request) Time (redemption proof): Dec 19, 19:44 (4h34min since redemption request) Tx (redemption requested): https://sepolia.etherscan.io/tx/0xc4c41db34c6f3b567aab91371be5f8d6025fd0b4664fa8b3f5314e64ee5a8b20 Tx (unmint): https://blockstream.info/testnet/tx/918db21c8b70a664c70a790d7e1e3f7a52bce525b1e68236931db0222b24285f Tx (redemption proof): https://sepolia.etherscan.io/tx/0x3c9b2371bc6952651297b9bdbe57559ee1027b065226c1acb3fec848f2c7bdf4 Wallet Pub KeyHash: 0x5ab5852f3a103bd9183cf251dc758ab321421c25

Redemption 5

Amount: 0.01300766 ETH address: 0x27343E0410acd8Cf711d079C57811fe8c0666DF2 BTC address: 2N2pcxHzH44cEBB5kZy7iHtV7yiZmXyfpcU Time (redemption requested): Dec 19, 15:24 Time (unmint): Dec 19, 22:53 (7h29min since redemption request) Time (redemption proof): Dec 20, 02:25 (11h1min since redemption request) ⚠️ due to clients reset around Dec 19, 18:30 Tx (redemption requested): https://sepolia.etherscan.io/tx/0xbae3d62489bcb07ffd04fd2f46f2b4b23edfb7e4de8743558b35addbbc8d19b6 Tx (unmint): https://blockstream.info/testnet/tx/68521ebeea1648017802221687be1bd7b6634a9787bef4fea9d0c2a5cf8195f9 Tx (redemption proof): https://sepolia.etherscan.io/tx/0x998a1fbdc23c591072e089ecc07e5066deae5ebef2caa5819ac40f6bd38e840a Wallet Pub KeyHash: 0x1352f7f576daa21843f5e9d20f59196f99bddb53

Redemption 6

Amount: 0.05 ETH address: 0x27343E0410acd8Cf711d079C57811fe8c0666DF2 BTC address: 2NCUkcBRrTXBoNSfG4GiZit9PBGZSNpJ2mZ Time (redemption requested): Dec 19, 17:33 Time (unmint): Dec 19, 22:53 (5h20min since redemption request) Time (redemption proof): Dec 20, 02:25 (8h52min since redemption request) ⚠️ due to clients reset around Dec 19, 18:30 Tx (redemption requested): https://sepolia.etherscan.io/tx/0xefab675b99a2c6379df34e87a4ee6a535598c66cc051464b7e3c1c20a2fd433e Tx (unmint): https://blockstream.info/testnet/tx/80f901255998f2b47d94f29b40be85d13f012fe9801dcc5f93bd5b7f3e230180 Tx (redemption proof): https://sepolia.etherscan.io/tx/0x9f61708d2dfa93b76e412fdacc9b4898f4bd2952c82350eee6b23b558c10926b Wallet Pub KeyHash: 0x5ab5852f3a103bd9183cf251dc758ab321421c25

michalinacienciala commented 8 months ago

Scenario 2

Make several deposits one after another. Make sure they target multiple wallets. The deposits should be swept after 48-50 hours. The SPV proofs for sweeps should be submitted and the deposits should be marked as swept on tbtcscan shortly after.

Deposit 1

ETH address: 0x58C6A45AcFCc1fD0E5A103Cab2caE00b0B188EC5 Recovery address: tb1qjpxpqll8z6g920dr0v3mnvy08fctx5malf9ahm Deposit address: tb1qu6x6yswd7lhfwp6kqr6svqtezns4z3k7f7x3n38prsrn8htjqkysga2jey Amount: 0.01 Time (reveal): Dec 12, 12:51 Time (minting requested): Dec 12, 13:03 (12min since reveal) Time (minting finalized): Dec 12, 14:04 (1h13min since reveal) Time (swept): Dec 14, 04:20 (<50h since reveal) BTC tx: https://blockstream.info/testnet/tx/9d29dab5b55e89cc3821f498bc9d5399d56bea1f420a94e74399c0dcc565a9ad Reveal tx: https://sepolia.etherscan.io/tx/0x1fdec38453cf03ad7a1d4279d15bcc002002fd39400526be3d8c03a8da50216d Wallet Pub KeyHash: 0x1fcbe8fd86fe940c8214131af57d3482695eff4e

Deposit 2

ETH address: 0x58C6A45AcFCc1fD0E5A103Cab2caE00b0B188EC5 Recovery address: tb1qjpxpqll8z6g920dr0v3mnvy08fctx5malf9ahm Deposit address: tb1qz5w2kq04m40n0lyg4kjz5m8tkra2dseh8ke3dnnnjkn6yjyz858szrtjk8 Amount: 0.015 Time (reveal): Dec 12, 12:59 Time (minting requested): Dec 12, 13:03 (4min since reveal) Time (minting finalized): Dec 12, 14:04 (1h5min since reveal) Time (swept): Dec 14, 04:20 (<50h since reveal) BTC tx: https://blockstream.info/testnet/tx/4edd8c0bc92b6e18a5628b972c0cb7d0e5473ccb5992892aaf26200f3322d8d2 Reveal tx: https://sepolia.etherscan.io/tx/0x4ca80d158f3d0d1735c16b709030a8609ba7ca3a2027285988dddc0802c46f47 Wallet Pub KeyHash: 0x1fcbe8fd86fe940c8214131af57d3482695eff4e

Deposit 3

ETH address: 0x58C6A45AcFCc1fD0E5A103Cab2caE00b0B188EC5 Recovery address: tb1qjpxpqll8z6g920dr0v3mnvy08fctx5malf9ahm Deposit address: tb1qlgcd4hssvyeyuqpz6237p8gymqeu0rzv3s3demu6vsqwuw3vy8gqpzxvdw Amount: 0.02 Time (reveal): Dec 12, 13:07 Time (minting requested): Dec 12, 13:23 (16min since reveal) Time (minting finalized): Dec 12, 14:24 (1h17min since reveal) Time (swept): Dec 14, 04:20 (<50h since reveal) BTC tx: https://blockstream.info/testnet/tx/d79ba18777bb2bd73a348c72cd9f2626cf86f0c7a15387ac0f3f3426c124695f Reveal tx: https://sepolia.etherscan.io/tx/0x13e8a849984388b087af5a3a68f3a171c398dad2acb6c7965d974e88ab289f7e Wallet Pub KeyHash: 0x1fcbe8fd86fe940c8214131af57d3482695eff4e

Deposit 4

ETH address: 0x58C6A45AcFCc1fD0E5A103Cab2caE00b0B188EC5 Recovery address: tb1qjpxpqll8z6g920dr0v3mnvy08fctx5malf9ahm Deposit address: tb1q50s0dg069dsfwtmez8zv32dzfudyw2020lr8twgkdcwfdh4vy63qudwdx2 Amount: 0.011 Time (reveal): Dec 12, 14:52 Time (minting requested): Dec 12, 15:14 (22min since reveal) Time (minting finalized): Dec 12, 16:15 (1h23min since reveal) Time (swept): Dec 14, 14:07 (<50h since reveal) BTC tx: https://blockstream.info/testnet/tx/3f05501dfc91de2a08eac1c06a7dd4244f034d184bd7fbd1414968d357f66d76 Reveal tx: https://sepolia.etherscan.io/tx/0xdd506d6a1ad0bab347ee34e6b1b7af91c05f4f1fc4d8e39232d120566d0663bd Wallet Pub KeyHash: 0x5ab5852f3a103bd9183cf251dc758ab321421c25

Deposit 5

ETH address: 0x58C6A45AcFCc1fD0E5A103Cab2caE00b0B188EC5 Recovery address: tb1qjpxpqll8z6g920dr0v3mnvy08fctx5malf9ahm Deposit address: tb1qwgrs4un3928d84avza8nzjjh7l393lw027cv5jt9dw09plxk0l2sgqy9v3 Amount: 0.03 Time (reveal): Dec 12, 15:00 Time (minting requested): Dec 12, 15:09 (9min since reveal) Time (minting finalized): Dec 12, 16:10 (1h10min since reveal) Time (swept): Dec 14, 14:07 (<50h since reveal) BTC tx: https://blockstream.info/testnet/tx/4b773447984fc6ca8721b5665e8c41d8da83161422f5d88803c3c16903374ade Reveal tx: https://sepolia.etherscan.io/tx/0x40f3b45953d0daceca39890ca090c0f1878391542e5445ac0a6d44bebb03f7f3 Wallet Pub KeyHash: 0x5ab5852f3a103bd9183cf251dc758ab321421c25

michalinacienciala commented 8 months ago

Scenario 3

Request several redemptions and make several deposits simultaneously. Make sure they target multiple wallets. Redeemers should receive BTC after 3-5 hours. Deposits should be swept after 48-50 hours but it's acceptable if this takes longer if the given wallet is supposed to handle some redemptions as well. All SPV proofs for redemptions and sweeps should be submitted. All redemptions and deposits should eventually be marked as completed on tbtcscan.

Deposit 1

ETH address: 0x58C6A45AcFCc1fD0E5A103Cab2caE00b0B188EC5 Recovery address: tb1qjpxpqll8z6g920dr0v3mnvy08fctx5malf9ahm Deposit address: tb1q6dw84yrmmmr69vxq9z5szyrt4rcvd28hwgw3e86mw9xtl5pw3pcs9z9htj Amount: 0.03 Time (reveal): Dec 20, 10:24 Time (minting requested): Dec 20, 10:37 (13min since reveal) Time (minting finalized): Dec 20, 11:38 (1h14min since reveal) Time (swept): Dec 23, 04:04 (⚠️ >50h since reveal - this was because there were redemptions requested from the wallet in the original coordination window; sweep was correctly executed in the next coordination window after that) BTC tx: https://blockstream.info/testnet/tx/5ccebff2a89621f4c46239375319e07906e41ee208c44da14b2f71187766490f Reveal tx: https://sepolia.etherscan.io/tx/0x07470e84d3372bc9b55e63ee1873d57bc168416537cf738911140fc2fc9a3b2d Wallet Pub KeyHash: 0x5ab5852f3a103bd9183cf251dc758ab321421c25

Redemption 1

Amount: 0.01 ETH address: 0x58C6A45AcFCc1fD0E5A103Cab2caE00b0B188EC5 BTC address: 2N2pcxHzH44cEBB5kZy7iHtV7yiZmXyfpcU Time (redemption requested): Dec 20, 10:28 Time (unmint): Dec 20, 12:23 (1h55min since redemption request) Time (redemption proof): Dec 20, 15:36 (5h8min since redemption request) ⚠️ slightly over 5h Tx (redemption requested): https://sepolia.etherscan.io/tx/0x3922502afa209f818a3fcde65b21b267349a2d7342be85f4d25d93abafc31cbe Tx (unmint): https://blockstream.info/testnet/tx/41627eb6b366da48348362f377a189fc75f960ced64eabb34b8aaf6775b7db01 Tx (redemption proof): Wallet Pub KeyHash: 0x1fcbe8fd86fe940c8214131af57d3482695eff4e

Deposit 2

ETH address: 0x58C6A45AcFCc1fD0E5A103Cab2caE00b0B188EC5 Recovery address: tb1qjpxpqll8z6g920dr0v3mnvy08fctx5malf9ahm Deposit address: tb1qylmr9uzvj9sguvesksuef0f0tudy689kzcck4kv0p9pgwykfv8uswrwy2s Amount: 0.06 Time (reveal): Dec 20, 10:31 Time (minting requested): Dec 20, 10:37 (6min since reveal) Time (minting finalized): Dec 20, 11:38 (1h7min since reveal) Time (swept): Dec 23, 04:04 (⚠️ >50h since reveal - this was because there were redemptions requested from the wallet in the original coordination window; sweep was correctly executed in the next coordination window after that) BTC tx: https://blockstream.info/testnet/tx/286145f73e2d5829ae127cc9b7a3cc98d694b5ecd3836c710fb7a5a3ee72d05a Reveal tx: https://sepolia.etherscan.io/tx/0x0dc1b7625194181b7478f159ce0e364644bc5daa4c5863a46d7b11a19e30f0a4 Wallet Pub KeyHash: 0x5ab5852f3a103bd9183cf251dc758ab321421c25

Redemption 2

Amount: 0.0124172 ETH address: 0x58C6A45AcFCc1fD0E5A103Cab2caE00b0B188EC5 BTC address: 2N2pcxHzH44cEBB5kZy7iHtV7yiZmXyfpcU Time (redemption requested): Dec 20, 10:36 Time (unmint): Dec 20, 12:23 (1h47min since redemption request) Time (redemption proof): Dec 20, 15:36 (5h since redemption request) Tx (redemption requested): https://sepolia.etherscan.io/tx/0xf372be3bd58985915201d00818fd977f7d57a8cd764bc255525b5f0c8a0c999a Tx (unmint): https://blockstream.info/testnet/tx/a92453fb8ae59e5afdbdadc11fb98877d2376450298adf368ab47a7635df7605 Tx (redemption proof): https://sepolia.etherscan.io/tx/0x1b6d12473a9c6bb851411958671e76d875a948653ba34a38414a4f15e68c7c22 Wallet Pub KeyHash: 0x5ab5852f3a103bd9183cf251dc758ab321421c25

Deposit 3

ETH address: 0x58C6A45AcFCc1fD0E5A103Cab2caE00b0B188EC5 Recovery address: tb1qjpxpqll8z6g920dr0v3mnvy08fctx5malf9ahm Deposit address: tb1q9kx08q3qyhaccrrnvwpcy273hwuqe8v9hx3el9v2ltm8hsf40kvsgfz8ys Amount: 0.04 Time (reveal): Dec 20, 10:40 Time (minting requested): Dec 20, 10:46 (6min since reveal) Time (minting finalized): Dec 20, 11:48 (1h8min since reveal) Time (swept): Dec 23, 04:04 (⚠️ >50h since reveal - this was because there were redemptions requested from the wallet in the original coordination window; sweep was correctly executed in the next coordination window after that) BTC tx: https://blockstream.info/testnet/tx/0a4aee6ea722a92d9bf895fbd1f55fee13cd304a09882538dcf3cbbbd43e162e Reveal tx: https://sepolia.etherscan.io/tx/0x8f11778eec3fe7916f967b267229aba2e86297ca821ed1e682d72b4ec4bf6a6b Wallet Pub KeyHash: 0x5ab5852f3a103bd9183cf251dc758ab321421c25

Redemption 3

Amount: 0.035 ETH address: 0x27343E0410acd8Cf711d079C57811fe8c0666DF2 BTC address: 2NCUkcBRrTXBoNSfG4GiZit9PBGZSNpJ2mZ Time (redemption requested): Dec 20, 11:14 Time (unmint): Dec 20, 12:23 (1h9min since redemption request) Time (redemption proof): Dec 20, 15:36 (4h22min since redemption request) Tx (redemption requested): https://sepolia.etherscan.io/tx/0xba89e3d5fd67dd75d23f5a59d818e77cc1e2017495f8b21d1943d3b2d34b6b0f Tx (unmint): https://blockstream.info/testnet/tx/a92453fb8ae59e5afdbdadc11fb98877d2376450298adf368ab47a7635df7605 Tx (redemption proof): https://sepolia.etherscan.io/tx/0x1b6d12473a9c6bb851411958671e76d875a948653ba34a38414a4f15e68c7c22 Wallet Pub KeyHash: 0x5ab5852f3a103bd9183cf251dc758ab321421c25

Deposit 4

ETH address: 0x27343E0410acd8Cf711d079C57811fe8c0666DF2 Recovery address: tb1qjpxpqll8z6g920dr0v3mnvy08fctx5malf9ahm Deposit address: tb1qunh2d2rfz2j5e0ujtsuq7enkna8vjevseu9kjzzdura3xq72etgsqu9n9w Amount: 0.08 Time (reveal): Dec 20, 11:18 Time (minting requested): Dec 20, 11:27 (9min since reveal) Time (minting finalized): Dec 20, 12:29 (1h11min since reveal) Time (swept): Dec 23, 04:04 (⚠️ >50h since reveal - this was because there were redemptions requested from the wallet in the original coordination window; sweep was correctly executed in the next coordination window after that) BTC tx: https://blockstream.info/testnet/tx/165bff0fb770725b8329d95f2674e81058b511b376671ef45a3bbc16f6214bf3 Reveal tx: https://sepolia.etherscan.io/tx/0xa1bbfe0e6a990e5781850854f51fe37a479625660835ad6fcc62c416eae2b6b8 Wallet Pub KeyHash: 0x5ab5852f3a103bd9183cf251dc758ab321421c25

Redemption 4

Amount: 0.1 ETH address: 0x27343E0410acd8Cf711d079C57811fe8c0666DF2 BTC address: 2NCUkcBRrTXBoNSfG4GiZit9PBGZSNpJ2mZ Time (redemption requested): Dec 20, 11:23 Time (unmint): Dec 20, 12:23 (1h since redemption request) Time (redemption proof): Dec 20, 15:36 (4h13min since redemption request) Tx (redemption requested): https://sepolia.etherscan.io/tx/0x50378f0d207838706cc6a105a79f4a3cf2dab6fdc0d2877799b533f5d28e8b6b Tx (unmint): https://blockstream.info/testnet/tx/41627eb6b366da48348362f377a189fc75f960ced64eabb34b8aaf6775b7db01 Tx (redemption proof): https://sepolia.etherscan.io/tx/0x663e60969f84e7f8e5d4111cf0bd06e20248cc66c5d0045d781f182b22b2dd54 Wallet Pub KeyHash: 0x1fcbe8fd86fe940c8214131af57d3482695eff4e

Deposit 5

ETH address: 0x27343E0410acd8Cf711d079C57811fe8c0666DF2 Recovery address: tb1qjpxpqll8z6g920dr0v3mnvy08fctx5malf9ahm Deposit address: tb1qa54tezz4xzkpfyfm0me2mmszzjwx3qzcw6w0d7p7ryxqa0gm6kqsg0zljk Amount: 0.03 Time (reveal): Dec 20, 11:39 Time (minting requested): Dec 20, 11:52 (13min since reveal) Time (minting finalized): Dec 20, 12:54 (1h15min since reveal) Time (swept): Dec 23, 04:04 (⚠️ >50h since reveal - this was because there were redemptions requested from the wallet in the original coordination window; sweep was correctly executed in the next coordination window after that) BTC tx: https://blockstream.info/testnet/tx/3a2c1744ad2a62165953d95155cfe2ed1427489cac540c9880adadf1cb796e0d Reveal tx: https://sepolia.etherscan.io/tx/0x8580e753f26cd568427f63017cd2b7264b2c61cfa911097cf251d59aaf03aa26 Wallet Pub KeyHash: 0x5ab5852f3a103bd9183cf251dc758ab321421c25

Deposit 6

ETH address: 0x27343E0410acd8Cf711d079C57811fe8c0666DF2 Recovery address: tb1qjpxpqll8z6g920dr0v3mnvy08fctx5malf9ahm Deposit address: tb1qvm6evc6fcld7p0m6glajx8ac3eehpfkalumwm7mmgcwpl9mg9lvsjekc9e Amount: 0.07 Time (reveal): Dec 20, 14:30 Time (minting requested): Dec 20, 14:37 (7min since reveal) Time (minting finalized): Dec 20, 15:40 (1h10min min since reveal) Time (swept): Dec 20, 23:37 (<50h since reveal) BTC tx: https://blockstream.info/testnet/tx/fdad02f587ea137e8f18c008164826b00ae65bcd9f617f90c7ffbf49e7ca1039 Reveal tx: https://sepolia.etherscan.io/tx/0xb926cc88e2bc417a99ecaf7eb38864be3a3948f09ea41d5338224b52f2832f22 Wallet Pub KeyHash: 0x6af9153e5068a98e538de43dd134e29808eac0c1

michalinacienciala commented 8 months ago

Scenario 4

Wait for an arbitrary wallet to execute a heartbeat. Make sure the signed message is a valid heartbeat message (16 bytes, starts with 8 0xff bytes). Make sure the signature is produced properly.

Multiple heartbeats observed over a period of ~1 week. Most were successful, but there were some failing cases as well.

⚠️ All heartbeats executed around 2023-12-13 17:47:14 have failed. Heartbeats were executed on 4 wallets and it looks that due to resource shortage some computations took longer than usual, resulting in cannot wait for signing done checks for attempt [x]: [cannot receive signing done messages on time]; starting next attempt.

⚠️ The other failed heartbeat was during heartbeat started near 2023-12-16 23:46:01.424 on the wallet 2023-12-16 23:46:01.424. In this case it looks some members did produce signature in the first attempt, but for some (on client-4 and client-0) the timeout has passed. And this lead to client-4 and client-0 trying to sign in next attempts (which was not successful due to not enough members controlled).

Both above cases may be explained by the resource shortage. To combat that, we've lowered the frequency of heartbeats from 12.5 % to 6.25%. Since that change there were no problems with heartbeats.

michalinacienciala commented 8 months ago

Tests conducted with success. There were cases were some actions took longer than usual or failed, but all such situations were expected behavior given the circumstances the clients were in (other ongoing processes that took priority, limited resources, etc.). In case of the failures (which were in Scenario 4 concerning heartbeats) we decreased the frequency of heartbeats requests, thus lowering the risk for failures due to too much computations going on on a single client.