mirror of
https://github.com/kevin-DL/services.git
synced 2026-01-11 10:54:28 +00:00
107 lines
3.5 KiB
Go
107 lines
3.5 KiB
Go
package domain
|
|
|
|
type AssetsResponse struct {
|
|
Assets []*Asset `json:"assets"`
|
|
}
|
|
|
|
type CollectionsResponse struct {
|
|
Collections []*Collection `json:"collections"`
|
|
}
|
|
|
|
type Asset struct {
|
|
Id int32 `json:"id"`
|
|
TokenId string `json:"token_id"`
|
|
Sales int32 `json:"num_sales"`
|
|
ImageUrl string `json:"image_url"`
|
|
Name string `json:"name"`
|
|
Description string `json:"description"`
|
|
Permalink string `json:"permalink"`
|
|
Contract *Contract `json:"asset_contract"`
|
|
Collection *Collection `json:"collection"`
|
|
Creator *User `json:"creator"`
|
|
Owner *User `json:"owner"`
|
|
LastSale *Sale `json:"last_sale,omitempty"`
|
|
Presale bool `json:"is_presale"`
|
|
ListingDate string `json:"listing_date,omitempty"`
|
|
}
|
|
|
|
type Contract struct {
|
|
// name of contract
|
|
Name string `json:"name,omitempty"`
|
|
// ethereum address
|
|
Address string `json:"address,omitempty"`
|
|
// type of contract e.g "semi-fungible"
|
|
Type string `json:"asset_contract_type,omitempty"`
|
|
// timestamp of creation
|
|
CreatedAt string `json:"created_date,omitempty"`
|
|
// owner id
|
|
Owner int32 `json:"owner,omitempty"`
|
|
// aka "ERC1155"
|
|
Schema string `json:"schema_name,omitempty"`
|
|
// related symbol
|
|
Symbol string `json:"symbol,omitempty"`
|
|
// description of contract
|
|
Description string `json:"description,omitempty"`
|
|
// payout address
|
|
PayoutAddress string `json:"payout_address,omitempty"`
|
|
// seller fees
|
|
SellerFees string `json:"seller_fees_basis_points,omitempty"`
|
|
}
|
|
|
|
type Collection struct {
|
|
Name string `json:"name,omitempty"`
|
|
Description string `json:"description,omitempty"`
|
|
Slug string `json:"slug,omitempty"`
|
|
ImageUrl string `json:"image_url,omitempty"`
|
|
CreatedAt string `json:"created_date,omitempty"`
|
|
PayoutAddress string `json:"payout_address,omitempty"`
|
|
}
|
|
|
|
type User struct {
|
|
User *Username `json:"user"`
|
|
ProfileUrl string `json:"profile_img_url,omitempty"`
|
|
Address string `json:"address,omitempty"`
|
|
}
|
|
|
|
type Username struct {
|
|
Username string `json:"username",omitempty"`
|
|
}
|
|
|
|
type SaleAsset struct {
|
|
TokenId string `json:"token_id"`
|
|
Decimals int32 `json:"decimals"`
|
|
}
|
|
|
|
type Sale struct {
|
|
Asset *SaleAsset `json:"asset"`
|
|
EventType string `json:"event_type,omitempty"`
|
|
EventTimestamp string `json:"event_timestamp,omitempty"`
|
|
TotalPrice string `json:"total_price,omitempty"`
|
|
Quantity string `json:"quantity,omitempty"`
|
|
CreatedAt string `json:"created_date,omitempty"`
|
|
Transaction *Transaction `json:"transaction,omitempty"`
|
|
PaymentToken *Token `json:"payment_token,omitempty"`
|
|
}
|
|
|
|
type Transaction struct {
|
|
Id int32 `json:"id,omitempty"`
|
|
Timestamp string `json:"timestamp,omitempty"`
|
|
BlockHash string `json:"block_hash,omitempty"`
|
|
BlockNumber string `json:"block_number,omitempty"`
|
|
FromAccount *User `json:"from_account,omitempty"`
|
|
ToAccount *User `json:"to_account,omitempty"`
|
|
TransactionHash string `json:"transaction_hash,omitempty"`
|
|
TransactionIndex string `json:"transaction_index,omitempty"`
|
|
}
|
|
|
|
type Token struct {
|
|
Id int32 `json:"id,omitempty"`
|
|
Name string `json:"name,omitempty"`
|
|
Symbol string `json:"symbol,omitempty"`
|
|
Address string `json:"address,omitempty"`
|
|
ImageUrl string `json:"image_url,omitempty"`
|
|
Decimals int32 `json:"decimals,omitempty"`
|
|
EthPrice string `json:"eth_price,omitempty"`
|
|
UsdPrice string `json:"usd_price,omitempty"`
|
|
}
|