Julien Riou
ebbd4ac2cd
- Return bytes for each request to the Flexpool API - Delegate JSON marshalling the higher functions - Use int64 when possible BREAKING CHANGE: database structure has to be updated to use integer instead of real. Please follow instructions to upgrade from 1.0 to 1.1. Signed-off-by: Julien Riou <julien@riou.xyz>
45 lines
860 B
Go
45 lines
860 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// Pool to store pool attributes
|
|
type Pool struct {
|
|
gorm.Model
|
|
Coin string `gorm:"unique;not null"`
|
|
LastBlockNumber int64
|
|
}
|
|
|
|
// NewPool creates a Pool
|
|
func NewPool(coin string) *Pool {
|
|
return &Pool{Coin: coin}
|
|
}
|
|
|
|
// String represents Pool to a printable format
|
|
func (p *Pool) String() string {
|
|
return fmt.Sprintf("Pool<%s>", p.Coin)
|
|
}
|
|
|
|
// Block to store block attributes
|
|
type Block struct {
|
|
Hash string `gorm:"unique;not null"`
|
|
Number int64 `gorm:"not null"`
|
|
Reward int64 `gorm:"not null"`
|
|
}
|
|
|
|
// NewBlock creates a Block
|
|
func NewBlock(hash string, number int64, reward int64) *Block {
|
|
return &Block{
|
|
Hash: hash,
|
|
Number: number,
|
|
Reward: reward,
|
|
}
|
|
}
|
|
|
|
// String represents Block to a printable format
|
|
func (b *Block) String() string {
|
|
return fmt.Sprintf("Block<%d>", b.Number)
|
|
}
|