diff --git a/tests/fuzz/corpora/fuzz-initial_channel/038c32fb243dbc66abe3f71ddd26e872c68a6a43 b/tests/fuzz/corpora/fuzz-initial_channel/038c32fb243dbc66abe3f71ddd26e872c68a6a43 new file mode 100644 index 000000000000..c8ee2eca9e9e Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/038c32fb243dbc66abe3f71ddd26e872c68a6a43 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/0595978d954bef478b8790616c4fcd81f5c0684e b/tests/fuzz/corpora/fuzz-initial_channel/0595978d954bef478b8790616c4fcd81f5c0684e new file mode 100644 index 000000000000..52df771f9ad0 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/0595978d954bef478b8790616c4fcd81f5c0684e differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/0813977d723390a325b6f8041447dc92974c7379 b/tests/fuzz/corpora/fuzz-initial_channel/0813977d723390a325b6f8041447dc92974c7379 new file mode 100644 index 000000000000..5d58726ba992 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/0813977d723390a325b6f8041447dc92974c7379 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/0aa84d53557689ff2fc1f1aa208089390c64b849 b/tests/fuzz/corpora/fuzz-initial_channel/0aa84d53557689ff2fc1f1aa208089390c64b849 new file mode 100644 index 000000000000..c918c8357aaa Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/0aa84d53557689ff2fc1f1aa208089390c64b849 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/0b851cf09cfb8c7b3698fcbe4a282e9fd3d77b6d b/tests/fuzz/corpora/fuzz-initial_channel/0b851cf09cfb8c7b3698fcbe4a282e9fd3d77b6d new file mode 100644 index 000000000000..6bb1164a6038 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/0b851cf09cfb8c7b3698fcbe4a282e9fd3d77b6d differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/0eca7b887559ec8d7bf5e0bdb6b9f27fe149c8c0 b/tests/fuzz/corpora/fuzz-initial_channel/0eca7b887559ec8d7bf5e0bdb6b9f27fe149c8c0 new file mode 100644 index 000000000000..9f3b37a53129 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/0eca7b887559ec8d7bf5e0bdb6b9f27fe149c8c0 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/12a9c23cfa4003d5533a015d70a4a774ce5a0b54 b/tests/fuzz/corpora/fuzz-initial_channel/12a9c23cfa4003d5533a015d70a4a774ce5a0b54 new file mode 100644 index 000000000000..01b6eedb4700 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/12a9c23cfa4003d5533a015d70a4a774ce5a0b54 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/1809576f9bfd785c6af6eb8c5591820e1aff627c b/tests/fuzz/corpora/fuzz-initial_channel/1809576f9bfd785c6af6eb8c5591820e1aff627c new file mode 100644 index 000000000000..417eb5f3d4e2 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/1809576f9bfd785c6af6eb8c5591820e1aff627c differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/1aa0f7c4ad74a7bb1428ed885fe6b3ef4b7116d4 b/tests/fuzz/corpora/fuzz-initial_channel/1aa0f7c4ad74a7bb1428ed885fe6b3ef4b7116d4 new file mode 100644 index 000000000000..3c75e66f4b18 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/1aa0f7c4ad74a7bb1428ed885fe6b3ef4b7116d4 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/1afe33a0f345c223e827311201aafca9057c37fd b/tests/fuzz/corpora/fuzz-initial_channel/1afe33a0f345c223e827311201aafca9057c37fd new file mode 100644 index 000000000000..5146fb28ab56 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/1afe33a0f345c223e827311201aafca9057c37fd differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/26ea93c72115d11e47b065ad5959b3246bdcc296 b/tests/fuzz/corpora/fuzz-initial_channel/26ea93c72115d11e47b065ad5959b3246bdcc296 new file mode 100644 index 000000000000..2025a43d6cfd Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/26ea93c72115d11e47b065ad5959b3246bdcc296 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/2939806d05dfba105e4724ec9e9d9074429ea23c b/tests/fuzz/corpora/fuzz-initial_channel/2939806d05dfba105e4724ec9e9d9074429ea23c new file mode 100644 index 000000000000..9c771c4494e0 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/2939806d05dfba105e4724ec9e9d9074429ea23c differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/2986d80e8b0f1616d12ba7d70e11da1c60d005ca b/tests/fuzz/corpora/fuzz-initial_channel/2986d80e8b0f1616d12ba7d70e11da1c60d005ca new file mode 100644 index 000000000000..54b76ffedbc9 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/2986d80e8b0f1616d12ba7d70e11da1c60d005ca differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/2d175ef263ebfabbd10e4633665f685ef5e8ad3c b/tests/fuzz/corpora/fuzz-initial_channel/2d175ef263ebfabbd10e4633665f685ef5e8ad3c new file mode 100644 index 000000000000..81ab371015ce Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/2d175ef263ebfabbd10e4633665f685ef5e8ad3c differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/2e64503c8ac6e84e912b1b397beda77d4a939942 b/tests/fuzz/corpora/fuzz-initial_channel/2e64503c8ac6e84e912b1b397beda77d4a939942 new file mode 100644 index 000000000000..1f8323391542 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/2e64503c8ac6e84e912b1b397beda77d4a939942 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/2ff9a2b3514fe2c50d284e3c408f766b3d3e523e b/tests/fuzz/corpora/fuzz-initial_channel/2ff9a2b3514fe2c50d284e3c408f766b3d3e523e new file mode 100644 index 000000000000..7f7f6de490bc Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/2ff9a2b3514fe2c50d284e3c408f766b3d3e523e differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/30728702cbbd472378ee45690062a9e195787507 b/tests/fuzz/corpora/fuzz-initial_channel/30728702cbbd472378ee45690062a9e195787507 new file mode 100644 index 000000000000..3fd8104c65bd Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/30728702cbbd472378ee45690062a9e195787507 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/31dcdf8514e7ae677fd0bee9697775da7c6ab126 b/tests/fuzz/corpora/fuzz-initial_channel/31dcdf8514e7ae677fd0bee9697775da7c6ab126 new file mode 100644 index 000000000000..5a90c1e15b3e Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/31dcdf8514e7ae677fd0bee9697775da7c6ab126 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/3481196aa8565dd4d3afc1df59a7010e66fb6e9a b/tests/fuzz/corpora/fuzz-initial_channel/3481196aa8565dd4d3afc1df59a7010e66fb6e9a new file mode 100644 index 000000000000..66bb26514d5c Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/3481196aa8565dd4d3afc1df59a7010e66fb6e9a differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/382640ae7f15cb02f7ded311f8baa2f36af8842d b/tests/fuzz/corpora/fuzz-initial_channel/382640ae7f15cb02f7ded311f8baa2f36af8842d new file mode 100644 index 000000000000..bfdd6d9279df Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/382640ae7f15cb02f7ded311f8baa2f36af8842d differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/3b3f349d2a3f1e969f907115e62095a41f970466 b/tests/fuzz/corpora/fuzz-initial_channel/3b3f349d2a3f1e969f907115e62095a41f970466 new file mode 100644 index 000000000000..7d62ef07b71b Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/3b3f349d2a3f1e969f907115e62095a41f970466 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/41e8c3571af73944e8d267c723eaf835a0420629 b/tests/fuzz/corpora/fuzz-initial_channel/41e8c3571af73944e8d267c723eaf835a0420629 new file mode 100644 index 000000000000..c81fb843df39 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/41e8c3571af73944e8d267c723eaf835a0420629 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/4398ab3ecfb774f0756512e99c3e50b0b88a3ce4 b/tests/fuzz/corpora/fuzz-initial_channel/4398ab3ecfb774f0756512e99c3e50b0b88a3ce4 new file mode 100644 index 000000000000..d796260a5175 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/4398ab3ecfb774f0756512e99c3e50b0b88a3ce4 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/456f22e5c6f0cfa3f5540747ac633177d8d759ae b/tests/fuzz/corpora/fuzz-initial_channel/456f22e5c6f0cfa3f5540747ac633177d8d759ae new file mode 100644 index 000000000000..fc6fcb924419 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/456f22e5c6f0cfa3f5540747ac633177d8d759ae differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/4b0ce9d128079dea692205ec84e071c23a4c0a01 b/tests/fuzz/corpora/fuzz-initial_channel/4b0ce9d128079dea692205ec84e071c23a4c0a01 new file mode 100644 index 000000000000..ade1a68694fa Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/4b0ce9d128079dea692205ec84e071c23a4c0a01 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/4d08bb7f85ca3f1d1cfa566bf785129408d8b320 b/tests/fuzz/corpora/fuzz-initial_channel/4d08bb7f85ca3f1d1cfa566bf785129408d8b320 new file mode 100644 index 000000000000..d5ff4ad38740 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/4d08bb7f85ca3f1d1cfa566bf785129408d8b320 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/528c90580faf9a1c3bb83f40aa6781f98d633b97 b/tests/fuzz/corpora/fuzz-initial_channel/528c90580faf9a1c3bb83f40aa6781f98d633b97 new file mode 100644 index 000000000000..0603b528b0bb Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/528c90580faf9a1c3bb83f40aa6781f98d633b97 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/571bca7d9ef18ddf422f3fb3938442aef2a25e57 b/tests/fuzz/corpora/fuzz-initial_channel/571bca7d9ef18ddf422f3fb3938442aef2a25e57 new file mode 100644 index 000000000000..5925cb6783d3 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/571bca7d9ef18ddf422f3fb3938442aef2a25e57 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/5772cdc8dc0852b571327ec1384d70c428960d5a b/tests/fuzz/corpora/fuzz-initial_channel/5772cdc8dc0852b571327ec1384d70c428960d5a new file mode 100644 index 000000000000..98bab6fa91a3 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/5772cdc8dc0852b571327ec1384d70c428960d5a differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/5aa67696333395effc6ed442624fdcff4616a848 b/tests/fuzz/corpora/fuzz-initial_channel/5aa67696333395effc6ed442624fdcff4616a848 new file mode 100644 index 000000000000..5ea15bb8ba28 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/5aa67696333395effc6ed442624fdcff4616a848 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/61ebba0b451a6b9ea3b07357491f4103a13284ab b/tests/fuzz/corpora/fuzz-initial_channel/61ebba0b451a6b9ea3b07357491f4103a13284ab new file mode 100644 index 000000000000..e51c63547234 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/61ebba0b451a6b9ea3b07357491f4103a13284ab differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/66b0b4ae678ec131035a5c4fdd37dbed6bf6134d b/tests/fuzz/corpora/fuzz-initial_channel/66b0b4ae678ec131035a5c4fdd37dbed6bf6134d new file mode 100644 index 000000000000..e805eee1fdf4 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/66b0b4ae678ec131035a5c4fdd37dbed6bf6134d differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/683d1b4d4784ec06cf39ac1a37f16926df9dc8ad b/tests/fuzz/corpora/fuzz-initial_channel/683d1b4d4784ec06cf39ac1a37f16926df9dc8ad new file mode 100644 index 000000000000..1cc783c8b54a Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/683d1b4d4784ec06cf39ac1a37f16926df9dc8ad differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/6c6c8653d37485aa2e40cfcbd0c41f7f485f6f56 b/tests/fuzz/corpora/fuzz-initial_channel/6c6c8653d37485aa2e40cfcbd0c41f7f485f6f56 new file mode 100644 index 000000000000..752f04e1bc09 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/6c6c8653d37485aa2e40cfcbd0c41f7f485f6f56 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/7ae439945c5733cc70ff5d921f0843414dafec5a b/tests/fuzz/corpora/fuzz-initial_channel/7ae439945c5733cc70ff5d921f0843414dafec5a new file mode 100644 index 000000000000..ead497058b7b Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/7ae439945c5733cc70ff5d921f0843414dafec5a differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/7d3c1a955ba73806526594e33fa90f8aaa2310e4 b/tests/fuzz/corpora/fuzz-initial_channel/7d3c1a955ba73806526594e33fa90f8aaa2310e4 new file mode 100644 index 000000000000..d67cc111fa83 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/7d3c1a955ba73806526594e33fa90f8aaa2310e4 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/7e0afbd847072b464bb4255a033eef84ddfe9e54 b/tests/fuzz/corpora/fuzz-initial_channel/7e0afbd847072b464bb4255a033eef84ddfe9e54 new file mode 100644 index 000000000000..c84e1296254d Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/7e0afbd847072b464bb4255a033eef84ddfe9e54 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/7fa954e565026b9c5a168c3d0878bd0462c61025 b/tests/fuzz/corpora/fuzz-initial_channel/7fa954e565026b9c5a168c3d0878bd0462c61025 new file mode 100644 index 000000000000..db753eca4fe1 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/7fa954e565026b9c5a168c3d0878bd0462c61025 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/816932b05f064c087e89ee84f5a0556ee78fe242 b/tests/fuzz/corpora/fuzz-initial_channel/816932b05f064c087e89ee84f5a0556ee78fe242 new file mode 100644 index 000000000000..1624b0ea3bd0 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/816932b05f064c087e89ee84f5a0556ee78fe242 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/82a60180999dda05a43a9103b4a9bd8383f2e7ae b/tests/fuzz/corpora/fuzz-initial_channel/82a60180999dda05a43a9103b4a9bd8383f2e7ae new file mode 100644 index 000000000000..2f0e42e3ebe5 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/82a60180999dda05a43a9103b4a9bd8383f2e7ae differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/877214a4f25dbf7ebc7ffb51200032d4a6f5dc4a b/tests/fuzz/corpora/fuzz-initial_channel/877214a4f25dbf7ebc7ffb51200032d4a6f5dc4a new file mode 100644 index 000000000000..41bf1564ad24 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/877214a4f25dbf7ebc7ffb51200032d4a6f5dc4a differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/8af81cb3d9a308410007ad74a0e6ca4ccfd4a003 b/tests/fuzz/corpora/fuzz-initial_channel/8af81cb3d9a308410007ad74a0e6ca4ccfd4a003 new file mode 100644 index 000000000000..2148b208dc43 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/8af81cb3d9a308410007ad74a0e6ca4ccfd4a003 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/9389c6e757e22f81c69e677562995abeb39a9bf3 b/tests/fuzz/corpora/fuzz-initial_channel/9389c6e757e22f81c69e677562995abeb39a9bf3 new file mode 100644 index 000000000000..1a5b4e073b1a Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/9389c6e757e22f81c69e677562995abeb39a9bf3 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/9460249f96ec872e96e0d4cde09a2e2900ce2c8e b/tests/fuzz/corpora/fuzz-initial_channel/9460249f96ec872e96e0d4cde09a2e2900ce2c8e new file mode 100644 index 000000000000..fe1b6b0a01e3 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/9460249f96ec872e96e0d4cde09a2e2900ce2c8e differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/95c640dcaf98c1c60353028cdaa43f9d6eced6d4 b/tests/fuzz/corpora/fuzz-initial_channel/95c640dcaf98c1c60353028cdaa43f9d6eced6d4 new file mode 100644 index 000000000000..6b48afd007e1 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/95c640dcaf98c1c60353028cdaa43f9d6eced6d4 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/97bd0c062214d31f2ce6b91e312419e1ebf23820 b/tests/fuzz/corpora/fuzz-initial_channel/97bd0c062214d31f2ce6b91e312419e1ebf23820 new file mode 100644 index 000000000000..ea3a2befc398 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/97bd0c062214d31f2ce6b91e312419e1ebf23820 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/99a05511f86aa631146ac650c5f4cf63ac63fbdb b/tests/fuzz/corpora/fuzz-initial_channel/99a05511f86aa631146ac650c5f4cf63ac63fbdb new file mode 100644 index 000000000000..c7d457cae2b9 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/99a05511f86aa631146ac650c5f4cf63ac63fbdb differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/a09f7c4009cc87629a1df4cafd33344455c88c09 b/tests/fuzz/corpora/fuzz-initial_channel/a09f7c4009cc87629a1df4cafd33344455c88c09 new file mode 100644 index 000000000000..0ac142486603 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/a09f7c4009cc87629a1df4cafd33344455c88c09 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/a1ff318350d1c74ba6e9b3d37d6dc6da74395513 b/tests/fuzz/corpora/fuzz-initial_channel/a1ff318350d1c74ba6e9b3d37d6dc6da74395513 new file mode 100644 index 000000000000..ceb63311f7e1 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/a1ff318350d1c74ba6e9b3d37d6dc6da74395513 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/abebcc80c5b1b67082a75d159ae111230c86d12d b/tests/fuzz/corpora/fuzz-initial_channel/abebcc80c5b1b67082a75d159ae111230c86d12d new file mode 100644 index 000000000000..b0f7f4bd2af2 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/abebcc80c5b1b67082a75d159ae111230c86d12d differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/acebe1db64bac30cd36a2415234bf6e1edff3e20 b/tests/fuzz/corpora/fuzz-initial_channel/acebe1db64bac30cd36a2415234bf6e1edff3e20 new file mode 100644 index 000000000000..a7ebd56b70a8 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/acebe1db64bac30cd36a2415234bf6e1edff3e20 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/af3c55c4e22696bcf0897ac88bdea2033fd337a9 b/tests/fuzz/corpora/fuzz-initial_channel/af3c55c4e22696bcf0897ac88bdea2033fd337a9 new file mode 100644 index 000000000000..55bcd5608ce6 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/af3c55c4e22696bcf0897ac88bdea2033fd337a9 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/ba4c2f61ced86bf70af5f7c7d2ed3f7042efe9ce b/tests/fuzz/corpora/fuzz-initial_channel/ba4c2f61ced86bf70af5f7c7d2ed3f7042efe9ce new file mode 100644 index 000000000000..c9433dab3b82 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/ba4c2f61ced86bf70af5f7c7d2ed3f7042efe9ce differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/bd1daf480b6d1169521daf2159e3f2c38cce2327 b/tests/fuzz/corpora/fuzz-initial_channel/bd1daf480b6d1169521daf2159e3f2c38cce2327 new file mode 100644 index 000000000000..d70581b19819 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/bd1daf480b6d1169521daf2159e3f2c38cce2327 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/be1b774c35584ec6eff7051a607d2f9f55c7e0a0 b/tests/fuzz/corpora/fuzz-initial_channel/be1b774c35584ec6eff7051a607d2f9f55c7e0a0 new file mode 100644 index 000000000000..d5b884d30f84 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/be1b774c35584ec6eff7051a607d2f9f55c7e0a0 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/bf9477c2621bf37fc5471e67a23ec31f6e995702 b/tests/fuzz/corpora/fuzz-initial_channel/bf9477c2621bf37fc5471e67a23ec31f6e995702 new file mode 100644 index 000000000000..30825e6a7652 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/bf9477c2621bf37fc5471e67a23ec31f6e995702 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/c0863c1f8e802eacd2757c54e5b3b7977f63d2e5 b/tests/fuzz/corpora/fuzz-initial_channel/c0863c1f8e802eacd2757c54e5b3b7977f63d2e5 new file mode 100644 index 000000000000..9ab137fa6683 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/c0863c1f8e802eacd2757c54e5b3b7977f63d2e5 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/c2ca415f88389f9f9601958184a219c6898ea72e b/tests/fuzz/corpora/fuzz-initial_channel/c2ca415f88389f9f9601958184a219c6898ea72e new file mode 100644 index 000000000000..73ee25108e71 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/c2ca415f88389f9f9601958184a219c6898ea72e differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/c86291f6419a539c62f06c488ceb1d04f7e702b6 b/tests/fuzz/corpora/fuzz-initial_channel/c86291f6419a539c62f06c488ceb1d04f7e702b6 new file mode 100644 index 000000000000..54b7a90fa06c Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/c86291f6419a539c62f06c488ceb1d04f7e702b6 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/ceb02b2df105cff495ddff1839c2a833784816e9 b/tests/fuzz/corpora/fuzz-initial_channel/ceb02b2df105cff495ddff1839c2a833784816e9 new file mode 100644 index 000000000000..b128b63b7359 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/ceb02b2df105cff495ddff1839c2a833784816e9 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/crash-ba4c2f61ced86bf70af5f7c7d2ed3f7042efe9ce b/tests/fuzz/corpora/fuzz-initial_channel/crash-ba4c2f61ced86bf70af5f7c7d2ed3f7042efe9ce new file mode 100644 index 000000000000..c9433dab3b82 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/crash-ba4c2f61ced86bf70af5f7c7d2ed3f7042efe9ce differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/d04f922c447b72fbe4307ffe14a4be6ef1304c85 b/tests/fuzz/corpora/fuzz-initial_channel/d04f922c447b72fbe4307ffe14a4be6ef1304c85 new file mode 100644 index 000000000000..789a3f8d7263 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/d04f922c447b72fbe4307ffe14a4be6ef1304c85 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/d2033454688fc66c81aa98c240c3c0e24318e774 b/tests/fuzz/corpora/fuzz-initial_channel/d2033454688fc66c81aa98c240c3c0e24318e774 new file mode 100644 index 000000000000..c67f60a73cea Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/d2033454688fc66c81aa98c240c3c0e24318e774 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/d22cab7fed4b17da0f5c88a7ac316cff5f5f4421 b/tests/fuzz/corpora/fuzz-initial_channel/d22cab7fed4b17da0f5c88a7ac316cff5f5f4421 new file mode 100644 index 000000000000..5b85a3fea525 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/d22cab7fed4b17da0f5c88a7ac316cff5f5f4421 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/d5bed6c3aebe97c804778b7d36f8b56fc8da7671 b/tests/fuzz/corpora/fuzz-initial_channel/d5bed6c3aebe97c804778b7d36f8b56fc8da7671 new file mode 100644 index 000000000000..b16f95dd6b64 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/d5bed6c3aebe97c804778b7d36f8b56fc8da7671 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/d9d9c8177917d43aeddae71a4397f57b188c11e7 b/tests/fuzz/corpora/fuzz-initial_channel/d9d9c8177917d43aeddae71a4397f57b188c11e7 new file mode 100644 index 000000000000..1fc44e52e6da Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/d9d9c8177917d43aeddae71a4397f57b188c11e7 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/da1e6ac85bfd89b6e468c0bb0461bcda2de231d7 b/tests/fuzz/corpora/fuzz-initial_channel/da1e6ac85bfd89b6e468c0bb0461bcda2de231d7 new file mode 100644 index 000000000000..3099abb25b96 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/da1e6ac85bfd89b6e468c0bb0461bcda2de231d7 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/df441a8a0fceb70d16fdf09a93f73cdad3a8b13f b/tests/fuzz/corpora/fuzz-initial_channel/df441a8a0fceb70d16fdf09a93f73cdad3a8b13f new file mode 100644 index 000000000000..990673558c60 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/df441a8a0fceb70d16fdf09a93f73cdad3a8b13f differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/dfc518273eda53a8a705a1dd49f291e895979772 b/tests/fuzz/corpora/fuzz-initial_channel/dfc518273eda53a8a705a1dd49f291e895979772 new file mode 100644 index 000000000000..93f376c59bee Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/dfc518273eda53a8a705a1dd49f291e895979772 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/e04d09be8eda3ca37ffd317c7c33e0c9e78aa43b b/tests/fuzz/corpora/fuzz-initial_channel/e04d09be8eda3ca37ffd317c7c33e0c9e78aa43b new file mode 100644 index 000000000000..a68d5dfa6017 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/e04d09be8eda3ca37ffd317c7c33e0c9e78aa43b differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/e35da28cc5d4cc0c11c248f8deed2d18c3de84ba b/tests/fuzz/corpora/fuzz-initial_channel/e35da28cc5d4cc0c11c248f8deed2d18c3de84ba new file mode 100644 index 000000000000..eef6de4f3087 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/e35da28cc5d4cc0c11c248f8deed2d18c3de84ba differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/e5d07965d68bc2cde43def04a8dc281febbaf2f4 b/tests/fuzz/corpora/fuzz-initial_channel/e5d07965d68bc2cde43def04a8dc281febbaf2f4 new file mode 100644 index 000000000000..1e9fb9bdcf5b Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/e5d07965d68bc2cde43def04a8dc281febbaf2f4 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/e5fa70844c3441c3d4c59900cdf73d0a06524e44 b/tests/fuzz/corpora/fuzz-initial_channel/e5fa70844c3441c3d4c59900cdf73d0a06524e44 new file mode 100644 index 000000000000..d6904dac1add Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/e5fa70844c3441c3d4c59900cdf73d0a06524e44 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/e78a46d80977024f6e6646428435a911bee03f70 b/tests/fuzz/corpora/fuzz-initial_channel/e78a46d80977024f6e6646428435a911bee03f70 new file mode 100644 index 000000000000..bc48cba6da38 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/e78a46d80977024f6e6646428435a911bee03f70 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/e8eab5f3d6ee939ee4a5febe4f5f54ff0539e562 b/tests/fuzz/corpora/fuzz-initial_channel/e8eab5f3d6ee939ee4a5febe4f5f54ff0539e562 new file mode 100644 index 000000000000..698a11828d61 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/e8eab5f3d6ee939ee4a5febe4f5f54ff0539e562 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/e9c241e76dd1ef8428ad8f1fab83565060c80c78 b/tests/fuzz/corpora/fuzz-initial_channel/e9c241e76dd1ef8428ad8f1fab83565060c80c78 new file mode 100644 index 000000000000..b590002e24a5 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/e9c241e76dd1ef8428ad8f1fab83565060c80c78 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/f0c56151444a1ac22dddb19743aa13062baa76e9 b/tests/fuzz/corpora/fuzz-initial_channel/f0c56151444a1ac22dddb19743aa13062baa76e9 new file mode 100644 index 000000000000..87485ff0e0b1 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/f0c56151444a1ac22dddb19743aa13062baa76e9 differ diff --git a/tests/fuzz/corpora/fuzz-initial_channel/f3f21c1137783681bcce25dad8dafbe419729482 b/tests/fuzz/corpora/fuzz-initial_channel/f3f21c1137783681bcce25dad8dafbe419729482 new file mode 100644 index 000000000000..357fdbb48f89 Binary files /dev/null and b/tests/fuzz/corpora/fuzz-initial_channel/f3f21c1137783681bcce25dad8dafbe419729482 differ diff --git a/tests/fuzz/fuzz-initial_channel.c b/tests/fuzz/fuzz-initial_channel.c index 5549b36db98c..b7536df6344e 100644 --- a/tests/fuzz/fuzz-initial_channel.c +++ b/tests/fuzz/fuzz-initial_channel.c @@ -29,6 +29,24 @@ void init(int *argc, char ***argv) chainparams = chainparams_for_network("bitcoin"); } +#define MAX_SATS (u64)WALLY_SATOSHI_PER_BTC * WALLY_BTC_MAX + +static void test_channel_update_funding(struct channel *channel, const u8 **cursor, size_t *max) { + struct bitcoin_outpoint funding; + struct amount_sat funding_sats; + s64 splice_amnt; + + if (*max < sizeof(funding) + sizeof(funding_sats) + sizeof(splice_amnt)) + return; + + fromwire_bitcoin_outpoint(cursor, max, &funding); + funding_sats = fromwire_amount_sat(cursor, max); + funding_sats.satoshis %= MAX_SATS; + splice_amnt = fromwire_s64(cursor, max) % MAX_SATS; + + channel_update_funding(channel, &funding, funding_sats, splice_amnt); +} + void run(const uint8_t *data, size_t size) { struct channel_id cid; @@ -49,7 +67,7 @@ void run(const uint8_t *data, size_t size) minimum_depth = fromwire_u32(&data, &size); funding_sats = fromwire_amount_sat(&data, &size); local_msatoshi = fromwire_amount_msat(&data, &size); - max = AMOUNT_SAT((u32)WALLY_SATOSHI_PER_BTC * WALLY_BTC_MAX); + max = AMOUNT_SAT(MAX_SATS); if (amount_sat_greater(funding_sats, max)) funding_sats = max; feerate_per_kw = fromwire_u32(&data, &size); @@ -71,8 +89,10 @@ void run(const uint8_t *data, size_t size) /* TODO: determine if it makes sense to check at each step for libfuzzer * to deduce pertinent inputs */ - if (!data || !size) + if (!data || !size) { + clean_tmpctx(); return; + } for (enum side opener = 0; opener < NUM_SIDES; opener++) { channel = new_initial_channel(tmpctx, &cid, &funding, @@ -91,8 +111,8 @@ void run(const uint8_t *data, size_t size) channel_type, wumbo, opener); - /* TODO: make initial_channel_tx() work with ASAN.. */ - (void)channel; + if (channel) + test_channel_update_funding(channel, &data, &size); } clean_tmpctx();