responses

package
v0.20.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 1, 2023 License: AGPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var InternalErrMsg = "internal system error"

InternalErrMsg is the common response returned to the user when an InternalError occurs

Functions

func DecodeResponse

func DecodeResponse[T any](encoded []byte) (*T, error)

DecodeResponse - Extracts the user response from a decrypted bytes field and returns the result or nil and optional error.

func ToInternalError

func ToInternalError(err error) error

ToInternalError - Converts an error to an InternalError

Types

type Balance

type Balance = EnclaveResponse // The response for an RPC getBalance request, as a JSON object encrypted with the viewing key of the user.

type BalanceType

type BalanceType = hexutil.Big

type Call

type Call = EnclaveResponse // As above, but for an RPC call request.

type CallType

type CallType = string

type EnclaveResponse

type EnclaveResponse struct {
	EncUserResponse EncryptedUserResponse
	Err             *string
}

The response that the enclave returns for sensitive API calls The user response is encrypted while the error is in plaintext

func AsEmptyResponse

func AsEmptyResponse() *EnclaveResponse

AsEmptyResponse - Creates an empty enclave response. Useful for when no error encountered but also no result found.

func AsEncryptedError

func AsEncryptedError(err error, encrypt *vkhandler.VKHandler) *EnclaveResponse

AsEncryptedError - Encodes and encrypts an error to be returned for a concrete user.

func AsEncryptedResponse

func AsEncryptedResponse[T any](data *T, encryptHandler *vkhandler.VKHandler) *EnclaveResponse

AsEncryptedResponse - wraps the data passed into the proper format, serializes it and encrypts it. It is then encoded in a plaintext response.

func AsPlaintextError

func AsPlaintextError(err error) *EnclaveResponse

AsPlaintextError - generates a plaintext response containing a visible to the host error.

func AsPlaintextResponse

func AsPlaintextResponse(encResp EncryptedUserResponse) *EnclaveResponse

AsPlaintextResponse - creates the plaintext part of the enclave response It would be visible that there is an enclave response, but the bytes in it will still be encrypted

func AsSystemErr

func AsSystemErr() *EnclaveResponse

AsSystemErr - generates a plaintext response containing a visible error.

func ToEnclaveResponse

func ToEnclaveResponse(encoded []byte) *EnclaveResponse

ToEnclaveResponse - Converts an encoded plaintext into an enclave response

func (*EnclaveResponse) Encode

func (er *EnclaveResponse) Encode() []byte

Encode - serializes the enclave response into a json

func (*EnclaveResponse) Error

func (er *EnclaveResponse) Error() error

type EncryptedUserResponse

type EncryptedUserResponse []byte

This is the encoded & encrypted form of a UserResponse[Type]

type Gas

type Gas = EnclaveResponse // As above, but for an RPC estimateGas response.

type GasType

type GasType = hexutil.Uint64

type Logs

type Logs = EnclaveResponse

type LogsType

type LogsType = []*types.Log

type NonceType

type NonceType = string

type PrivateQueryResponse

type PrivateQueryResponse = EnclaveResponse

type RawTx

type RawTx = EnclaveResponse // As above, but for an RPC sendRawTransaction request.

type RawTxType

type RawTxType = common.Hash

type ReceiptType

type ReceiptType = types.Receipt

type Receipts

type Receipts = EnclaveResponse

type TxByHash

type TxByHash = EnclaveResponse // As above, but for an RPC getTransactionByHash request.

type TxCount

type TxCount = EnclaveResponse // As above, but for an RPC getTransactionCount request.

type TxReceipt

type TxReceipt = EnclaveResponse // As above, but for an RPC getTransactionReceipt request.

type TxType

type TxType = types.Transaction

type UserResponse

type UserResponse[T any] struct {
	Result *T
	ErrStr *string
}

UserResponse - The response struct that contains either data or result which will be decoded only on the client side.

func (*UserResponse[T]) Error

func (ur *UserResponse[T]) Error() error

Error - converts the encoded string in the response into a normal error and returns it.

type ViewingKeyEncryptor

type ViewingKeyEncryptor func([]byte) ([]byte, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL