View Source DiodeClient.OasisSapphire (Diode Client v1.3.4)

Oasis Sapphire Query Call Signing https://github.com/oasisprotocol/oasis-sdk/blob/main/client-sdk/go/modules/evm/signed_calls.go

Summary

Functions

decrypt_data_pack_response(data_pack, response)

encrypt_data(data_bytes)

Based on https://github.com/oasisprotocol/sapphire-paratime/blob/main/clients/js/src/provider.ts

Use this function to encrypt data for these rpc requests:

  • eth_sendTransaction
  • eth_signTransaction
  • eth_estimateGas

For eth_call, use new_signed_call_data_pack/3 instead if possible.

make_envelope(cipher, plaintext)

new_signed_call_data_pack(account_wallet, data_bytes, opts \\ [])

This function provides a signed AND encrypted call data pack for sending authenticated and encrypted eth_call rpc requests.

Extra authentication is needed for the eth_call to ensure the caller is authorized to make the request (and authorized to read the results of the call).

This function is not for sending transaction to the chain, as those are signed independently by the caller, and so no extra authentication is needed.

To encrypt transaction data, use encrypt_data/1.

oasis_call_data_public_key()