Set LayerZero DVN configuration
Configure DVN settings for LayerZero adapters. This endpoint sets up the DVN configuration for message verification between source and destination adapters.
POST
/
tokenization
/
multichain
/
bridge
/
layerzero
/
config
/
dvns
TypeScript
const response: Promise<FireblocksResponse<SetLayerZeroDvnConfigResponse>> = fireblocks.tokenization.setLayerZeroDvnConfig(tokenizationApiSetLayerZeroDvnConfigRequest);CompletableFuture<ApiResponse<SetLayerZeroDvnConfigResponse>> response = fireblocks.tokenization().setLayerZeroDvnConfig(setLayerZeroDvnConfigRequest, idempotencyKey);response = fireblocks.tokenization.set_layer_zero_dvn_config(set_layer_zero_dvn_config_request, idempotency_key);curl --request POST \
--url https://api.fireblocks.io/v1/tokenization/multichain/bridge/layerzero/config/dvns \
--header 'Content-Type: application/json' \
--data '
{
"vaultAccountId": "0",
"sourceAdapterTokenLinkId": "b70701f4-d7b1-4795-a8ee-b09cdb5b850d",
"destinationAdapterTokenLinkId": "6add4f2a-b206-4114-8f94-2882618ffbb4",
"sendConfig": {
"dvnAddresses": [
1.0284746938594775e+54,
2.5101940177441514e+50
],
"optionalThreshold": 2,
"optionalDVNAddresses": [
1.334824162533763e+54
]
},
"receiveConfig": {
"dvnAddresses": [
1.0284746938594775e+54,
2.5101940177441514e+50
],
"optionalThreshold": 2,
"optionalDVNAddresses": [
1.334824162533763e+54
]
}
}
'const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
vaultAccountId: '0',
sourceAdapterTokenLinkId: 'b70701f4-d7b1-4795-a8ee-b09cdb5b850d',
destinationAdapterTokenLinkId: '6add4f2a-b206-4114-8f94-2882618ffbb4',
sendConfig: {
dvnAddresses: [1.0284746938594775e+54, 2.5101940177441514e+50],
optionalThreshold: 2,
optionalDVNAddresses: [1.334824162533763e+54]
},
receiveConfig: {
dvnAddresses: [1.0284746938594775e+54, 2.5101940177441514e+50],
optionalThreshold: 2,
optionalDVNAddresses: [1.334824162533763e+54]
}
})
};
fetch('https://api.fireblocks.io/v1/tokenization/multichain/bridge/layerzero/config/dvns', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fireblocks.io/v1/tokenization/multichain/bridge/layerzero/config/dvns",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'vaultAccountId' => '0',
'sourceAdapterTokenLinkId' => 'b70701f4-d7b1-4795-a8ee-b09cdb5b850d',
'destinationAdapterTokenLinkId' => '6add4f2a-b206-4114-8f94-2882618ffbb4',
'sendConfig' => [
'dvnAddresses' => [
1.0284746938594775e+54,
2.5101940177441514e+50
],
'optionalThreshold' => 2,
'optionalDVNAddresses' => [
1.334824162533763e+54
]
],
'receiveConfig' => [
'dvnAddresses' => [
1.0284746938594775e+54,
2.5101940177441514e+50
],
'optionalThreshold' => 2,
'optionalDVNAddresses' => [
1.334824162533763e+54
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fireblocks.io/v1/tokenization/multichain/bridge/layerzero/config/dvns"
payload := strings.NewReader("{\n \"vaultAccountId\": \"0\",\n \"sourceAdapterTokenLinkId\": \"b70701f4-d7b1-4795-a8ee-b09cdb5b850d\",\n \"destinationAdapterTokenLinkId\": \"6add4f2a-b206-4114-8f94-2882618ffbb4\",\n \"sendConfig\": {\n \"dvnAddresses\": [\n 1.0284746938594775e+54,\n 2.5101940177441514e+50\n ],\n \"optionalThreshold\": 2,\n \"optionalDVNAddresses\": [\n 1.334824162533763e+54\n ]\n },\n \"receiveConfig\": {\n \"dvnAddresses\": [\n 1.0284746938594775e+54,\n 2.5101940177441514e+50\n ],\n \"optionalThreshold\": 2,\n \"optionalDVNAddresses\": [\n 1.334824162533763e+54\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://api.fireblocks.io/v1/tokenization/multichain/bridge/layerzero/config/dvns")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"vaultAccountId\": \"0\",\n \"sourceAdapterTokenLinkId\": \"b70701f4-d7b1-4795-a8ee-b09cdb5b850d\",\n \"destinationAdapterTokenLinkId\": \"6add4f2a-b206-4114-8f94-2882618ffbb4\",\n \"sendConfig\": {\n \"dvnAddresses\": [\n 1.0284746938594775e+54,\n 2.5101940177441514e+50\n ],\n \"optionalThreshold\": 2,\n \"optionalDVNAddresses\": [\n 1.334824162533763e+54\n ]\n },\n \"receiveConfig\": {\n \"dvnAddresses\": [\n 1.0284746938594775e+54,\n 2.5101940177441514e+50\n ],\n \"optionalThreshold\": 2,\n \"optionalDVNAddresses\": [\n 1.334824162533763e+54\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"txnIds": [
"<string>"
]
}{
"error": {
"type": "VALIDATION",
"message": "Invalid input data or parameters"
}
}{
"error": {
"type": "NOT_FOUND",
"message": "The specified token link was not found"
}
}{
"error": {
"type": "UNPROCESSABLE_ENTITY",
"message": "An error occurred during token link preparation"
}
}{
"error": {
"type": "NOT_FOUND",
"message": "Bridging to the specified blockchain is not supported"
}
}{
"error": {
"type": "INTERNAL",
"message": "An unexpected error occurred during execution. Please try again later."
}
}Headers
A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
Body
application/json
Vault account that pays gas
Example:
"0"
Source adapter TokenLink ID
Example:
"b70701f4-d7b1-4795-a8ee-b09cdb5b850d"
Destination adapter TokenLink ID
Example:
"6add4f2a-b206-4114-8f94-2882618ffbb4"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Response
LayerZero DVN configuration set successfully
Transaction IDs submitted to the network
Was this page helpful?
Previous
Set LayerZero peersSet LayerZero peers to establish connections between adapter contracts. This endpoint creates peer relationships that enable cross-chain communication. It sets the destination adapter as a peer of the source adapter. If `bidirectional` is true, it also sets the source adapter as a peer of the destination adapter(s).
Next
⌘I
TypeScript
const response: Promise<FireblocksResponse<SetLayerZeroDvnConfigResponse>> = fireblocks.tokenization.setLayerZeroDvnConfig(tokenizationApiSetLayerZeroDvnConfigRequest);CompletableFuture<ApiResponse<SetLayerZeroDvnConfigResponse>> response = fireblocks.tokenization().setLayerZeroDvnConfig(setLayerZeroDvnConfigRequest, idempotencyKey);response = fireblocks.tokenization.set_layer_zero_dvn_config(set_layer_zero_dvn_config_request, idempotency_key);curl --request POST \
--url https://api.fireblocks.io/v1/tokenization/multichain/bridge/layerzero/config/dvns \
--header 'Content-Type: application/json' \
--data '
{
"vaultAccountId": "0",
"sourceAdapterTokenLinkId": "b70701f4-d7b1-4795-a8ee-b09cdb5b850d",
"destinationAdapterTokenLinkId": "6add4f2a-b206-4114-8f94-2882618ffbb4",
"sendConfig": {
"dvnAddresses": [
1.0284746938594775e+54,
2.5101940177441514e+50
],
"optionalThreshold": 2,
"optionalDVNAddresses": [
1.334824162533763e+54
]
},
"receiveConfig": {
"dvnAddresses": [
1.0284746938594775e+54,
2.5101940177441514e+50
],
"optionalThreshold": 2,
"optionalDVNAddresses": [
1.334824162533763e+54
]
}
}
'const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
vaultAccountId: '0',
sourceAdapterTokenLinkId: 'b70701f4-d7b1-4795-a8ee-b09cdb5b850d',
destinationAdapterTokenLinkId: '6add4f2a-b206-4114-8f94-2882618ffbb4',
sendConfig: {
dvnAddresses: [1.0284746938594775e+54, 2.5101940177441514e+50],
optionalThreshold: 2,
optionalDVNAddresses: [1.334824162533763e+54]
},
receiveConfig: {
dvnAddresses: [1.0284746938594775e+54, 2.5101940177441514e+50],
optionalThreshold: 2,
optionalDVNAddresses: [1.334824162533763e+54]
}
})
};
fetch('https://api.fireblocks.io/v1/tokenization/multichain/bridge/layerzero/config/dvns', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fireblocks.io/v1/tokenization/multichain/bridge/layerzero/config/dvns",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'vaultAccountId' => '0',
'sourceAdapterTokenLinkId' => 'b70701f4-d7b1-4795-a8ee-b09cdb5b850d',
'destinationAdapterTokenLinkId' => '6add4f2a-b206-4114-8f94-2882618ffbb4',
'sendConfig' => [
'dvnAddresses' => [
1.0284746938594775e+54,
2.5101940177441514e+50
],
'optionalThreshold' => 2,
'optionalDVNAddresses' => [
1.334824162533763e+54
]
],
'receiveConfig' => [
'dvnAddresses' => [
1.0284746938594775e+54,
2.5101940177441514e+50
],
'optionalThreshold' => 2,
'optionalDVNAddresses' => [
1.334824162533763e+54
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fireblocks.io/v1/tokenization/multichain/bridge/layerzero/config/dvns"
payload := strings.NewReader("{\n \"vaultAccountId\": \"0\",\n \"sourceAdapterTokenLinkId\": \"b70701f4-d7b1-4795-a8ee-b09cdb5b850d\",\n \"destinationAdapterTokenLinkId\": \"6add4f2a-b206-4114-8f94-2882618ffbb4\",\n \"sendConfig\": {\n \"dvnAddresses\": [\n 1.0284746938594775e+54,\n 2.5101940177441514e+50\n ],\n \"optionalThreshold\": 2,\n \"optionalDVNAddresses\": [\n 1.334824162533763e+54\n ]\n },\n \"receiveConfig\": {\n \"dvnAddresses\": [\n 1.0284746938594775e+54,\n 2.5101940177441514e+50\n ],\n \"optionalThreshold\": 2,\n \"optionalDVNAddresses\": [\n 1.334824162533763e+54\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://api.fireblocks.io/v1/tokenization/multichain/bridge/layerzero/config/dvns")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"vaultAccountId\": \"0\",\n \"sourceAdapterTokenLinkId\": \"b70701f4-d7b1-4795-a8ee-b09cdb5b850d\",\n \"destinationAdapterTokenLinkId\": \"6add4f2a-b206-4114-8f94-2882618ffbb4\",\n \"sendConfig\": {\n \"dvnAddresses\": [\n 1.0284746938594775e+54,\n 2.5101940177441514e+50\n ],\n \"optionalThreshold\": 2,\n \"optionalDVNAddresses\": [\n 1.334824162533763e+54\n ]\n },\n \"receiveConfig\": {\n \"dvnAddresses\": [\n 1.0284746938594775e+54,\n 2.5101940177441514e+50\n ],\n \"optionalThreshold\": 2,\n \"optionalDVNAddresses\": [\n 1.334824162533763e+54\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"txnIds": [
"<string>"
]
}{
"error": {
"type": "VALIDATION",
"message": "Invalid input data or parameters"
}
}{
"error": {
"type": "NOT_FOUND",
"message": "The specified token link was not found"
}
}{
"error": {
"type": "UNPROCESSABLE_ENTITY",
"message": "An error occurred during token link preparation"
}
}{
"error": {
"type": "NOT_FOUND",
"message": "Bridging to the specified blockchain is not supported"
}
}{
"error": {
"type": "INTERNAL",
"message": "An unexpected error occurred during execution. Please try again later."
}
}