Language

Choose a language

/build/rpc / cosign / cross_chain

cosign.eth_verify_attestation

cosign.eth_verify_attestation "oracle_pubkey" {"version":n,"swap_id":"str","event_type":"str","tx_hash":"str","block_number":n,"block_hash":"str","contract_address":"str","token_address":"str","amount":"str","recipient":"str","secret_hash":"str","timelock":n,"confirmation_depth":n,"attested_at":n,"attestation_hash":"str","signature":"str"} Verify an oracle attestation for an HTLC event. Arguments: 1. oracle_pubkey (string, required) 32-byte x-only oracle pubkey (hex) 2. attestation (json object, required) Oracle attestation object { "version": n, (numeric, required) Attestation version "swap_id": "str", (string, required) Swap ID "event_type": "str", (string, required) Event type "tx_hash": "str", (string, required) Transaction hash "block_number": n, (numeric, required) Block number "block_hash": "str", (string, required) Block hash "contract_address": "str", (string, required) Contract address "token_address": "str", (string, required) Token address "amount": "str", (string, required) Amount "recipient": "str", (string, required) Recipient "secret_hash": "str", (string, required) Secret hash "timelock": n, (numeric, required) Timelock "confirmation_depth": n, (numeric, required) Confirmation depth "attested_at": n, (numeric, required) Attestation timestamp "attestation_hash": "str", (string, required) SHA256 of canonical fields "signature": "str", (string, required) Schnorr signature } Result: { (json object) "valid" : true|false, (boolean) Whether attestation is valid "swap_id" : "str", (string) Swap ID from attestation "confirmation_depth" : n (numeric) Confirmation depth } Examples: > bitcoin-cli cosign.eth_verify_attestation "oracle_pubkey_hex" {attestation_json}

Signature

cosign.eth_verify_attestation(oracle_pubkey: string, attestation: object) → any

Code samples

curl --user "$RPC_USER:$RPC_PASS" \
  --data-binary '{"jsonrpc":"1.0","id":"docs","method":"cosign.eth_verify_attestation","params":["\"<oracle_pubkey>\"",{}]}' \
  -H 'content-type: text/plain;' \
  http://127.0.0.1:8332/

Parameters

NameTypeReq.Description
oracle_pubkeystringyes32-byte x-only oracle pubkey (hex)
attestationobjectyesOracle attestation object { "version": n, (numeric, required) Attestation version "swap_id": "str", (string, required) Swap ID "event_type": "str", (string, required) Event type "tx_hash": "str", (string, required) Transaction hash "block_number": n, (numeric, required) Block number "block_hash": "str", (string, required) Block hash "contract_address": "str", (string, required) Contract address "token_address": "str", (string, required) Token address "amount": "str", (string, required) Amount "recipient": "str", (string, required) Recipient "secret_hash": "str", (string, required) Secret hash "timelock": n, (numeric, required) Timelock "confirmation_depth": n, (numeric, required) Confirmation depth "attested_at": n, (numeric, required) Attestation timestamp "attestation_hash": "str", (string, required) SHA256 of canonical fields "signature": "str", (string, required) Schnorr signature }

Result

Type:  any

{ (json object) "valid" : true|false, (boolean) Whether attestation is valid "swap_id" : "str", (string) Swap ID from attestation "confirmation_depth" : n (numeric) Confirmation depth }

Source: services/core-node/bcore/src/rpc/cosign.cpp:3541

C++ symbol: cosign_eth_verify_attestation