func (ac *ApplicationCallTxnFields) Empty() bool {
	if ac.ApplicationID != 0 {
		return false
	}
	if ac.OnCompletion != 0 {
		return false
	}
	if ac.ApplicationArgs != nil {
		return false
	}
	if ac.Accounts != nil {
		return false
	}
	if ac.ForeignApps != nil {
		return false
	}
	if ac.ForeignAssets != nil {
		return false
	}
	if ac.LocalStateSchema != (StateSchema{}) {
		return false
	}
	if ac.GlobalStateSchema != (StateSchema{}) {
		return false
	}
	if ac.ApprovalProgram != nil {
		return false
	}
	if ac.ClearStateProgram != nil {
		return false
	}
	if ac.ExtraProgramPages != 0 {
		return false
	}
	return true
}
Empty indicates whether or not all the fields in the
ApplicationCallTxnFields are zeroed out
package types
type ApplicationFields struct {
	ApplicationCallTxnFields
}
type AppIndex uint64
const (
	encodedMaxApplicationArgs = 32
	encodedMaxAccounts = 32
	encodedMaxForeignApps = 32
	encodedMaxForeignAssets = 32
)
type OnCompletion uint64
const (
	NoOpOC OnCompletion = 0
	OptInOC OnCompletion = 1
	CloseOutOC OnCompletion = 2
	ClearStateOC OnCompletion = 3
	UpdateApplicationOC OnCompletion = 4
	DeleteApplicationOC OnCompletion = 5
)
type ApplicationCallTxnFields struct {
	_struct struct{} `codec:",omitempty,omitemptyarray"`
	ApplicationID   AppIndex     `codec:"apid"`
	OnCompletion    OnCompletion `codec:"apan"`
	ApplicationArgs [][]byte     `codec:"apaa,allocbound=encodedMaxApplicationArgs"`
	Accounts        []Address    `codec:"apat,allocbound=encodedMaxAccounts"`
	ForeignApps     []AppIndex   `codec:"apfa,allocbound=encodedMaxForeignApps"`
	ForeignAssets   []AssetIndex `codec:"apas,allocbound=encodedMaxForeignAssets"`
	LocalStateSchema  StateSchema `codec:"apls"`
	GlobalStateSchema StateSchema `codec:"apgs"`
	ApprovalProgram   []byte      `codec:"apap"`
	ClearStateProgram []byte      `codec:"apsu"`
	ExtraProgramPages uint32      `codec:"apep"`
}
type StateSchema struct {
	_struct struct{} `codec:",omitempty,omitemptyarray"`
	NumUint      uint64 `codec:"nui"`
	NumByteSlice uint64 `codec:"nbs"`
}