forked from TrueCloudLab/neoneo-go
19201dcf52
* Added utility function GetVarSize * 1) Added Size method: this implied that Fixed8 implements now the serializable interface. 2) Added few arithmetic operation (Add, Sub, div): this will be used to calculated networkfeeand feePerByte. Changed return value of the Value() method to int instead of int64. Modified fixed8_test accordingly. * Implemented Size or MarshalJSON method. - Structs accepting the Size method implement the serializable interface. - Structs accepting the MarshalJSON method implements the customized json marshaller interface. * Added fee calculation * Implemented rcp server method GetRawTransaction * Updated Tests * Fixed: 1) NewFixed8 will accept as input int64 2) race condition affecting configDeafault, blockchainDefault * Simplified Size calculation * 1) Removed global variable blockchainDefault, configDefault 2) Extended Blockchainer interface to include the methods: References, FeePerByte, SystemFee, NetworkFee 3) Deleted fee_test.go, fee.go. Moved corresponding methods to blockchain_test.go and blockchain.go respectively 4) Amended tx_raw_output.go * Simplified GetVarSize Method * Replaced ValueAtAndType with ValueWithType * Cosmetic changes + Added test case getrawtransaction_7 * Clean up Print statement * Filled up keys * Aligned verbose logic with the C#-neo implementation * Implemented @Kim requests Refactor server_test.go * Small fixes * Fixed verbose logic Added more tests Cosmetic changes * Replaced assert.NoError with require.NoError * Fixed tests by adding context.Background() as argument * Fixed tests
53 lines
1.2 KiB
Go
53 lines
1.2 KiB
Go
package transaction
|
|
|
|
// TXType is the type of a transaction.
|
|
type TXType uint8
|
|
|
|
const (
|
|
MinerType TXType = 0x00
|
|
IssueType TXType = 0x01
|
|
ClaimType TXType = 0x02
|
|
EnrollmentType TXType = 0x20
|
|
VotingType TXType = 0x24
|
|
RegisterType TXType = 0x40
|
|
ContractType TXType = 0x80
|
|
StateType TXType = 0x90
|
|
AgencyType TXType = 0xb0
|
|
PublishType TXType = 0xd0
|
|
InvocationType TXType = 0xd1
|
|
)
|
|
|
|
// String implements the stringer interface.
|
|
func (t TXType) String() string {
|
|
switch t {
|
|
case MinerType:
|
|
return "MinerTransaction"
|
|
case IssueType:
|
|
return "IssueTransaction"
|
|
case ClaimType:
|
|
return "ClaimTransaction"
|
|
case EnrollmentType:
|
|
return "EnrollmentTransaction"
|
|
case VotingType:
|
|
return "VotingTransaction"
|
|
case RegisterType:
|
|
return "RegisterTransaction"
|
|
case ContractType:
|
|
return "ContractTransaction"
|
|
case StateType:
|
|
return "StateTransaction"
|
|
case AgencyType:
|
|
return "AgencyTransaction"
|
|
case PublishType:
|
|
return "PublishTransaction"
|
|
case InvocationType:
|
|
return "InvocationTransaction"
|
|
default:
|
|
return "UnknownTransaction"
|
|
}
|
|
}
|
|
|
|
// MarshalJSON implements the json marshaller interface.
|
|
func (t TXType) MarshalJSON() ([]byte, error) {
|
|
return []byte(`"` + t.String() + `"`), nil
|
|
}
|