github.com/kisexp/xdchain@v0.0.0-20211206025815-490d6b732aa7/private/engine/tessera/model.go (about) 1 package tessera 2 3 import "github.com/kisexp/xdchain/private/engine" 4 5 // request object for /send API 6 type sendRequest struct { 7 Payload []byte `json:"payload"` 8 9 // base64-encoded 10 From string `json:"from,omitempty"` 11 12 To []string `json:"to"` 13 14 // Transactions' encrypted payload hashes for affected contracts 15 AffectedContractTransactions []string `json:"affectedContractTransactions"` 16 17 // Merkle root for affected contracts 18 ExecHash string `json:"execHash,omitempty"` 19 20 PrivacyFlag engine.PrivacyFlagType `json:"privacyFlag"` 21 22 MandatoryRecipients []string `json:"mandatoryRecipients"` 23 } 24 25 // request object for /send API 26 type storerawRequest struct { 27 Payload []byte `json:"payload"` 28 29 // base64-encoded 30 From string `json:"from,omitempty"` 31 } 32 33 // response object for /send API 34 type sendResponse struct { 35 // Base64-encoded 36 Key string `json:"key"` 37 // Public Keys 38 ManagedParties []string `json:"managedParties"` 39 // Sender tessera public key 40 SenderKey string `json:"senderKey"` 41 } 42 43 type receiveResponse struct { 44 Payload []byte `json:"payload"` 45 46 // Transactions' encrypted payload hashes for affected contracts 47 AffectedContractTransactions []string `json:"affectedContractTransactions"` 48 49 // Merkle root for affected contracts 50 ExecHash string `json:"execHash"` 51 52 PrivacyFlag engine.PrivacyFlagType `json:"privacyFlag"` 53 54 // Public Keys 55 ManagedParties []string `json:"managedParties"` 56 // Sender tessera public key 57 SenderKey string `json:"senderKey"` 58 } 59 60 type sendSignedTxRequest struct { 61 Hash []byte `json:"hash"` 62 To []string `json:"to"` 63 // Transactions' encrypted payload hashes for affected contracts 64 AffectedContractTransactions []string `json:"affectedContractTransactions"` 65 // Merkle root for affected contracts 66 ExecHash string `json:"execHash,omitempty"` 67 68 PrivacyFlag engine.PrivacyFlagType `json:"privacyFlag"` 69 70 MandatoryRecipients []string `json:"mandatoryRecipients"` 71 } 72 73 type sendSignedTxResponse struct { 74 // Base64-encoded 75 Key string `json:"key"` 76 // Public Keys 77 ManagedParties []string `json:"managedParties"` 78 // Sender tessera public key 79 SenderKey string `json:"senderKey"` 80 } 81 82 type encryptPayloadResponse struct { 83 SenderKey []byte `json:"senderKey"` 84 CipherText []byte `json:"cipherText"` 85 CipherTextNonce []byte `json:"cipherTextNonce"` 86 RecipientBoxes []string `json:"recipientBoxes"` 87 RecipientNonce []byte `json:"recipientNonce"` 88 RecipientKeys []string `json:"recipientKeys"` 89 } 90 91 type decryptPayloadRequest struct { 92 SenderKey []byte `json:"senderKey"` 93 CipherText []byte `json:"cipherText"` 94 CipherTextNonce []byte `json:"cipherTextNonce"` 95 RecipientBoxes []string `json:"recipientBoxes"` 96 RecipientNonce []byte `json:"recipientNonce"` 97 RecipientKeys []string `json:"recipientKeys"` 98 }