The idea here is to preserve the history of `dev` branch development and its code when merging with the `master`. Later this code could be moved into the masters code where appropriate.
58 lines
1.3 KiB
Go
58 lines
1.3 KiB
Go
package transaction
|
|
|
|
import (
|
|
"github.com/CityOfZion/neo-go/pkg/wire/payload/transaction/types"
|
|
"github.com/CityOfZion/neo-go/pkg/wire/payload/transaction/version"
|
|
"github.com/CityOfZion/neo-go/pkg/wire/util"
|
|
"github.com/CityOfZion/neo-go/pkg/wire/util/fixed8"
|
|
)
|
|
|
|
// Register represents a register transaction on the neo network
|
|
type Register struct {
|
|
*Base
|
|
// The type of the asset being registered.
|
|
AssetType AssetType
|
|
|
|
// Name of the asset being registered.
|
|
Name string
|
|
|
|
// Amount registered
|
|
// Unlimited mode -0.00000001
|
|
Amount fixed8.Fixed8
|
|
|
|
// Decimals
|
|
Precision uint8
|
|
|
|
// Public key of the owner
|
|
Owner PublicKey
|
|
|
|
Admin util.Uint160
|
|
}
|
|
|
|
//NewRegister returns a register transaction
|
|
func NewRegister(ver version.TX) *Register {
|
|
basicTrans := createBaseTransaction(types.Register, ver)
|
|
Register := &Register{}
|
|
Register.Base = basicTrans
|
|
Register.encodeExclusive = Register.encodeExcl
|
|
Register.decodeExclusive = Register.decodeExcl
|
|
return Register
|
|
}
|
|
|
|
func (r *Register) encodeExcl(bw *util.BinWriter) {
|
|
bw.Write(r.AssetType)
|
|
bw.VarString(r.Name)
|
|
bw.Write(r.Amount)
|
|
bw.Write(r.Precision)
|
|
r.Owner.Encode(bw)
|
|
bw.Write(r.Admin)
|
|
}
|
|
|
|
func (r *Register) decodeExcl(br *util.BinReader) {
|
|
br.Read(&r.AssetType)
|
|
r.Name = br.VarString()
|
|
br.Read(&r.Amount)
|
|
br.Read(&r.Precision)
|
|
r.Owner.Decode(br)
|
|
br.Read(&r.Admin)
|
|
}
|