type crossInAction struct {
bc.AssetAmount
- SourceID bc.Hash `json:"source_id"`
- SourcePos uint64 `json:"source_pos"`
- VMVersion uint64 `json:"vm_version"`
- RawDefinitionByte []byte `json:"raw_definition_byte"`
- IssuanceProgram []byte `json:"issuance_program"`
+ SourceID bc.Hash `json:"source_id"`
+ SourcePos uint64 `json:"source_pos"`
+ VMVersion uint64 `json:"vm_version"`
+ RawDefinitionByte json.HexBytes `json:"raw_definition_byte"`
+ IssuanceProgram json.HexBytes `json:"issuance_program"`
}
func (a *crossInAction) Build(ctx context.Context, builder *TemplateBuilder) error {
defHash := bc.NewHash(sha3.Sum256(c.RawDefinitionByte))
assetID := bc.ComputeAssetID(c.IssuanceProgram, c.VMVersion, &defHash)
- if *c.AssetId == *consensus.BTMAssetID && assetID != *c.AssetAmount.AssetId {
+ if *c.AssetId != *consensus.BTMAssetID && assetID != *c.AssetAmount.AssetId {
return errors.New("incorrect asset_idincorrect asset_id")
}