/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
| Name | Type | Req. | Description |
|---|---|---|---|
| oracle_pubkey | string | yes | 32-byte x-only oracle pubkey (hex) |
| attestation | object | yes | 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
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