Is it true you get priority in terms of receiving and sending txns based on stake in the gossip network

MicroAlgosWithRewards is named as such because it gets the total amount of MicroAlogs an account has, including rewards. On mainnet/testnet rewards are disabled, but reward functionality still exists in the protocol. This means on testnet/mainnet the prioWeight is determined by account balance.

Looking at where this is used

$ grep -rn "\.prioWeight" | grep -v _test.go
./network/wsNetwork.go:851:             go wn.prioWeightRefresh()
./network/wsNetwork.go:1865:                    weight := peer.prioWeight
./network/wsNetwork.go:2326:    wn.prioTracker.setPriority(peer, peer.prioAddress, peer.prioWeight)
./network/netprio.go:98:                peer.prioWeight = weight
./network/netprio.go:107:                       if peer.prioAddress == addr && peer.prioWeight == weight {
./network/netprio.go:112:                       old.prioWeight = 0
./network/netprio.go:127:       peer.prioWeight = weight
./network/peersheap.go:73:      return pi.prioWeight > pj.prioWeight

The only significant usage we can see is go-algorand/peersheap.go at master · algorand/go-algorand · GitHub which is the definition of Less which is used by heap. This means the priority of peers in the heap is based on account balance.

I’m not super familiar with go-algorand source so you might want to wait for additional confirmation before drawing conclusions.