2018-11-26 21:12:33 +00:00
|
|
|
package wrappers
|
|
|
|
|
|
|
|
import (
|
2019-11-25 17:39:11 +00:00
|
|
|
"github.com/CityOfZion/neo-go/pkg/core/entities"
|
2018-11-26 21:12:33 +00:00
|
|
|
"github.com/CityOfZion/neo-go/pkg/core/transaction"
|
|
|
|
"github.com/CityOfZion/neo-go/pkg/crypto"
|
|
|
|
"github.com/CityOfZion/neo-go/pkg/util"
|
|
|
|
)
|
|
|
|
|
|
|
|
// AssetState wrapper used for the representation of
|
|
|
|
// core.AssetState on the RPC Server.
|
|
|
|
type AssetState struct {
|
2019-09-03 15:11:13 +00:00
|
|
|
ID util.Uint256 `json:"assetID"`
|
2018-11-26 21:12:33 +00:00
|
|
|
AssetType transaction.AssetType `json:"assetType"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
Amount util.Fixed8 `json:"amount"`
|
|
|
|
Available util.Fixed8 `json:"available"`
|
|
|
|
Precision uint8 `json:"precision"`
|
|
|
|
FeeMode uint8 `json:"fee"`
|
|
|
|
FeeAddress util.Uint160 `json:"address"`
|
|
|
|
Owner string `json:"owner"`
|
|
|
|
Admin string `json:"admin"`
|
|
|
|
Issuer string `json:"issuer"`
|
|
|
|
Expiration uint32 `json:"expiration"`
|
|
|
|
IsFrozen bool `json:"is_frozen"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// NewAssetState creates a new AssetState wrapper.
|
2019-11-25 17:39:11 +00:00
|
|
|
func NewAssetState(a *entities.AssetState) AssetState {
|
2018-11-26 21:12:33 +00:00
|
|
|
return AssetState{
|
|
|
|
ID: a.ID,
|
|
|
|
AssetType: a.AssetType,
|
|
|
|
Name: a.GetName(),
|
|
|
|
Amount: a.Amount,
|
|
|
|
Available: a.Available,
|
|
|
|
Precision: a.Precision,
|
|
|
|
FeeMode: a.FeeMode,
|
|
|
|
FeeAddress: a.FeeAddress,
|
|
|
|
Owner: a.Owner.String(),
|
|
|
|
Admin: crypto.AddressFromUint160(a.Admin),
|
|
|
|
Issuer: crypto.AddressFromUint160(a.Issuer),
|
|
|
|
Expiration: a.Expiration,
|
|
|
|
IsFrozen: a.IsFrozen,
|
|
|
|
}
|
|
|
|
}
|