├── .dockerignore ├── .flake8 ├── .github └── workflows │ ├── build.yml │ └── testing.yml ├── .gitignore ├── CHANGELOG.md ├── HACKING.md ├── LICENSE ├── Makefile ├── README.md ├── changelog.json ├── docker ├── Dockerfile.clightning ├── Dockerfile.ldk ├── docker-compose.yml ├── entrypoint.sh └── ldk-entrypoint.sh ├── lnprototest ├── __init__.py ├── backend │ ├── __init__.py │ ├── backend.py │ └── bitcoind.py ├── bitfield.py ├── clightning │ ├── __init__.py │ ├── clightning.py │ └── requirements.txt ├── commit_tx.py ├── dummyrunner.py ├── errors.py ├── event.py ├── funding.py ├── keyset.py ├── namespace.py ├── proposals.py ├── runner.py ├── signature.py ├── stash │ ├── __init__.py │ └── stash.py ├── structure.py └── utils │ ├── __init__.py │ ├── bitcoin_utils.py │ ├── ln_spec_utils.py │ └── utils.py ├── poetry.lock ├── pyproject.toml ├── tests ├── conftest.py ├── pytest.ini ├── test_bolt1-01-init.py ├── test_bolt1-02-unknown-messages.py ├── test_bolt2-01-close_channel.py ├── test_bolt2-01-open_channel.py ├── test_bolt2-02-reestablish.py ├── test_bolt2-10-add-htlc.py ├── test_bolt2-20-open_channel_accepter.py ├── test_bolt2-30-channel_type-open-accept-tlvs.py ├── test_bolt7-01-channel_announcement-success.py ├── test_bolt7-02-channel_announcement-failure.py ├── test_bolt7-10-gossip-filter.py └── test_bolt7-20-query_channel_range.py └── tools └── check_quotes.py /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/.dockerignore -------------------------------------------------------------------------------- /.flake8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/.flake8 -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.github/workflows/testing.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/.github/workflows/testing.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__/ 2 | *~ 3 | TAGS 4 | tags 5 | **/github-merge.py 6 | .venv 7 | **.egg-info 8 | .idea 9 | dist 10 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /HACKING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/HACKING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/README.md -------------------------------------------------------------------------------- /changelog.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/changelog.json -------------------------------------------------------------------------------- /docker/Dockerfile.clightning: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/docker/Dockerfile.clightning -------------------------------------------------------------------------------- /docker/Dockerfile.ldk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/docker/Dockerfile.ldk -------------------------------------------------------------------------------- /docker/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/docker/docker-compose.yml -------------------------------------------------------------------------------- /docker/entrypoint.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/docker/entrypoint.sh -------------------------------------------------------------------------------- /docker/ldk-entrypoint.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/docker/ldk-entrypoint.sh -------------------------------------------------------------------------------- /lnprototest/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/lnprototest/__init__.py -------------------------------------------------------------------------------- /lnprototest/backend/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/lnprototest/backend/__init__.py -------------------------------------------------------------------------------- /lnprototest/backend/backend.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/lnprototest/backend/backend.py -------------------------------------------------------------------------------- /lnprototest/backend/bitcoind.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/lnprototest/backend/bitcoind.py -------------------------------------------------------------------------------- /lnprototest/bitfield.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/lnprototest/bitfield.py -------------------------------------------------------------------------------- /lnprototest/clightning/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/lnprototest/clightning/__init__.py -------------------------------------------------------------------------------- /lnprototest/clightning/clightning.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/lnprototest/clightning/clightning.py -------------------------------------------------------------------------------- /lnprototest/clightning/requirements.txt: -------------------------------------------------------------------------------- 1 | pyln-client 2 | -------------------------------------------------------------------------------- /lnprototest/commit_tx.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/lnprototest/commit_tx.py -------------------------------------------------------------------------------- /lnprototest/dummyrunner.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/lnprototest/dummyrunner.py -------------------------------------------------------------------------------- /lnprototest/errors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/lnprototest/errors.py -------------------------------------------------------------------------------- /lnprototest/event.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/lnprototest/event.py -------------------------------------------------------------------------------- /lnprototest/funding.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/lnprototest/funding.py -------------------------------------------------------------------------------- /lnprototest/keyset.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/lnprototest/keyset.py -------------------------------------------------------------------------------- /lnprototest/namespace.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/lnprototest/namespace.py -------------------------------------------------------------------------------- /lnprototest/proposals.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/lnprototest/proposals.py -------------------------------------------------------------------------------- /lnprototest/runner.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/lnprototest/runner.py -------------------------------------------------------------------------------- /lnprototest/signature.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/lnprototest/signature.py -------------------------------------------------------------------------------- /lnprototest/stash/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/lnprototest/stash/__init__.py -------------------------------------------------------------------------------- /lnprototest/stash/stash.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/lnprototest/stash/stash.py -------------------------------------------------------------------------------- /lnprototest/structure.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/lnprototest/structure.py -------------------------------------------------------------------------------- /lnprototest/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/lnprototest/utils/__init__.py -------------------------------------------------------------------------------- /lnprototest/utils/bitcoin_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/lnprototest/utils/bitcoin_utils.py -------------------------------------------------------------------------------- /lnprototest/utils/ln_spec_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/lnprototest/utils/ln_spec_utils.py -------------------------------------------------------------------------------- /lnprototest/utils/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/lnprototest/utils/utils.py -------------------------------------------------------------------------------- /poetry.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/poetry.lock -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/pyproject.toml -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/pytest.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/tests/pytest.ini -------------------------------------------------------------------------------- /tests/test_bolt1-01-init.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/tests/test_bolt1-01-init.py -------------------------------------------------------------------------------- /tests/test_bolt1-02-unknown-messages.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/tests/test_bolt1-02-unknown-messages.py -------------------------------------------------------------------------------- /tests/test_bolt2-01-close_channel.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/tests/test_bolt2-01-close_channel.py -------------------------------------------------------------------------------- /tests/test_bolt2-01-open_channel.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/tests/test_bolt2-01-open_channel.py -------------------------------------------------------------------------------- /tests/test_bolt2-02-reestablish.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/tests/test_bolt2-02-reestablish.py -------------------------------------------------------------------------------- /tests/test_bolt2-10-add-htlc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/tests/test_bolt2-10-add-htlc.py -------------------------------------------------------------------------------- /tests/test_bolt2-20-open_channel_accepter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/tests/test_bolt2-20-open_channel_accepter.py -------------------------------------------------------------------------------- /tests/test_bolt2-30-channel_type-open-accept-tlvs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/tests/test_bolt2-30-channel_type-open-accept-tlvs.py -------------------------------------------------------------------------------- /tests/test_bolt7-01-channel_announcement-success.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/tests/test_bolt7-01-channel_announcement-success.py -------------------------------------------------------------------------------- /tests/test_bolt7-02-channel_announcement-failure.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/tests/test_bolt7-02-channel_announcement-failure.py -------------------------------------------------------------------------------- /tests/test_bolt7-10-gossip-filter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/tests/test_bolt7-10-gossip-filter.py -------------------------------------------------------------------------------- /tests/test_bolt7-20-query_channel_range.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/tests/test_bolt7-20-query_channel_range.py -------------------------------------------------------------------------------- /tools/check_quotes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rustyrussell/lnprototest/HEAD/tools/check_quotes.py --------------------------------------------------------------------------------