forked from kaspanet/kaspad
-
Notifications
You must be signed in to change notification settings - Fork 27
/
subnetworks.go
27 lines (21 loc) · 1.11 KB
/
subnetworks.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package subnetworks
import "github.com/karlsen-network/karlsend/domain/consensus/model/externalapi"
var (
// SubnetworkIDNative is the default subnetwork ID which is used for transactions without related payload data
SubnetworkIDNative = externalapi.DomainSubnetworkID{}
// SubnetworkIDCoinbase is the subnetwork ID which is used for the coinbase transaction
SubnetworkIDCoinbase = externalapi.DomainSubnetworkID{1}
// SubnetworkIDRegistry is the subnetwork ID which is used for adding new sub networks to the registry
SubnetworkIDRegistry = externalapi.DomainSubnetworkID{2}
)
// IsBuiltIn returns true if the subnetwork is a built in subnetwork, which
// means all nodes, including partial nodes, must validate it, and its transactions
// always use 0 gas.
func IsBuiltIn(id externalapi.DomainSubnetworkID) bool {
return id == SubnetworkIDCoinbase || id == SubnetworkIDRegistry
}
// IsBuiltInOrNative returns true if the subnetwork is the native or a built in subnetwork,
// see IsBuiltIn for further details
func IsBuiltInOrNative(id externalapi.DomainSubnetworkID) bool {
return id == SubnetworkIDNative || IsBuiltIn(id)
}