@@ -378,6 +378,7 @@ export class WgpsMessenger<
378378 private currentlySentEntry : Entry < NamespaceId , SubspaceId , PayloadDigest > ;
379379 private currentlyReceivedEntry : Entry < NamespaceId , SubspaceId , PayloadDigest > ;
380380 private currentlyReceivedOffset = 0n ;
381+ private currentlyReceivedLimit = 0n ;
381382
382383 private handlesPayloadRequestsOurs = new HandleStore < {
383384 offset : bigint ;
@@ -743,7 +744,6 @@ export class WgpsMessenger<
743744
744745 if ( msg . kind === MsgKind . DataSendEntry ) {
745746 this . currentlyReceivedEntry = msg . entry ;
746- this . currentlyReceivedOffset = msg . offset ;
747747 } else if ( msg . kind === MsgKind . DataReplyPayload ) {
748748 const request = this . handlesPayloadRequestsOurs . get ( msg . handle ) ;
749749
@@ -754,7 +754,6 @@ export class WgpsMessenger<
754754 }
755755
756756 this . currentlyReceivedEntry = request . entry ;
757- this . currentlyReceivedOffset = request . offset ;
758757 }
759758
760759 switch ( msg . kind ) {
@@ -1489,6 +1488,9 @@ export class WgpsMessenger<
14891488 ) {
14901489 switch ( message . kind ) {
14911490 case MsgKind . DataSendEntry : {
1491+ this . currentlyReceivedLimit = message . entry . payloadLength ;
1492+ this . currentlyReceivedOffset = message . offset ;
1493+
14921494 const staticToken = await this . handlesStaticTokensTheirs . getEventually (
14931495 message . staticTokenHandle ,
14941496 ) ;
@@ -1513,15 +1515,15 @@ export class WgpsMessenger<
15131515 case MsgKind . DataSendPayload : {
15141516 if (
15151517 message . amount + this . currentlyReceivedOffset >
1516- this . currentlyReceivedEntry . payloadLength
1518+ this . currentlyReceivedLimit
15171519 ) {
15181520 throw new WgpsMessageValidationError ( "Partner sent too many bytes." ) ;
15191521 }
15201522
15211523 this . currentlyReceivedOffset += message . amount ;
15221524
15231525 const endHere = this . currentlyReceivedOffset ===
1524- this . currentlyReceivedEntry . payloadLength ;
1526+ this . currentlyReceivedLimit ;
15251527
15261528 this . dataPayloadIngester . push ( message . bytes , endHere ) ;
15271529
@@ -1536,6 +1538,8 @@ export class WgpsMessenger<
15361538 ) ;
15371539 }
15381540
1541+ this . currentlyReceivedLimit = result . entry . payloadLength ;
1542+ this . currentlyReceivedOffset = result . offset ;
15391543 this . dataPayloadIngester . target ( result . entry ) ;
15401544
15411545 break ;
0 commit comments