Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rebase forked master #4

Closed
wants to merge 1,530 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1530 commits
Select commit Hold shift + click to select a range
ba76854
Add Arch Linux build instructions
bubelov Jun 22, 2022
299a99e
Use unordered list
bubelov Jul 16, 2022
d4a04ba
Simplify poetry interactions
bubelov Jul 16, 2022
6a7d40f
ccan: update to get -Wshadow=local clean build.
rustyrussell Jul 25, 2022
6fe5708
Remove general shadowed variables.
rustyrussell Jul 25, 2022
44d9e8d
Remove names of parameters of callbacks which confuse gcc.
rustyrussell Jul 25, 2022
2c72229
configure: add -Wshadow=local flag.
rustyrussell Jul 25, 2022
0d5808b
pytest: fix test_channel_state_change_history
morehouse Aug 17, 2022
ea41432
build, shadows: fix broken build (no shadows)
niftynei Aug 31, 2022
c4203e7
pyln-client: allow 'msat' fields to be 'null'
rustyrussell Sep 6, 2022
dc56b2a
connectd: better diagnostics on invalid gossip_store entries.
rustyrussell Sep 5, 2022
8e57bf3
tools: add md2man.sh tool, using lowdown.
rustyrussell Aug 31, 2022
2e48722
Makefile: replace mrkd with lowdown(1).
rustyrussell Aug 31, 2022
50056ce
doc: remove mrkd requirement, add lowdown requirement.
rustyrussell Sep 5, 2022
3c3f473
doc: format markdown correctly.
rustyrussell Sep 5, 2022
8f11643
doc: generate correct markdown from schemas.
rustyrussell Sep 5, 2022
bcabb38
Makefile: Revert ba7d4a8f6bab5a3d5e5832d1f9e36749e695320a (make-schem…
rustyrussell Sep 5, 2022
04b59d9
doc: always escape underscores in property names
rustyrussell Sep 5, 2022
5112329
external/lowdown: local import of lowdown source.
rustyrussell Sep 6, 2022
50d1043
external: build lowdown if not already found.
rustyrussell Sep 6, 2022
cde93ab
doc: document that we can build lowdown, remove from Alpine.
rustyrussell Sep 6, 2022
9de458b
docs: Clear up Ubutu documentation
ddustin Aug 30, 2022
34a0d70
build: use ubuntu 22.04 LTS
niftynei Sep 9, 2022
7df530d
builds: cleanup duplicate and unused code, fix spelling
niftynei Sep 9, 2022
ec95c7c
peer_control: fix getinfo showing unannounced addr
m-schmoock Sep 11, 2022
c685874
cleanup: fix mixed indentation of json_getinfo
m-schmoock Sep 11, 2022
e0259b2
test: fix tlvs test in funding_locked tlv.
rustyrussell Sep 10, 2022
a56b17c
wire/test: neaten and complete tlv checks.
rustyrussell Sep 10, 2022
6c33f7d
common: remove unused parameter "allow_deprecated" from parse_wireadd…
rustyrussell Sep 10, 2022
bfe342c
lightningd: remove double-wrapped rpc_command hook.
rustyrussell Sep 10, 2022
43b037a
lightningd: always require "jsonrpc": "2.0" in request.
rustyrussell Sep 10, 2022
a45ec78
lightningd: don't allow old listforwards arg order.
rustyrussell Sep 10, 2022
15751ea
lightningd: do inline parsing for listforwards status parameter
rustyrussell Sep 10, 2022
733ce81
plugins: require usage for plugin APIs.
rustyrussell Sep 10, 2022
29264e8
lightningd: remove `use_proxy_always` parameter to plugin init.
rustyrussell Sep 10, 2022
318650a
listchannels: don't show "htlc_maximum_msat" if channel_update didn't…
rustyrussell Sep 10, 2022
136d0c8
offers: update to remove "vendor" and "timestamp" fields.
rustyrussell Sep 10, 2022
6cf3d47
offers: remove backwards-compatiblity invoice_request signatures.
rustyrussell Sep 10, 2022
1a0f7dd
hsmtool: remove hsm_secret passwords on cmdline support in `dumponcha…
rustyrussell Sep 10, 2022
fbcdf2c
devtools/bolt-catchup.sh: a tool to update the specs, one commit at a…
rustyrussell Sep 10, 2022
341bbdf
doc: increase BOLT level to 03468e17563650fb9bfe58b2da4d1e5d28e92009
rustyrussell Sep 10, 2022
1b30ea4
doc: update BOLTs to bc86304b4b0af5fd5ce9d24f74e2ebbceb7e2730
rustyrussell Sep 10, 2022
5b7f14a
channeld/dualopend/lightningd: use channel_ready everywhere.
rustyrussell Sep 10, 2022
b208c0d
doc: upgrade to BOLTs 2ecc091f3484f7a3450e7f5543ae851edd1e0761
rustyrussell Sep 10, 2022
3cc6d0e
doc: upgrade to BOLTs 341ec844f13c0c0abc4fe849059fbb98173f9766
rustyrussell Sep 10, 2022
4ca1203
doc: include recent BOLT recommendation on grace period.
rustyrussell Sep 10, 2022
2ac775f
lightningd: fix crash with -O3 -flto.
rustyrussell Sep 8, 2022
2c3d4e4
tools/test: fix very confused code.
rustyrussell Sep 8, 2022
bef2a47
db: fix renaming/deleting cols of DBs when there are UNIQUE(x, b, c) …
rustyrussell Sep 8, 2022
fb433a7
doc: escape output types (esp `short_channel_id`).
rustyrussell Sep 8, 2022
b3b5b74
libplugin: allow NULL calllbacks for jsonrpc_set_datastore.
rustyrussell Sep 8, 2022
6438ee4
doc: disallow additional properties in sendcustommsg.
rustyrussell Sep 8, 2022
d7aa274
db: fix migrations which write to db.
rustyrussell Sep 9, 2022
e853cdc
db: fix sqlite3 code which manipulates columns.
rustyrussell Sep 11, 2022
375215a
lightningd: more graceful shutdown.
rustyrussell Sep 11, 2022
e0d6f3c
connectd: DNS Bolt7 #911 no longer EXPERIMENTAL
m-schmoock Aug 2, 2022
8452d90
bkpr: failing test for bookkeeper crash
niftynei Sep 12, 2022
1980ba4
notif: dont send balance snapshot for not yet opened channel
niftynei Sep 13, 2022
c143914
bkpr: migration to delete any duplicate lease_fee entries
niftynei Sep 13, 2022
efad09f
bkpr: confirm that replaying the open+lock-in txs at start is ok
niftynei Sep 13, 2022
3ad8347
bkpr-test: maybe fix race in test_bookkeeping_closing_trimmed_htlcs
niftynei Sep 13, 2022
daeec66
db: Add completed_at field to payments
cdecker Jun 9, 2022
cb3ee0a
wallet: Load and value `completed_at` timestamp from DB
cdecker Jun 9, 2022
a80211e
doc: Update generated artifacts to match master
cdecker Jul 12, 2022
246e1fb
wallet: Set the `completed_at` timestamp when updating the status
cdecker Jul 4, 2022
f64d755
pay: Aggregate `completed_at` in `listpays` and `pay`
cdecker Jul 4, 2022
4167fe8
gossip_store: fix offset error
endothermicdev Sep 13, 2022
746b5f3
Makefile: fix msggen regeneration when schemas change.
rustyrussell Sep 12, 2022
897245e
pytest: test for escapes in commando values.
rustyrussell Sep 12, 2022
1f97307
CCAN: update to get latest rune decode fix.
rustyrussell Sep 14, 2022
d57d87e
commando: unmangle JSON.
rustyrussell Sep 14, 2022
a6d4756
commando: make rune alternatives a JSON array.
rustyrussell Sep 14, 2022
023a688
lightningd: fix spurious leak report.
rustyrussell Sep 14, 2022
1121150
gossmap: don't crash if we see a duplicate channel_announce.
rustyrussell Sep 14, 2022
9b33a92
Add plugin notification topic "block_processed".
fiatjaf Sep 9, 2022
1ef8fb7
rename `block_processed` to `block_added`
fiatjaf Sep 12, 2022
0a85677
plugins/bcli: load RPC password from stdin instead of an argument
seberm Aug 9, 2022
4ca6b36
lightningd: refuse to upgrade db on non-released versions by default.
rustyrussell Aug 24, 2022
c8ab819
peer_control: getinfo show correct port on discovered IPs
m-schmoock Sep 12, 2022
532544c
gossipd: rename remote_addr to discovered_ip within gossipd
m-schmoock Sep 13, 2022
5d25934
plugins/Makefile: regenerate plugins list when config changes.
rustyrussell Sep 12, 2022
88354b7
common: helper to get id field as a string.
rustyrussell Sep 12, 2022
6c07f13
lightning-cli: don't consume 100% CPU if lightningd crashes.
rustyrussell Sep 12, 2022
2d7cf15
lightningd: log JSON request ids.
rustyrussell Sep 12, 2022
8711241
lightning-cli: use cli:<method>-<pid> for all requests.
rustyrussell Sep 12, 2022
db89a34
libplugin: allow lightningd to give us non-numeric ids.
rustyrussell Sep 12, 2022
bd18fbc
contrib/pyln-client: allow lightningd to give us non-numeric ids.
rustyrussell Sep 12, 2022
ce0b765
cln-rpc: allow id to be any token.
rustyrussell Sep 12, 2022
99f2019
lightningd: add jsonrpc_request_start_raw instead of NULL method.
rustyrussell Sep 12, 2022
ed3f700
lightningd: use string as json req ids when we create them.
rustyrussell Sep 12, 2022
8fcf880
lightningd: explicitly remember if JSON id was a string.
rustyrussell Sep 12, 2022
a9557d5
lightningd: derive JSONRPC ids from incoming id (append /cln:<method>…
rustyrussell Sep 12, 2022
ea7903f
lightningd: trace JSON id prefixes through sendrawtx.
rustyrussell Sep 12, 2022
eceb9f4
lightningd: wire plugin command JSON id through to plugin commands.
rustyrussell Sep 12, 2022
e8ef42b
plugin: wire JSON id for commands which caused hooks to fire.
rustyrussell Sep 12, 2022
d360075
libplugin: use string ids correctly.
rustyrussell Sep 12, 2022
f1f2c13
contrib/pyln-client: construct JSON ID correctly.
rustyrussell Sep 12, 2022
fdc59dc
contrib/pyln-testing: pass through id correctly.
rustyrussell Sep 12, 2022
bf54d6d
libplugin: use proper JSON id for rpc_scan().
rustyrussell Sep 12, 2022
42c9aa1
libplugin: forget pending requests if associated command freed.
rustyrussell Sep 12, 2022
caecd1e
lightningd: don't log JSON ids as debug, use log io.
rustyrussell Sep 13, 2022
bbe1711
lightningd: use jcon logging for commands where possible.
rustyrussell Sep 13, 2022
74cd0a7
gci: Use stable rust instead of nightly
cdecker Sep 16, 2022
37c07dd
pyln: Add grpcio and protobuf dependencies to pyln-testing
cdecker Sep 16, 2022
37fc0d8
docker: use pip install + poetry export instead of poetry update
niftynei Sep 13, 2022
05e2317
doc/install: get rid of out of date mrkd / mistune install instructions
niftynei Sep 13, 2022
cc206e1
connectd+: Flake/race fix for new channels
ddustin Sep 16, 2022
3aeac0a
docs: Correct a command typo for Ubuntuu
ddustin Aug 30, 2022
9bba7ba
Update doc/INSTALL.md
cdecker Sep 15, 2022
a99a72b
contrib/startup_regtest.sh: misc fixes and add destroy_ln, print usage.
rustyrussell Sep 14, 2022
d2edeff
contrib/giantnode.py: populate three regtest nodes with many invoices…
rustyrussell Sep 14, 2022
7fa1364
build: allow DEVELOPER builds with -Og and gcc 9.4.0
rustyrussell Sep 18, 2022
2da5244
jsonrpc: make error codes an enum.
rustyrussell Sep 18, 2022
6a48ed9
gossmap: fail to get capacity of locally-added chans (don't crash!).
rustyrussell Sep 18, 2022
016e332
gossmap: add functions to map index back to node/chan.
rustyrussell Sep 18, 2022
4cdb416
gossmap: make local_addchan create private channel_announcement in co…
rustyrussell Sep 18, 2022
fd71dfc
gossmap: optimize asserts().
rustyrussell Sep 18, 2022
3380f55
memleak: simplify API.
rustyrussell Sep 16, 2022
701dd3d
memleak: remove exclusions from memleak_start()
rustyrussell Sep 16, 2022
5b58eda
libplugin: mark the cmd notleak() whenever command_still_pending() ca…
rustyrussell Sep 16, 2022
248d60d
Don't report redundant feerates to subdaemons
instagibbs Sep 9, 2022
ab95d27
pyln: Reduce dependency strictness for pyln-testing
cdecker Sep 19, 2022
fcd2320
gha: Make the setup and build scripts exit if anything fails
cdecker Sep 19, 2022
7159a25
openingd: Add method to set absolute reserve
cdecker Jun 8, 2022
5c1de80
openingd: Add `reserve` to `fundchannel` and `multifundchannel`
cdecker Jun 8, 2022
9a97f8c
plugin: Add `reserve` to `openchannel` hook result
cdecker Jun 8, 2022
8d64233
openingd: Wire `reserve` value through to `openingd`
cdecker Jun 8, 2022
5a54f45
openingd: Pass `reserve` down to openingd when funding
cdecker Jun 9, 2022
2def843
pay: Allow using a channel on equality of estimated capacity
cdecker Jul 6, 2022
c3e9cb7
openingd: Add zeroconf-no-really-zero mode
cdecker Jun 9, 2022
c5b2aee
pytest: Add a zeroreserve test
cdecker Jun 9, 2022
6746721
opening: Add `dev-allowdustreserve` option to opt into dust reserves
cdecker Jun 22, 2022
1bd3d8d
openingd: Remove dust check for reserve imposed on us
cdecker Jun 24, 2022
54b4baa
opening: Add `dev-allowdustreserve` option to opt into dust reserves
cdecker Jun 24, 2022
bdda62e
pytest: Add test for mixed zeroreserve funding
cdecker Jun 24, 2022
759fcb6
pay: If the channel_hint matches our allocation allow it
cdecker Jul 6, 2022
493a0df
pytest: Exercise all dust zeroreserve case
cdecker Aug 16, 2022
75fe1c1
common: Add multiplication primitives for amount_msat and amount_sat
cdecker Aug 17, 2022
774d16a
openingd: Fail if dust and max_htlcs result in 0output commitment tx
cdecker Aug 16, 2022
5a1c244
pyln-client: use f strings to concatenate JSON ids, handle older inte…
rustyrussell Sep 19, 2022
0db01c8
pytest: fix flake in test_sendcustommsg
rustyrussell Sep 21, 2022
4355612
gh: Mark some derived files as such
cdecker Sep 19, 2022
41502be
Fix a small typo
antongalitch Aug 10, 2022
ce0f544
keysend: try to find description in TLV.
rustyrussell Sep 21, 2022
df4b477
keysend: allow extratlvs parameter, even in non-experimental mode.
rustyrussell Sep 21, 2022
0868fa9
lightningd: allow extra tlv types in non-experimental mode.
rustyrussell Sep 21, 2022
775d6ba
doc: Fix wrong_funding description in manpage and type in schema
kristapsk Jul 20, 2022
b9a7f36
msggen: Add conversion from cln-rpc to cln-grpc for Option<Outpoint>
cdecker Jul 27, 2022
910116c
build-release: configure before submodcheck
niftynei Sep 22, 2022
3c80b22
pyln: use poetry version, add target to check version, use poetry pub…
rustyrussell Aug 24, 2022
0514269
Makefile: add targets to upgrade pyln versions, push releases.
rustyrussell Aug 24, 2022
7c2c100
pyln: results of make update-pyln-versions NEW_VERSION=0.12.0
rustyrussell Aug 24, 2022
aace5b5
pyln: Adjust the auto-publish task to trigger on tags
cdecker Aug 25, 2022
8ae0af7
pyln: Bump pyln-client dependency in pyln-testing
cdecker Aug 25, 2022
4693803
ci: Use the new make upgrade-version target to manage versions
cdecker Aug 25, 2022
41a5292
libplugin: handle JSON reply after command freed.
rustyrussell Sep 19, 2022
bd76a19
autoclean: new interface
rustyrussell Sep 19, 2022
17858c9
lightningd: deprecated "delexpiredinvoice", put functionality in auto…
rustyrussell Sep 19, 2022
7da5189
autoclean: save stats on how much we cleaned.
rustyrussell Sep 19, 2022
660c9af
autoclean: allow cleaning of paid invoices too.
rustyrussell Sep 19, 2022
4cab396
autoclean: handle cleaning of old payments (not just invoices).
rustyrussell Sep 19, 2022
2a5660b
lightningd: index to speed up sendpay / listsendpays
rustyrussell Sep 19, 2022
2022e4a
wallet: simplify payments lookup so sqlite3 uses index.
rustyrussell Sep 19, 2022
6345722
wallet: replace forwarded_payments table with forwards table.
rustyrussell Sep 19, 2022
33a6b18
db/bindings: rename db_bind_short_channel_id to db_bind_short_channel…
rustyrussell Sep 19, 2022
e286c38
wallet: use db_col_scid / db_bind_scid where possible.
rustyrussell Sep 19, 2022
2752e04
db: add `scid` field to channels table.
rustyrussell Sep 19, 2022
d7c1325
wallet: use scid not string for failchannel (now failscid) in payment…
rustyrussell Sep 19, 2022
311807f
lightningd: add in_htlc_id / out_htlc_id to listforwards.
rustyrussell Sep 19, 2022
7420a70
lightningd: add `listhtlcs` to list all the HTLCs we know about.
rustyrussell Sep 19, 2022
3079afb
lightningd: add `delforward` command.
rustyrussell Sep 19, 2022
a15f1be
autoclean: clean up listforwards as well.
rustyrussell Sep 19, 2022
399288d
autoclean: use config variables, not commands.
rustyrussell Sep 19, 2022
612f3de
doc: manpages and schemas for autoclean-status.
rustyrussell Sep 19, 2022
13e1087
autoclean: add autoclean-once command.
rustyrussell Sep 19, 2022
540a6e4
autoclean: remove per-delete debugging messages.
rustyrussell Sep 19, 2022
4d8c321
libplugin: optimize parsing lightningd rpc responses.
rustyrussell Sep 19, 2022
8b7a826
libplugin: avoid memmove if we have many outputs to lightningd.
rustyrussell Sep 19, 2022
555b8a2
lightningd: don't always wrap each command in a db transaction.
rustyrussell Sep 19, 2022
fa7d732
lightningd: allow a connection to specify db batching.
rustyrussell Sep 19, 2022
0509531
lightningd: listsendpays always has groupid.
rustyrussell Sep 19, 2022
f52ff07
lightningd: allow delpay to delete a specific payment.
rustyrussell Sep 19, 2022
939a7b2
db/postgres: avoid memleak.
rustyrussell Sep 19, 2022
e021884
db: set now-unused channels.short_channel_id text column to NULL afte…
rustyrussell Sep 19, 2022
651753b
pytest: slow down test_autoclean.
rustyrussell Sep 22, 2022
c04de57
pyln-spec: update Makefile to use poetry for release, generate versions
rustyrussell Sep 22, 2022
264b4e0
pyln-spec: update to latest spec.
rustyrussell Sep 22, 2022
9b5bc81
onchaind/onchaind_wire.c duplicated in ONCHAIND_SRC
instagibbs Sep 22, 2022
57002f3
pytest: fix flake in test_onchain_different_fees
rustyrussell Sep 23, 2022
9be6ed6
pytest: fix flake in test_pay_disconnect
rustyrussell Sep 23, 2022
45cdfd2
BOLT: update to fix gossip pruning quote.
rustyrussell Sep 14, 2022
fe556d1
gossipd: don't try to upgrade ancient gossip_store.
rustyrussell Sep 14, 2022
3817a69
gossipd: actually validate gossip_store checksums at startup.
rustyrussell Sep 14, 2022
6338758
gossmap: make API more robust against future changes.
rustyrussell Sep 14, 2022
daa5269
gossipd: bump gossip_store to indicate all channel_update have htlc_max.
rustyrussell Sep 14, 2022
253b255
BOLT: update to version which requires option_channel_htlc_max.
rustyrussell Sep 14, 2022
bb49e1b
common: assume htlc_maximum_msat, don't check bit any more.
rustyrussell Sep 14, 2022
bfc21cb
gossipd: set no_forward bit on channel_update for private channels.
rustyrussell Sep 14, 2022
0d94d2d
gossipd: batch outpoints spent, add block height.
rustyrussell Sep 14, 2022
f0fa42b
lnprototest: update gossip test including 12 blocks delay
vincenzopalazzo Sep 20, 2022
a1f62ba
gossipd: don't close non-local channels immediately, add 12 block delay.
rustyrussell Sep 14, 2022
f53155d
BOLT: update to clarify HTLC tx amount calculation.
rustyrussell Sep 23, 2022
3f5ff0c
doc/GOSSIP_STORE.md: document the gossip_store file format.
rustyrussell Sep 23, 2022
8898511
cln-plugin: Defer binding the plugin state until after configuring
cdecker Jul 20, 2022
064a5a6
cln-plugin: Add log filtering support
cdecker Jul 29, 2022
e1fc88f
cln-plugin: Prep the logging payload in a let
cdecker Jul 27, 2022
b13ab8d
msggen: Use owned versions to convert from cln-rpc to cln-grpc
cdecker Jul 27, 2022
437ae11
pytest: Configure the plugin logging to debug
cdecker Sep 22, 2022
b698a5a
channeld: send error, not warning, if peer has old commitment number.
rustyrussell Apr 1, 2022
6e86fa9
lightningd: figure out optimal channel *before* forward_htlc hook.
rustyrussell Sep 25, 2022
a7ce03b
The project is called Core Lightning
melroy89 Sep 25, 2022
87bab2b
Add ConfigurationDirectory
melroy89 Sep 25, 2022
7046252
Impl `std::error::Error` for `RpcError` to make it anyhow compatible
elsirion May 13, 2022
1091774
Implement a typed version of `call` to avoid useless matching
elsirion May 13, 2022
e272c93
Use `bitcoin_hashes` for `Sha256`
elsirion May 13, 2022
b4b0b47
Use `secp256k1` for public key type
elsirion May 13, 2022
09dfe39
Make eligible types `Copy`
elsirion May 13, 2022
6abcb18
Add basic arithmetic to `Amount` type
elsirion May 13, 2022
657b315
pyln: Bump versions to v0.12.1
cdecker Sep 23, 2022
9023bd9
pytest: add test for migrations upgrade which breaks 'fees_collected_…
rustyrussell Sep 26, 2022
cafa1a8
db: correctly migrate forwards for closed incoming channels.
rustyrussell Sep 26, 2022
6eac8df
delforward: tally up deleted forwards so that getinfo's `fees_collect…
rustyrussell Sep 26, 2022
68f15f1
delforward: allow deletion of "unknown in_htlc_id" and fix autoclean …
rustyrussell Sep 26, 2022
695f001
pytest: fix flake in test_zeroconf_forward
rustyrussell Sep 24, 2022
d4ef20d
pytest: fix flake in test_gossip_persistence.
rustyrussell Sep 27, 2022
836a2aa
use msat_or_all for fundpsbt request amount
joemphilips Aug 26, 2022
1de4e46
tests: add onion-test-vector from "BOLT 4: Remove legacy format, make…
rustyrussell Sep 28, 2022
c8ad9e1
common/onion: remove all trace of legacy parsing.
rustyrussell Sep 28, 2022
8771c86
common/onion: expunge all trace of different onion styles.
rustyrussell Sep 28, 2022
f00cc23
sphinx: rename confusing functions, ensure valid payloads.
rustyrussell Sep 28, 2022
6324980
channeld: do not enforce max_accepted_htlcs on LOCAL in channel reinit
whitslack Sep 27, 2022
51e2433
Setchannel request is provided
litch Sep 15, 2022
93b3157
schema: Add `enforcedelay` to `setchannel`
cdecker Sep 21, 2022
6adb1e0
pytest: Bypass schema verification for some RPC calls
cdecker Sep 21, 2022
49fe1c8
lightningd: have `makesecret` take `hex` or `string` (just like `data…
rustyrussell Sep 29, 2022
342e330
doc: update references to old BOLTs repo.
rustyrussell Sep 29, 2022
41ef853
onionmessages: remove obsolete onion message parsing.
rustyrussell Sep 29, 2022
2fbe0f5
plugins/fetchinvoice: remove obsolete string-based API.
rustyrussell Sep 29, 2022
125b17b
devtools: enhance bolt12-cli to convert to/from hex
rustyrussell Sep 29, 2022
0195b41
pytest: test that we don't change our payer_key calculation.
rustyrussell Sep 29, 2022
c9d42d8
bitcoin: add routine to check a Schnorr sig given a 33-byte pubkey.
rustyrussell Sep 29, 2022
2749b1f
common/onion: remove old blinded payment handling.
rustyrussell Sep 29, 2022
22c8cfc
channeld: remove onion objects.
rustyrussell Sep 29, 2022
52be595
msggen: generate deprecated fields in rust.py
joemphilips Aug 18, 2022
6aca9f6
devtools: Make fund_nodes compatible w/zsh
ddustin Sep 19, 2022
335f52d
cln-rpc: implement from Secret to slice conversion
okjodom Sep 29, 2022
e7e7a71
tests/test_misc.py: Check if funds are getting recovered on reconnect…
adi2011 Jul 19, 2022
e855ac2
keysend: just strip even unknown fields.
rustyrussell Oct 3, 2022
6495c14
Adapt Dockerfile for BTCPay deployment
NicolasDorier Mar 7, 2018
87f326b
Fix dockerfile build
NicolasDorier Nov 25, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
144 changes: 144 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
version: 2
jobs:
# publish jobs require $DOCKERHUB_REPO, $DOCKERHUB_USER, $DOCKERHUB_PASS defined
amd64:
machine:
enabled: true
steps:
- checkout
- run:
command: |
LATEST_TAG=${CIRCLE_TAG:8} #trim "basedon-" from tag
#
sudo docker build --pull -t $DOCKERHUB_REPO:$LATEST_TAG-amd64 -f Dockerfile .
sudo docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-amd64
arm32v7:
machine:
enabled: true
steps:
- checkout
- run:
command: |
LATEST_TAG=${CIRCLE_TAG:8} #trim "basedon-" from tag
# Make sure the builder is copy the arm emulator
sudo docker run --rm --privileged multiarch/qemu-user-static:register --reset
sed -i -e 's/#EnableQEMU //g' "contrib/linuxarm32v7.Dockerfile"
#
sudo docker build --pull -t $DOCKERHUB_REPO:$LATEST_TAG-arm32v7 -f contrib/linuxarm32v7.Dockerfile .
sudo docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-arm32v7
arm64v8:
machine:
enabled: true
steps:
- checkout
- run:
command: |
LATEST_TAG=${CIRCLE_TAG:8} #trim "basedon-" from tag
# Make sure the builder is copy the arm emulator
sudo docker run --rm --privileged multiarch/qemu-user-static:register --reset
sed -i -e 's/#EnableQEMU //g' "contrib/linuxarm64v8.Dockerfile"
#
sudo docker build --pull -t $DOCKERHUB_REPO:$LATEST_TAG-arm64v8 -f contrib/linuxarm64v8.Dockerfile .
sudo docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-arm64v8
publish_docker_dev:
machine:
enabled: true
steps:
- checkout
- run:
command: |
LATEST_TAG=${CIRCLE_TAG:8} #trim "basedon-" from tag
#
sudo docker build --build-arg "DEVELOPER=1" --build-arg "TRACE_TOOLS=false" -t "$DOCKERHUB_REPO:$LATEST_TAG-dev" .
sudo docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-dev
publish_docker_bench:
machine:
enabled: true
steps:
- checkout
- run:
command: |
LATEST_TAG=${CIRCLE_TAG:8} #trim "basedon-" from tag
#
sudo docker build --build-arg "DEVELOPER=1" --build-arg "TRACE_TOOLS=true" -t "$DOCKERHUB_REPO:$LATEST_TAG-bench" .
sudo docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-bench
multiarch:
machine:
enabled: true
image: circleci/classic:201808-01
steps:
- run:
command: |
# Turn on Experimental features
sudo mkdir $HOME/.docker
sudo sh -c 'echo "{ \"experimental\": \"enabled\" }" >> $HOME/.docker/config.json'
#
sudo docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
#
LATEST_TAG=${CIRCLE_TAG:8} #trim "basedon-" from tag
sudo docker manifest create --amend $DOCKERHUB_REPO:$LATEST_TAG $DOCKERHUB_REPO:$LATEST_TAG-amd64 $DOCKERHUB_REPO:$LATEST_TAG-arm32v7 $DOCKERHUB_REPO:$LATEST_TAG-arm64v8
sudo docker manifest annotate $DOCKERHUB_REPO:$LATEST_TAG $DOCKERHUB_REPO:$LATEST_TAG-amd64 --os linux --arch amd64
sudo docker manifest annotate $DOCKERHUB_REPO:$LATEST_TAG $DOCKERHUB_REPO:$LATEST_TAG-arm32v7 --os linux --arch arm --variant v7
sudo docker manifest annotate $DOCKERHUB_REPO:$LATEST_TAG $DOCKERHUB_REPO:$LATEST_TAG-arm64v8 --os linux --arch arm64 --variant v8
sudo docker manifest push $DOCKERHUB_REPO:$LATEST_TAG -p

workflows:
version: 2
publish:
jobs:
- amd64:
filters:
# ignore any commit on any branch by default
branches:
ignore: /.*/
# only act on version tags
tags:
only: /basedon-.+/
- arm32v7:
filters:
# ignore any commit on any branch by default
branches:
ignore: /.*/
# only act on version tags
tags:
only: /basedon-.+/
- arm64v8:
filters:
# ignore any commit on any branch by default
branches:
ignore: /.*/
# only act on version tags
tags:
only: /basedon-.+/
- publish_docker_dev:
filters:
# ignore any commit on any branch by default
branches:
ignore: /.*/
# only act on version tags
tags:
only: /basedon-.+/
- publish_docker_bench:
filters:
# ignore any commit on any branch by default
branches:
ignore: /.*/
# only act on version tags
tags:
only: /basedon-.+/
- multiarch:
requires:
- amd64
- arm32v7
- arm64v8
filters:
branches:
ignore: /.*/
tags:
only: /basedon-.+/

3 changes: 3 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Dockerfile
linuxarm32v7.Dockerfile
.circleci/config.yml
3 changes: 0 additions & 3 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,3 @@ indent_size = 8
indent_style = space
indent_size = 4

[.travis.yml]
indent_style = space
indent_size = 2
10 changes: 8 additions & 2 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,14 @@ configure text eol=lf
# The following files are generated and should not be shown in the
# diffs by default on Github.
doc/lightning*.7 linguist-generated=true
wallet/db_*_sqlgen.c linguist-generated=true
wallet/statements_gettextgen.po linguist-generated=true
db_*_sqlgen.c linguist-generated=true
statements_gettextgen.po linguist-generated=true
*_wiregen.? linguist-generated=true
*_printgen.? linguist-generated=true

# The following are marked as binary and generated since they can be
# easily overwritten and don't need deep review.
cln-grpc/proto/node.proto -text -diff linguist-generated=true
cln-grpc/src/convert.rs -text -diff linguist-generated=true
cln-rpc/src/model.rs -text -diff linguist-generated=true
contrib/pyln-testing/pyln/testing/node_pb2.py -text -diff linguist-generated=true
21 changes: 12 additions & 9 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,20 @@
# also can optionally require approval from a code owner before the
# author can merge a pull request in the repository.

wallet/ @cdecker
*.py @cdecker
cln-grpc/ @cdecker
cln-rpc/ @cdecker
plugins/src/ @cdecker
plugins/grpc-plugin/ @cdecker
contrib/reprobuild/ @cdecker
contrib/msggen/ @cdecker
contrib/pyln-client/ @cdecker
contrib/pyln-testing/ @cdecker
# Needed to ensure hsmd wire compatibility between releases
hsmd/hsmd_wire.csv @cdecker

wallet/invoices.* @ZmnSCPxj
wallet/invoices.* @ZmnSCPxj
plugins/multifundchannel.c @ZmnSCPxj
doc/BACKUP.md @ZmnSCPxj @cdecker

common/param.* @wythe
common/json.* @wythe
common/json_tok.* @wythe
common/wallet_tx.* @wythe
doc/BACKUP.md @ZmnSCPxj

# See https://help.github.com/articles/about-codeowners/ for more
# information
44 changes: 14 additions & 30 deletions .github/scripts/build.sh
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#!/bin/bash

set -e
echo "Running in $(pwd)"
export ARCH=${ARCH:-64}
export BOLTDIR=lightning-rfc
export BOLTDIR=bolts
export CC=${COMPILER:-gcc}
export COMPAT=${COMPAT:-1}
export TEST_CHECK_DBSTMTS=${TEST_CHECK_DBSTMTS:-0}
Expand All @@ -21,38 +21,22 @@ export VALGRIND=${VALGRIND:-0}
export FUZZING=${FUZZING:-0}
export LIGHTNINGD_POSTGRES_NO_VACUUM=1

pip3 install --user -U \
-r requirements.lock

timeout 60 pip3 install --user \
--use-feature=in-tree-build \
./contrib/pyln-client \
./contrib/pyln-proto \
./contrib/pyln-testing
# Fail if any commands fail.
set -e

# Install utilities that aren't dependencies, but make
# running tests easier/feasible on CI (and pytest which
# keeps breaking the rerunfailures plugin).
pip3 install --user \
blinker \
flake8 \
flaky \
mako \
pytest-sentry \
pytest-test-groups==1.0.3 \
pytest-custom-exit-code==0.3.0 \
pytest-timeout \
pytest-json-report
pip3 install --user poetry
poetry config virtualenvs.create false --local
poetry install

git clone https://github.com/lightningnetwork/lightning-rfc.git ../lightning-rfc
git clone https://github.com/lightning/bolts.git ../${BOLTDIR}
git submodule update --init --recursive

./configure CC="$CC"
cat config.vars

cat << EOF > pytest.ini
[pytest]
addopts=-p no:logging --color=yes --timeout=1800 --timeout-method=thread --test-group-random-seed=42 --force-flaky --no-success-flaky-report --max-runs=3 --junitxml=report.xml --json-report --json-report-file=report.json --json-report-indent=2
addopts=-p no:logging --color=yes --timeout=1800 --timeout-method=thread --test-group-random-seed=42
markers =
slow_test: marks tests as slow (deselect with '-m "not slow_test"')
EOF
Expand All @@ -70,14 +54,14 @@ then
export STRIP="$TARGET_HOST"-strip
export CONFIGURATION_WRAPPER=qemu-"${TARGET_HOST%%-*}"-static

wget -q https://zlib.net/zlib-1.2.11.tar.gz
tar xf zlib-1.2.11.tar.gz
cd zlib-1.2.11 || exit 1
wget -q https://zlib.net/zlib-1.2.12.tar.gz
tar xf zlib-1.2.12.tar.gz
cd zlib-1.2.12 || exit 1
./configure --prefix="$QEMU_LD_PREFIX"
make
sudo make install
cd .. || exit 1
rm zlib-1.2.11.tar.gz && rm -rf zlib-1.2.11
rm zlib-1.2.12.tar.gz && rm -rf zlib-1.2.12

wget -q https://www.sqlite.org/2018/sqlite-src-3260000.zip
unzip -q sqlite-src-3260000.zip
Expand Down Expand Up @@ -108,7 +92,7 @@ then

./configure CC="$TARGET_HOST-gcc" --enable-static

make -j32 CC="$TARGET_HOST-gcc" > /dev/null
make -s -j32 CC="$TARGET_HOST-gcc"
else
eatmydata make -j32
# shellcheck disable=SC2086
Expand Down
9 changes: 8 additions & 1 deletion .github/scripts/setup.sh
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
#!/bin/bash

set -e
export DEBIAN_FRONTEND=noninteractive
export BITCOIN_VERSION=0.20.1
export ELEMENTS_VERSION=0.18.1.8
export RUST_VERSION=stable

sudo useradd -ms /bin/bash tester
sudo apt-get update -qq

Expand Down Expand Up @@ -66,3 +68,8 @@ sudo chmod 0440 /etc/sudoers.d/tester
elements-$ELEMENTS_VERSION-x86_64-linux-gnu.tar.bz2 \
elements-$ELEMENTS_VERSION
)

if [ "$RUST" == "1" ]; then
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- \
-y --default-toolchain ${RUST_VERSION}
fi
16 changes: 11 additions & 5 deletions .github/workflows/bsd.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
name: FreeBSD Test

on: [push, pull_request]
on:
push:
branches:
- "master"
pull_request:

jobs:
testfreebsd:
runs-on: macos-latest
runs-on: macos-10.15
name: Build and test on FreeBSD
env:
DEVELOPER: 1
Expand Down Expand Up @@ -35,6 +39,7 @@ jobs:
bash \
gettext \
sqlite3 \
lowdown \
curl

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain nightly-2021-08-3z1
Expand All @@ -59,21 +64,22 @@ jobs:
blinker \
flake8 \
mako \
mrkd \
pytest-sentry \
pytest-test-groups==1.0.3 \
pytest-custom-exit-code==0.3.0 \
pytest-json-report

git clone https://github.com/lightningnetwork/lightning-rfc.git ../lightning-rfc
git clone https://github.com/lightning/bolts.git ../bolts
# fatal: unsafe repository ('/Users/runner/work/lightning/lightning' is owned by someone else)
git config --global --add safe.directory `pwd`
git submodule update --init --recursive

./configure CC="$CC"
cat config.vars

cat << EOF > pytest.ini
[pytest]
addopts=-p no:logging --color=yes --timeout=1800 --timeout-method=thread --test-group-random-seed=42 --force-flaky --no-success-flaky-report --max-runs=3 --junitxml=report.xml --json-report --json-report-file=report.json --json-report-indent=2
addopts=-p no:logging --color=yes --timeout=1800 --timeout-method=thread --test-group-random-seed=42 --junitxml=report.xml --json-report --json-report-file=report.json --json-report-indent=2
markers =
slow_test: marks tests as slow (deselect with '-m "not slow_test"')
EOF
Expand Down
Loading