diff --git a/Makefile b/Makefile index c7c1e3631..cfa25b1cc 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ VERSION=$(shell git describe --tags --always --dirty=-modded --abbrev=7 2>/dev/null || pwd | sed -n 's|.*/c\{0,1\}lightning-v\{0,1\}\([0-9a-f.rc\-]*\)$$|v\1|gp') # Next release. -CLN_NEXT_VERSION := v25.02 +CLN_NEXT_VERSION := v25.05 # --quiet / -s means quiet, dammit! ifeq ($(findstring s,$(word 1, $(MAKEFLAGS))),s) diff --git a/tests/test_plugin.py b/tests/test_plugin.py index d3ba6826a..d68a132df 100644 --- a/tests/test_plugin.py +++ b/tests/test_plugin.py @@ -2791,8 +2791,7 @@ def test_commando(node_factory, executor): def test_commando_rune(node_factory): l1, l2 = node_factory.line_graph(2, fundchannel=False, opts={ - 'allow-deprecated-apis': True, - 'broken_log': 'DEPRECATED API USED commando-rune' + 'i-promise-to-fix-broken-api-user': 'commando-rune' }) rune1 = l1.rpc.commando_rune() @@ -2932,8 +2931,7 @@ def test_commando_rune(node_factory): def test_commando_listrunes(node_factory): - l1 = node_factory.get_node(options={'allow-deprecated-apis': True}, - broken_log='DEPRECATED API USED commando-rune|DEPRECATED API USED commando-listrunes') + l1 = node_factory.get_node(options={'i-promise-to-fix-broken-api-user': ['commando-rune', 'commando-listrunes']}) rune = l1.rpc.commando_rune() assert rune == { 'rune': 'OSqc7ixY6F-gjcigBfxtzKUI54uzgFSA6YfBQoWGDV89MA==', @@ -2974,8 +2972,7 @@ def test_commando_listrunes(node_factory): def test_commando_rune_pay_amount(node_factory): l1, l2 = node_factory.line_graph(2, opts={ - 'allow-deprecated-apis': True, - 'broken_log': 'DEPRECATED API USED commando-rune' + 'i-promise-to-fix-broken-api-user': 'commando-rune' }) # This doesn't really work, since amount_msat is illegal if invoice @@ -3029,8 +3026,7 @@ def test_commando_rune_pay_amount(node_factory): def test_commando_blacklist(node_factory): l1, l2 = node_factory.get_nodes(2, opts={ - 'allow-deprecated-apis': True, - 'broken_log': 'DEPRECATED API USED commando-rune|DEPRECATED API USED commando-blacklist|DEPRECATED API USED commando-listrunes', + 'i-promise-to-fix-broken-api-user': ['commando-rune', 'commando-blacklist', 'commando-listrunes'] }) l2.connect(l1) @@ -3150,8 +3146,7 @@ def test_commando_stress(node_factory, executor): def test_commando_badrune(node_factory): """Test invalid UTF-8 encodings in rune: used to make us kill the offers plugin which implements decode, as it gave bad utf8!""" - l1 = node_factory.get_node(options={'allow-deprecated-apis': True}, - broken_log='DEPRECATED API USED commando-rune') + l1 = node_factory.get_node(options={'i-promise-to-fix-broken-api-user': 'commando-rune'}) l1.rpc.decode('5zi6-ugA6hC4_XZ0R7snl5IuiQX4ugL4gm9BQKYaKUU9gCZtZXRob2RebGlzdHxtZXRob2ReZ2V0fG1ldGhvZD1zdW1tYXJ5Jm1ldGhvZC9saXN0ZGF0YXN0b3Jl') rune = l1.rpc.commando_rune(restrictions="readonly") diff --git a/tests/test_xpay.py b/tests/test_xpay.py index 19913877a..1dc00eec2 100644 --- a/tests/test_xpay.py +++ b/tests/test_xpay.py @@ -655,10 +655,16 @@ def test_xpay_no_mpp(node_factory, chainparams): assert ret['amount_sent_msat'] == AMOUNT + AMOUNT // 100000 + 1 -def test_xpay_bolt12_no_mpp(node_factory, chainparams): - """We should not (yet!) avoid mpp if BOLT12 invoice doesn't say we should""" +@pytest.mark.parametrize("deprecations", [False, True]) +def test_xpay_bolt12_no_mpp(node_factory, chainparams, deprecations): + """In deprecated mode, we use MPP even if BOLT12 invoice doesn't say we should""" # l4 needs dev-allow-localhost so it considers itself to have an advertized address, and doesn't create a blinded path from l2/l4. - l1, l2, l3, l4 = node_factory.get_nodes(4, opts=[{}, {}, {'dev-force-features': -17, 'dev-allow-localhost': None}, {}]) + opts = [{}, {}, {'dev-force-features': -17, 'dev-allow-localhost': None}, {}] + if deprecations is True: + for o in opts: + o['allow-deprecated-apis'] = True + + l1, l2, l3, l4 = node_factory.get_nodes(4, opts=opts) node_factory.join_nodes([l1, l2, l3], wait_for_announce=True) node_factory.join_nodes([l1, l4, l3], wait_for_announce=True) @@ -675,10 +681,12 @@ def test_xpay_bolt12_no_mpp(node_factory, chainparams): assert l1.rpc.decode(invl2['invoice'])['invoice_features'] == "020000" assert l1.rpc.decode(invl3['invoice'])['invoice_features'] == "" - # This will MPP ANYWAY, even though MPP is not specified! ret = l1.rpc.xpay(invl3['invoice']) assert ret['failed_parts'] == 0 - assert ret['successful_parts'] == 2 + if deprecations: + assert ret['successful_parts'] == 2 + else: + assert ret['successful_parts'] == 1 assert ret['amount_msat'] == AMOUNT assert ret['amount_sent_msat'] == AMOUNT + AMOUNT // 100000 + 1