Add Remote field to SmartContractCreateRequest and GrpcConnectionInfo struct to SmartContract model for remote smart contract execution via gRPC.
168 lines
4.8 KiB
Go
Executable File
168 lines
4.8 KiB
Go
Executable File
package models
|
|
|
|
const (
|
|
ContentTypeJSON = "application/json"
|
|
)
|
|
|
|
type TransactionCreateRequest struct {
|
|
Version string `json:"version,omitempty"`
|
|
TxnType string `json:"txn_type"`
|
|
Payload string `json:"payload"`
|
|
Tag string `json:"tag,omitempty"`
|
|
}
|
|
|
|
type TransactionCreateResponse struct {
|
|
TransactionID string `json:"transaction_id"`
|
|
}
|
|
|
|
type TransactionBulkRequest struct {
|
|
Transactions []TransactionCreateRequest `json:"transactions"`
|
|
}
|
|
|
|
type TransactionBulkResponse struct {
|
|
TransactionIDs []string `json:"transaction_ids"`
|
|
}
|
|
|
|
type TransactionListResponse struct {
|
|
TransactionTypes []*TransactionType `json:"transactionTypes"`
|
|
}
|
|
|
|
type Transaction struct {
|
|
Version string `json:"version"`
|
|
Header TransactionHeader `json:"header"`
|
|
Proof TransactionProof `json:"proof"`
|
|
Payload string `json:"payload"`
|
|
}
|
|
|
|
type TransactionHeader struct {
|
|
Tag string `json:"tag"`
|
|
DcId string `json:"dc_id"`
|
|
TxnId string `json:"txn_id"`
|
|
Invoker string `json:"invoker"`
|
|
BlockId string `json:"block_id"`
|
|
TxnType string `json:"txn_type"`
|
|
Timestamp string `json:"timestamp"`
|
|
}
|
|
|
|
type TransactionProof struct {
|
|
Full string `json:"full"`
|
|
Stripped string `json:"stripped"`
|
|
}
|
|
|
|
type ListTransactionsResponse struct {
|
|
Transactions []Transaction `json:"transactions"`
|
|
}
|
|
|
|
type TransactionTypeCreateRequest struct {
|
|
Version string `json:"version,omitempty"`
|
|
TxnType string `json:"txn_type"`
|
|
}
|
|
|
|
type TransactionTypeCreateResponse struct {
|
|
Success bool `json:"success"`
|
|
}
|
|
|
|
type TransactionType struct {
|
|
Version string `json:"version"`
|
|
Created int64 `json:"created"`
|
|
Modified int64 `json:"modified"`
|
|
TxnType string `json:"txn_type"`
|
|
ContractID string `json:"contract_id,omitempty"`
|
|
CustomIndexes []interface{} `json:"custom_indexes"`
|
|
ActiveSinceBlock string `json:"active_since_block"`
|
|
}
|
|
|
|
type SmartContractCreateRequest struct {
|
|
Environment string `json:"environment"`
|
|
TransactionType string `json:"transactionType"`
|
|
ExecutionOrder string `json:"executionOrder"`
|
|
EnvironmentVariables map[string]string `json:"environmentVariables,omitempty"`
|
|
Secrets map[string]string `json:"secret,omitempty"`
|
|
Remote bool `json:"remote,omitempty"`
|
|
}
|
|
|
|
type SmartContractUpdateRequest struct {
|
|
Version string `json:"version,omitempty"`
|
|
Enabled bool `json:"enabled"`
|
|
EnvironmentVariables map[string]string `json:"environmentVariables,omitempty"`
|
|
Secrets map[string]string `json:"secret,omitempty"`
|
|
}
|
|
|
|
type SmartContract struct {
|
|
Id string `json:"id"`
|
|
Created uint64 `json:"created"`
|
|
Modified uint64 `json:"modified"`
|
|
|
|
Version string `json:"version"`
|
|
Environment string `json:"environment"`
|
|
TransactionType string `json:"transactionType"`
|
|
ExecutionOrder string `json:"executionOrder"`
|
|
|
|
ExecutionInfo *SmartContractExecutionInfo `json:"executionInfo"`
|
|
|
|
EnvVars map[string]string `json:"envVars"`
|
|
Secrets []string `json:"secrets"`
|
|
|
|
GrpcConnectionInfo *GrpcConnectionInfo `json:"grpcConnectionInfo,omitempty"`
|
|
}
|
|
|
|
type GrpcConnectionInfo struct {
|
|
Address string `json:"address"`
|
|
ApiKey string `json:"apiKey,omitempty"`
|
|
}
|
|
|
|
type SmartContractExecutionInfo struct {
|
|
Type string `json:"type"`
|
|
|
|
// LocalExecutable type
|
|
ExecutablePath string `json:"executablePath"`
|
|
ExecutableWorkingDirectory string `json:"executableWorkingDirectory"`
|
|
ExecutableHash string `json:"executableHash"`
|
|
}
|
|
|
|
type Block struct {
|
|
Version string `json:"version"`
|
|
ID string `json:"block_id"`
|
|
Timestamp string `json:"timestamp"`
|
|
PrevID string `json:"prev_id"`
|
|
PrevProof string `json:"prev_proof"`
|
|
Transactions []string `json:"transactions"`
|
|
Proof BlockProof `json:"proof"`
|
|
}
|
|
|
|
type BlockProof struct {
|
|
Scheme string `json:"scheme"`
|
|
Proof string `json:"proof"`
|
|
Nonce int64 `json:"nonce,omitempty"`
|
|
}
|
|
|
|
type SystemStatus struct {
|
|
ID string `json:"id"`
|
|
Level int `json:"level"`
|
|
URL string `json:"url"`
|
|
HashAlgo string `json:"hashAlgo"`
|
|
Scheme string `json:"scheme"`
|
|
Version string `json:"version"`
|
|
EncryptionAlgo string `json:"encryptionAlgo"`
|
|
IndexingEnabled bool `json:"indexingEnabled"`
|
|
|
|
// Level 5 Node
|
|
Funded string `json:"funded,omitempty"`
|
|
BroadcastInterval string `json:"broadcastInterval,omitempty"`
|
|
Network string `json:"network,omitempty"`
|
|
InterchainWallet string `json:"interchainWallet,omitempty"`
|
|
}
|
|
|
|
type SuccessResponse struct {
|
|
Success bool `json:"success"`
|
|
}
|
|
|
|
type ErrorResponse struct {
|
|
Error string `json:"error"`
|
|
}
|
|
|
|
type ListResponse struct {
|
|
Items []interface{} `json:"items"`
|
|
TotalCount int `json:"total_count"`
|
|
}
|