- vs.gasStatus.GasValid = true
- default:
- return fmt.Errorf("entry has unexpected type %T", e)
- }
-
- return nil
-}
-
-type MerkleBlock struct {
- BlockHeader []byte `json:"block_header"`
- TxHashes []*bc.Hash `json:"tx_hashes"`
- StatusHashes []*bc.Hash `json:"status_hashes"`
- Flags []uint32 `json:"flags"`
- MatchedTxIDs []*bc.Hash `json:"matched_tx_ids"`
-}
-
-func IsValidPeginWitness(peginWitness [][]byte, prevout bc.Output) (err error) {
- /*
- assetID := bc.AssetID{}
- assetID.V0 = prevout.Source.Value.AssetId.GetV0()
- assetID.V1 = prevout.Source.Value.AssetId.GetV1()
- assetID.V2 = prevout.Source.Value.AssetId.GetV2()
- assetID.V3 = prevout.Source.Value.AssetId.GetV3()
- //bytomPrevout.Source.Value.AssetId = &assetId
-
- sourceID := bc.Hash{}
- sourceID.V0 = prevout.Source.Ref.GetV0()
- sourceID.V1 = prevout.Source.Ref.GetV1()
- sourceID.V2 = prevout.Source.Ref.GetV2()
- sourceID.V3 = prevout.Source.Ref.GetV3()
- */
-
- assetAmount := &bc.AssetAmount{
- AssetId: prevout.Source.Value.AssetId,
- Amount: prevout.Source.Value.Amount,
- }
-
- src := &bc.ValueSource{
- Ref: prevout.Source.Ref,
- Value: assetAmount,
- Position: prevout.Source.Position,
- }
- prog := &bc.Program{prevout.ControlProgram.VmVersion, prevout.ControlProgram.Code}
- bytomPrevout := bc.NewOutput(src, prog, prevout.Source.Position)
-
- if len(peginWitness) != 5 {
- return errors.New("peginWitness is error")
- }
- amount, err := strconv.ParseUint(string(peginWitness[0]), 10, 64)
- if err != nil {
- return err
- }
- if !consensus.MoneyRange(amount) {
- return errors.New("Amount out of range")
- }
-
- if len(peginWitness[1]) != 64 {
- return errors.New("The length of gennesisBlockHash is not correct")
- }
-
- claimScript := peginWitness[2]