Snakepath
  • Introduction
  • High-Level Architecture
  • Relayer
    • Relayer Interface Architecture
    • Relayer worker architecture
    • Relayer Autogenerated Python Documentation
  • Private Gateway
    • Private Gateway
    • Private Computation Contract
  • Public Gateway
    • Gateway
    • Client
Powered by GitBook
On this page
  • Init Message:
  • Handle Message:
  • Handle Response:
  • Data Structs:
  1. Private Gateway

Private Computation Contract

The private computation contract is a CosmWasm smart contract running on Secret Network. It implements the following interface:

Init Message:

/// Include parameters to link this contract with the Private Gateway
pub struct State {
    pub gateway_address: HumanAddr,
    pub gateway_hash: String,
    pub gateway_key: Binary,
}

Handle Message:

/// See Private Gateway docs for PrivContractHandleMsg definition.
pub enum HandleMsg {
    Input { message: PrivContractHandleMsg },
}

Handle Response:

/// Define a struct for each handle message response. Example:
pub struct ScoreResponse {
    pub name: String,
    pub result: String,
}

Data Structs:

/// Define a struct for whatever parameters the contract needs. Example:
pub struct Input {
    /// User Ethereum address.
    pub address: String,
    /// User name (optional).
    pub name: Option<String>,
    /// Arbitary data (per use case).
    pub field_1: u32,
    pub field_2: u32,
    pub field_3: u32,
}
PreviousPrivate GatewayNextPublic Gateway

Last updated 2 years ago