65 lines
1.8 KiB
Go
65 lines
1.8 KiB
Go
/*
|
|
Package attribute provides getters for transaction attributes.
|
|
*/
|
|
package attribute
|
|
|
|
// Attribute represents transaction attribute in Neo, it's an opaque data
|
|
// structure that you can get data from only using functions from this package.
|
|
// It's similar in function to the TransactionAttribute class in the Neo .net
|
|
// framework. To use it you need to get is first using transaction.GetAttributes.
|
|
type Attribute struct{}
|
|
|
|
// GetUsage returns the Usage field of the given attribute. It is an enumeration
|
|
// with the following possible values:
|
|
// ContractHash = 0x00
|
|
// ECDH02 = 0x02
|
|
// ECDH03 = 0x03
|
|
// Script = 0x20
|
|
// Vote = 0x30
|
|
// CertURL = 0x80
|
|
// DescriptionURL = 0x81
|
|
// Description = 0x90
|
|
//
|
|
// Hash1 = 0xa1
|
|
// Hash2 = 0xa2
|
|
// Hash3 = 0xa3
|
|
// Hash4 = 0xa4
|
|
// Hash5 = 0xa5
|
|
// Hash6 = 0xa6
|
|
// Hash7 = 0xa7
|
|
// Hash8 = 0xa8
|
|
// Hash9 = 0xa9
|
|
// Hash10 = 0xaa
|
|
// Hash11 = 0xab
|
|
// Hash12 = 0xac
|
|
// Hash13 = 0xad
|
|
// Hash14 = 0xae
|
|
// Hash15 = 0xaf
|
|
//
|
|
// Remark = 0xf0
|
|
// Remark1 = 0xf1
|
|
// Remark2 = 0xf2
|
|
// Remark3 = 0xf3
|
|
// Remark4 = 0xf4
|
|
// Remark5 = 0xf5
|
|
// Remark6 = 0xf6
|
|
// Remark7 = 0xf7
|
|
// Remark8 = 0xf8
|
|
// Remark9 = 0xf9
|
|
// Remark10 = 0xfa
|
|
// Remark11 = 0xfb
|
|
// Remark12 = 0xfc
|
|
// Remark13 = 0xfd
|
|
// Remark14 = 0xfe
|
|
// Remark15 = 0xff
|
|
// This function uses `Neo.Attribute.GetUsage` syscall internally.
|
|
func GetUsage(attr Attribute) byte {
|
|
return 0x00
|
|
}
|
|
|
|
// GetData returns the data of the given attribute, exact interpretation of this
|
|
// data depends on attribute's Usage type. It uses `Neo.Attribute.GetData`
|
|
// syscall internally.
|
|
func GetData(attr Attribute) []byte {
|
|
return nil
|
|
}
|