github.com/nspcc-dev/neo-go@v0.105.2-0.20240517133400-6be757af3eba/pkg/wallet/token.go (about)

     1  package wallet
     2  
     3  import (
     4  	"github.com/nspcc-dev/neo-go/pkg/encoding/address"
     5  	"github.com/nspcc-dev/neo-go/pkg/util"
     6  )
     7  
     8  // Token represents an imported token contract.
     9  type Token struct {
    10  	Name     string       `json:"name"`
    11  	Hash     util.Uint160 `json:"script_hash"`
    12  	Decimals int64        `json:"decimals"`
    13  	Symbol   string       `json:"symbol"`
    14  	Standard string       `json:"standard"`
    15  }
    16  
    17  // NewToken returns the new token contract info.
    18  func NewToken(tokenHash util.Uint160, name, symbol string, decimals int64, standardName string) *Token {
    19  	return &Token{
    20  		Name:     name,
    21  		Hash:     tokenHash,
    22  		Decimals: decimals,
    23  		Symbol:   symbol,
    24  		Standard: standardName,
    25  	}
    26  }
    27  
    28  // Address returns token address from hash.
    29  func (t *Token) Address() string {
    30  	return address.Uint160ToString(t.Hash)
    31  }