github.com/0chain/gosdk@v1.17.11/zboxcore/marker/deletetoken.go (about)

     1  package marker
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"github.com/0chain/gosdk/core/encryption"
     7  	"github.com/0chain/gosdk/zboxcore/client"
     8  )
     9  
    10  type DeleteToken struct {
    11  	FilePathHash string `json:"file_path_hash"`
    12  	FileRefHash  string `json:"file_ref_hash"`
    13  	AllocationID string `json:"allocation_id"`
    14  	Size         int64  `json:"size"`
    15  	BlobberID    string `json:"blobber_id"`
    16  	Timestamp    int64  `json:"timestamp"`
    17  	ClientID     string `json:"client_id"`
    18  	Signature    string `json:"signature"`
    19  }
    20  
    21  func (dt *DeleteToken) GetHash() string {
    22  	sigData := fmt.Sprintf("%v:%v:%v:%v:%v:%v:%v", dt.FileRefHash, dt.FilePathHash, dt.AllocationID, dt.BlobberID, dt.ClientID, dt.Size, dt.Timestamp)
    23  	return encryption.Hash(sigData)
    24  }
    25  
    26  func (dt *DeleteToken) Sign() error {
    27  	var err error
    28  	dt.Signature, err = client.Sign(dt.GetHash())
    29  	return err
    30  }