Skip to content

Commit a608b4b

Browse files
authored
Gp/fiber (#79)
* fix ci * add new test * update fiber test (#81) * update fiber test * update fiber * Update Makefile
1 parent f0c0da2 commit a608b4b

40 files changed

+771
-114
lines changed

Makefile

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,7 @@ fiber_test_cases := \
5656
test_cases/fiber/devnet/new_invoice \
5757
test_cases/fiber/devnet/send_payment \
5858
test_cases/fiber/devnet/shutdown_channel \
59-
test_cases/fiber/devnet/update_channel \
60-
test_cases/fiber/devnet/watch_tower
61-
59+
test_cases/fiber/devnet/update_channel
6260

6361

6462
test:

framework/basic_fiber.py

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,9 @@ def setup_method(cls, method):
143143
cls.fiber1.connect_peer(cls.fiber2)
144144
time.sleep(1)
145145
cls.logger.debug(f"\nSetting up method:{method.__name__}")
146+
cls.node.getClient().clear_tx_pool()
147+
for i in range(5):
148+
cls.Miner.miner_with_version(cls.node, "0x0")
146149

147150
def teardown_method(self, method):
148151
if self.debug:
@@ -295,6 +298,34 @@ def open_channel(
295298
fiber1_fee=1000,
296299
fiber2_fee=1000,
297300
):
301+
fiber1.connect_peer(fiber2)
302+
time.sleep(1)
303+
if fiber1_balance <= int(
304+
fiber2.get_client().node_info()[
305+
"open_channel_auto_accept_min_ckb_funding_amount"
306+
],
307+
16,
308+
):
309+
temporary_channel = fiber1.get_client().open_channel(
310+
{
311+
"peer_id": fiber2.get_peer_id(),
312+
"funding_amount": hex(fiber1_balance + 62 * 100000000),
313+
"tlc_fee_proportional_millionths": hex(fiber1_fee),
314+
"public": True,
315+
}
316+
)
317+
fiber2.get_client().accept_channel(
318+
{
319+
"temporary_channel_id": temporary_channel["temporary_channel_id"],
320+
"funding_amount": hex(fiber2_balance + 62 * 100000000),
321+
"tlc_fee_proportional_millionths": hex(fiber2_fee),
322+
}
323+
)
324+
time.sleep(1)
325+
self.wait_for_channel_state(
326+
fiber1.get_client(), fiber2.get_peer_id(), "CHANNEL_READY"
327+
)
328+
return
298329
fiber1.get_client().open_channel(
299330
{
300331
"peer_id": fiber2.get_peer_id(),
@@ -309,7 +340,7 @@ def open_channel(
309340
channels = fiber1.get_client().list_channels({"peer_id": fiber2.get_peer_id()})
310341
payment = fiber1.get_client().send_payment(
311342
{
312-
"target_pubkey": fiber2.get_client().node_info()["public_key"],
343+
"target_pubkey": fiber2.get_client().node_info()["node_id"],
313344
"amount": hex(fiber2_balance),
314345
"keysend": True,
315346
}
@@ -500,8 +531,7 @@ def get_fiber_env(self, new_fiber_count=0):
500531
self.logger.debug(
501532
f"commit_hash:{node_info['commit_hash']}",
502533
)
503-
self.logger.debug(f"public_key:{node_info['public_key']}")
504-
self.logger.debug(f"peer_id:{node_info['peer_id']}")
534+
self.logger.debug(f"public_key:{node_info['node_id']}")
505535
self.logger.debug(f"channel_count:{int(node_info['channel_count'], 16)}")
506536
self.logger.debug(f"peers_count:{int(node_info['peers_count'], 16)}")
507537
self.logger.debug(
@@ -510,7 +540,6 @@ def get_fiber_env(self, new_fiber_count=0):
510540
channels = fibers_data[i]["channels"]
511541
for channel in channels:
512542
channel_id = channel["channel_id"]
513-
peer_id = channel["peer_id"]
514543
state_name = channel["state"]["state_name"]
515544
local_balance = int(channel["local_balance"], 16) / 100000000
516545
offered_tlc_balance = (
@@ -527,7 +556,6 @@ def get_fiber_env(self, new_fiber_count=0):
527556

528557
# 打印结果
529558
self.logger.debug(f"-----Channel ID: {channel_id}-------")
530-
self.logger.debug(f"Peer ID: {peer_id}")
531559
self.logger.debug(f"State: {state_name}")
532560
self.logger.debug(f"Local Balance: {local_balance}")
533561
self.logger.debug(f"Offered TLC Balance: {offered_tlc_balance}")

framework/fiber_rpc.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,9 @@ def graph_channels(self, param={}):
193193
"""
194194
return self.call("graph_channels", [param])
195195

196+
def get_peer_id(self):
197+
return self.node_info()["addresses"][0].split("/")[-1]
198+
196199
def call(self, method, params):
197200
headers = {"content-type": "application/json"}
198201
data = {"id": 42, "jsonrpc": "2.0", "method": method, "params": params}

framework/test_fiber.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ def get_log_file(self):
170170
pass
171171

172172
def get_peer_id(self):
173-
return self.get_client().node_info()["peer_id"]
173+
return self.get_client().node_info()["addresses"][0].split("/")[-1]
174174

175175
def get_account(self):
176176
return framework.helper.ckb_cli.util_key_info_by_private_key(

source/template/fiber/config.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,18 @@ fiber:
3737

3838
rpc:
3939
listening_addr: "127.0.0.1:8227"
40+
enabled_modules:
41+
- cch
42+
- channel
43+
- payment
44+
- graph
45+
- info
46+
- invoice
47+
- peer
48+
- dev
4049

4150
ckb:
42-
rpc_url: "https://testnet.ckbapp.dev/"
51+
rpc_url: "https://testnet.ckb.dev/"
4352
udt_whitelist:
4453
- name: RUSD
4554
script:

source/template/fiber/config.yml.j2

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,19 @@ fiber:
3737

3838
rpc:
3939
listening_addr: {{ rpc_listening_addr | default("127.0.0.1:8227") }}
40+
enabled_modules:
41+
- cch
42+
- channel
43+
- payment
44+
- graph
45+
- info
46+
- invoice
47+
- peer
48+
- dev
4049

4150
ckb:
4251
rpc_url: "https://testnet.ckbapp.dev/"
52+
open_channel_auto_accept_min_ckb_funding_amount: {{ fiber_open_channel_auto_accept_min_ckb_funding_amount | default(10000000000)}}
4353
udt_whitelist:
4454
- name: RUSD
4555
script:

source/template/fiber/dev_config.yml.j2

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,19 @@ fiber:
55
announce_private_addr: true
66
gossip_store_maintenance_interval_ms: 1000
77
gossip_network_maintenance_interval_ms: 1000
8+
open_channel_auto_accept_min_ckb_funding_amount: {{ fiber_open_channel_auto_accept_min_ckb_funding_amount | default(10000000000)}}
89

910
rpc:
1011
listening_addr: {{ rpc_listening_addr | default("127.0.0.1:8227") }}
11-
12+
enabled_modules:
13+
- cch
14+
- channel
15+
- payment
16+
- graph
17+
- info
18+
- invoice
19+
- peer
20+
- dev
1221
ckb:
1322
rpc_url: {{ ckb_rpc_url | default("http://127.0.0.1:8114") }}
1423
{% if ckb_udt_whitelist is defined %}

test_cases/fiber/devnet/accept_channel/test_funding_amount.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77

88
class TestFundingAmount(FiberTest):
9+
910
def test_ckb_funding_amount_zero(self):
1011
node_info = self.fiber1.get_client().node_info()
1112
open_channel_auto_accept_min_ckb_funding_amount = node_info[

test_cases/fiber/devnet/disconnect_peer/test_disconnect_peer.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@ def test_disconnect_peer(self):
88
before_node_info = self.fiber1.get_client().node_info()
99
assert before_node_info["peers_count"] == "0x1"
1010

11-
self.fiber1.get_client().disconnect_peer(
12-
{"peer_id": self.fiber2.get_client().node_info()["peer_id"]}
13-
)
11+
self.fiber1.get_client().disconnect_peer({"peer_id": self.fiber2.get_peer_id()})
1412
time.sleep(1)
1513
after_node_info = self.fiber1.get_client().node_info()
1614
assert after_node_info["peers_count"] == "0x0"

test_cases/fiber/devnet/get_invoice/test_get_invoice.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import datetime
2-
import time
32

43
import pytest
54

@@ -41,7 +40,7 @@ def test_get_exist_new_invoice(self):
4140
node_info = self.fiber1.get_client().node_info()
4241

4342
assert (
44-
node_info["public_key"]
43+
node_info["node_id"]
4544
== result["invoice"]["data"]["attrs"][3]["PayeePublicKey"]
4645
)
4746
parse_invoice = self.fiber1.get_client().parse_invoice(

0 commit comments

Comments
 (0)