diff --git a/CHANGELOG.md b/CHANGELOG.md index cba3d629094..3bece1ffa80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -578,6 +578,7 @@ - [8157](https://github.com/vegaprotocol/vega/issues/8157) - Handle kill/interrupt signals in datanode, and clean up properly. - [7914](https://github.com/vegaprotocol/vega/issues/7914) - Offer node signatures after snapshot restore - [8187](https://github.com/vegaprotocol/vega/issues/8187) - Expose Live Only filter to the `GraphQL` Orders filter. +- [9793](https://github.com/vegaprotocol/vega/issues/9793) - Map network owner correctly in creating account from transfer. ## 0.70.0 diff --git a/datanode/entities/transfer.go b/datanode/entities/transfer.go index 000c4c84785..933c6ed55b2 100644 --- a/datanode/entities/transfer.go +++ b/datanode/entities/transfer.go @@ -137,6 +137,10 @@ func TransferFromProto(ctx context.Context, t *eventspb.Transfer, txHash TxHash, VegaTime: time.Unix(0, t.Timestamp), } + if t.From == "0000000000000000000000000000000000000000000000000000000000000000" { + fromAcc.PartyID = PartyID("network") + } + err := accountSource.Obtain(ctx, &fromAcc) if err != nil { return nil, fmt.Errorf("obtaining from account id for transfer:%w", err) @@ -151,6 +155,10 @@ func TransferFromProto(ctx context.Context, t *eventspb.Transfer, txHash TxHash, VegaTime: vegaTime, } + if t.To == "0000000000000000000000000000000000000000000000000000000000000000" { + toAcc.PartyID = PartyID("network") + } + err = accountSource.Obtain(ctx, &toAcc) if err != nil {