@@ -235,16 +235,16 @@ public class HumanObjectPeerTestInstance {
235
235
await master. pendingEventTracker. addEvent ( event: event)
236
236
}
237
237
}
238
-
238
+
239
239
override func persistScorer( scorer: Bindings . WriteableScore ) -> Bindings . Result_NoneIOErrorZ {
240
240
. initWithOk( )
241
241
}
242
-
242
+
243
243
override func persistGraph( networkGraph: Bindings . NetworkGraph ) -> Bindings . Result_NoneIOErrorZ {
244
244
let writtenGraph = networkGraph. write ( ) ;
245
245
return . initWithOk( )
246
246
}
247
-
247
+
248
248
override func persistManager( channelManager: Bindings . ChannelManager ) -> Bindings . Result_NoneIOErrorZ {
249
249
. initWithOk( )
250
250
}
@@ -403,11 +403,12 @@ public class HumanObjectPeerTestInstance {
403
403
}
404
404
405
405
fileprivate func getManagerEvents( expectedCount: UInt ) async throws -> [ Event ] {
406
+ print ( " Awaiting \( expectedCount) manager events… " )
406
407
while true {
407
408
if await self . pendingEventTracker. getCount ( ) >= expectedCount {
408
- print ( " Found enough events for expected count of \( expectedCount) " )
409
+ print ( " Found enough manager events for expected count of \( expectedCount) " )
409
410
let events = await self . pendingEventTracker. getAndClearEvents ( )
410
- print ( " Found event count: \( events. count) " )
411
+ print ( " Found manager event count: \( events. count) " )
411
412
return events
412
413
}
413
414
// sleep for 0.1 seconds
@@ -557,6 +558,9 @@ public class HumanObjectPeerTestInstance {
557
558
XCTAssertNil ( fundingTxo)
558
559
}
559
560
561
+ let channelsA = peer1. channelManager. listChannels ( )
562
+ XCTAssertEqual ( channelsA. count, 1 )
563
+
560
564
let managerEvents = try ! await peer1. getManagerEvents ( expectedCount: 1 )
561
565
XCTAssertEqual ( managerEvents. count, 1 )
562
566
@@ -607,11 +611,13 @@ public class HumanObjectPeerTestInstance {
607
611
fundingBlock. nonce = 0
608
612
fundingBlock. transactions = [ fundingTransaction]
609
613
614
+ print ( " Connecting funding block… " )
610
615
peer1. connectBlock ( block: fundingBlock, height: 1 , expectedMonitorUpdateLength: 0 )
611
616
peer2. connectBlock ( block: fundingBlock, height: 1 , expectedMonitorUpdateLength: 0 )
612
617
618
+ print ( " Connecting confirmation blocks… " )
613
619
var previousBlock = fundingBlock
614
- for height in 2 ..< 10 {
620
+ for height in 2 ..< 101 {
615
621
let currentBlock = BTCBlock ( )
616
622
currentBlock. version = 2
617
623
currentBlock. previousBlockHash = previousBlock. calculateHash ( )
@@ -625,28 +631,32 @@ public class HumanObjectPeerTestInstance {
625
631
previousBlock = currentBlock
626
632
}
627
633
634
+ let peer1Events = try ! await peer1. getManagerEvents ( expectedCount: 2 )
635
+ let peer1ReadyEvent = peer1Events [ 1 ]
636
+ guard case . ChannelReady = peer1ReadyEvent. getValueType ( ) else {
637
+ return XCTAssert ( false , " Expected .ChannelReady, got \( peer1ReadyEvent. getValueType ( ) ) " )
638
+ }
639
+
640
+ let peer2Events = try ! await peer2. getManagerEvents ( expectedCount: 2 )
641
+ let peer2ReadyEvent = peer2Events [ 1 ]
642
+ guard case . ChannelReady = peer2ReadyEvent. getValueType ( ) else {
643
+ return XCTAssert ( false , " Expected .ChannelReady, got \( peer2ReadyEvent. getValueType ( ) ) " )
644
+ }
645
+
628
646
var usableChannelsA = [ ChannelDetails] ( )
629
647
var usableChannelsB = [ ChannelDetails] ( )
648
+ print ( " Awaiting usable channels to populate… " )
630
649
while ( usableChannelsA. isEmpty || usableChannelsB. isEmpty) {
631
650
usableChannelsA = peer1. channelManager. listUsableChannels ( )
632
651
usableChannelsB = peer2. channelManager. listUsableChannels ( )
633
652
// sleep for 100ms
634
653
try ! await Task . sleep ( nanoseconds: 0_100_000_000 )
635
654
}
655
+ print ( " Usable channels have been populated " )
636
656
637
657
XCTAssertEqual ( usableChannelsA. count, 1 )
638
658
XCTAssertEqual ( usableChannelsB. count, 1 )
639
659
640
- let peer1Event = try ! await peer1. getManagerEvents ( expectedCount: 2 ) [ 1 ]
641
- guard case . ChannelReady = peer1Event. getValueType ( ) else {
642
- return XCTAssert ( false , " Expected .ChannelReady, got \( peer1Event. getValueType ( ) ) " )
643
- }
644
-
645
- let peer2Event = try ! await peer2. getManagerEvents ( expectedCount: 2 ) [ 1 ]
646
- guard case . ChannelReady = peer2Event. getValueType ( ) else {
647
- return XCTAssert ( false , " Expected .ChannelReady, got \( peer2Event. getValueType ( ) ) " )
648
- }
649
-
650
660
let channelAToB = usableChannelsA [ 0 ]
651
661
let channelBToA = usableChannelsB [ 0 ]
652
662
XCTAssertEqual ( channelAToB. getChannelValueSatoshis ( ) , FUNDING_SATOSHI_AMOUNT)
@@ -656,8 +666,8 @@ public class HumanObjectPeerTestInstance {
656
666
XCTAssertEqual ( usableChannelsA [ 0 ] . getChannelId ( ) , fundingTxId)
657
667
XCTAssertEqual ( usableChannelsB [ 0 ] . getChannelId ( ) , fundingTxId)
658
668
659
- let originalChannelBalanceAToB = channelAToB. getOutboundCapacityMsat ( )
660
- let originalChannelBalanceBToA = channelBToA. getOutboundCapacityMsat ( )
669
+ let originalChannelBalanceAToB = channelAToB. getBalanceMsat ( )
670
+ let originalChannelBalanceBToA = channelBToA. getBalanceMsat ( )
661
671
print ( " original balance A->B mSats: \( originalChannelBalanceAToB) " )
662
672
print ( " original balance B->A mSats: \( originalChannelBalanceBToA) " )
663
673
@@ -676,24 +686,24 @@ public class HumanObjectPeerTestInstance {
676
686
677
687
let recreatedInvoice = Bolt11Invoice . fromStr ( s: invoice. toStr ( ) )
678
688
XCTAssertTrue ( recreatedInvoice. isOk ( ) )
679
-
689
+
680
690
// find route
681
-
691
+
682
692
do {
683
693
let payerPubkey = peer1. channelManager. getOurNodeId ( )
684
694
let payeePubkey = peer2. channelManager. getOurNodeId ( )
685
695
let paymentParameters = PaymentParameters . initForKeysend ( payeePubkey: payeePubkey, finalCltvExpiryDelta: 3 , allowMpp: false )
686
-
696
+
687
697
let amount = invoice. amountMilliSatoshis ( ) !
688
698
let routeParameters = RouteParameters ( paymentParamsArg: paymentParameters, finalValueMsatArg: amount, maxTotalRoutingFeeMsatArg: nil )
689
699
let randomSeedBytes : [ UInt8 ] = [ UInt8] ( repeating: 0 , count: 32 )
690
700
let scoringParams = ProbabilisticScoringDecayParameters . initWithDefault ( )
691
701
let networkGraph = peer1. constructor!. netGraph!
692
702
let scorer = ProbabilisticScorer ( decayParams: scoringParams, networkGraph: networkGraph, logger: logger)
693
703
let score = scorer. asScoreLookUp ( )
694
-
704
+
695
705
let scoreParams = ProbabilisticScoringFeeParameters . initWithDefault ( )
696
-
706
+
697
707
let foundRoute = Bindings . findRoute (
698
708
ourNodePubkey: payerPubkey,
699
709
routeParams: routeParameters,
@@ -704,7 +714,7 @@ public class HumanObjectPeerTestInstance {
704
714
scoreParams: scoreParams,
705
715
randomSeedBytes: randomSeedBytes
706
716
)
707
-
717
+
708
718
let route = foundRoute. getValue ( ) !
709
719
let fees = route. getTotalFees ( )
710
720
print ( " found route fees: \( fees) " )
@@ -798,8 +808,8 @@ public class HumanObjectPeerTestInstance {
798
808
while true {
799
809
let channelA = peer1. channelManager. listUsableChannels ( ) [ 0 ]
800
810
let channelB = peer2. channelManager. listUsableChannels ( ) [ 0 ]
801
- currentChannelABalance = channelA. getOutboundCapacityMsat ( )
802
- currentChannelBBalance = channelB. getOutboundCapacityMsat ( )
811
+ currentChannelABalance = channelA. getBalanceMsat ( )
812
+ currentChannelBBalance = channelB. getBalanceMsat ( )
803
813
if currentChannelABalance != originalChannelBalanceAToB && currentChannelBBalance != originalChannelBalanceBToA {
804
814
break
805
815
}
@@ -815,8 +825,8 @@ public class HumanObjectPeerTestInstance {
815
825
do {
816
826
// send some money back
817
827
// create invoice for 10k satoshis to pay to peer2
818
- let prePaymentBalanceAToB = peer1. channelManager. listUsableChannels ( ) [ 0 ] . getOutboundCapacityMsat ( )
819
- let prePaymentBalanceBToA = peer2. channelManager. listUsableChannels ( ) [ 0 ] . getOutboundCapacityMsat ( )
828
+ let prePaymentBalanceAToB = peer1. channelManager. listUsableChannels ( ) [ 0 ] . getBalanceMsat ( )
829
+ let prePaymentBalanceBToA = peer2. channelManager. listUsableChannels ( ) [ 0 ] . getBalanceMsat ( )
820
830
print ( " pre-payment balance A->B mSats: \( prePaymentBalanceAToB) " )
821
831
print ( " pre-payment balance B->A mSats: \( prePaymentBalanceBToA) " )
822
832
@@ -896,8 +906,8 @@ public class HumanObjectPeerTestInstance {
896
906
while true {
897
907
let channelA = peer1. channelManager. listUsableChannels ( ) [ 0 ]
898
908
let channelB = peer2. channelManager. listUsableChannels ( ) [ 0 ]
899
- currentChannelABalance = channelA. getOutboundCapacityMsat ( )
900
- currentChannelBBalance = channelB. getOutboundCapacityMsat ( )
909
+ currentChannelABalance = channelA. getBalanceMsat ( )
910
+ currentChannelBBalance = channelB. getBalanceMsat ( )
901
911
if currentChannelABalance != prePaymentBalanceAToB && currentChannelBBalance != prePaymentBalanceBToA {
902
912
break
903
913
}
0 commit comments