github.com/condensat/bank-core@v0.1.0/database/model/swapinfo.go (about)

     1  // Copyright 2020 Condensat Tech. All rights reserved.
     2  // Use of this source code is governed by a MIT
     3  // license that can be found in the LICENSE file.
     4  
     5  package model
     6  
     7  import (
     8  	"time"
     9  )
    10  
    11  type SwapInfoID ID
    12  type SwapStatus String
    13  type Payload String
    14  
    15  const (
    16  	SwapStatusProposed  SwapStatus = "proposed"
    17  	SwapStatusAccepted  SwapStatus = "accepted"
    18  	SwapStatusFinalized SwapStatus = "finalized"
    19  	SwapStatusCompleted SwapStatus = "completed"
    20  	SwapStatusCanceled  SwapStatus = "canceled"
    21  )
    22  
    23  type SwapInfo struct {
    24  	ID        SwapInfoID `gorm:"primary_key"`
    25  	Timestamp time.Time  `gorm:"index;not null;type:timestamp"` // Creation timestamp
    26  	SwapID    SwapID     `gorm:"index;not null"`                // [FK] Reference to Swap table
    27  	Status    SwapStatus `gorm:"index;not null;size:16"`        // SwapStatus [proposed, accepted, finalized, completed, canceled]
    28  	Payload   Payload    `gorm:"type:blob;not null"`            // Payload swap data
    29  }