Tezos (XTZ)

SDK functions on Tezos protocol

Stake

Craft a delegation transaction to the baker address provided. A tezos delegation takes ~23 days before becoming active.

const tx = await k.xtz.craftStakeTx('account_id', 'wallet_address', 'baker_address');

Unstake

Craft an undelegate transaction.

const tx = await k.xtz.craftUnstakeTx('wallet_address');

Sign

Sign a transaction by specifying the integration and the crafted transaction.

Here is an example showing how to sign a transaction with a fireblocks vault.

Checkout the setup fireblocks documentation to setup your vault.

import { Integration } from "@kilnfi/sdk/lib/types/integrations";
const fs = require('fs');
const apiSecret = fs.readFileSync(__dirname + '/fireblocks_secret.key', 'utf8');

const vault: Integration = {
      provider: 'fireblocks',
      fireblocksApiKey: 'YOUR_API_USER_KEY', // your fireblocks API user key
      fireblocksSecretKey: apiSecret, // your fireblocks private key (generated with your CSR file and your API user)
      vaultId: 7 // your fireblocks vault id
};
const txSigned = await k.xtz.sign(vault, tx);

Broadcast

Broadcast a signed transaction.

const txHash = await k.xtz.broadcast(txSigned);

Get transaction status

Get the transaction status of a broadcasted transaction by providing its block number and transaction hash.

const status = await k.xtz.getTxStatus(blockNumber, 'tx_hash');

Decode transaction

Decode a serialized transaction previously crafted. You can use this to get more information about a transaction prior to broadcast it such as the gas fees used, the function parameters etc.

const decodedTx = await k.xtz.decodeTx('tx_serialized');

Get stakes

Get stakes real time data. You can get stakes by Kiln accounts or by wallets.

const stakes = await k.xtz.getStakesByAccounts(['771254de-ac5a-4911-afdf-1d5b7e802dc9']);
const stakes = await k.xtz.getStakesByWallets(['tz1QQZKGt3ouyd7x8JUDwcvRyxzsmD7CFbMd']);

Get rewards

Get historical rewards data by day. You can get rewards aggregated by Kiln accounts or by wallets.

const rewards = await k.xtz.getRewardsByAccounts(['771254de-ac5a-4911-afdf-1d5b7e802dc9']);
const rewards = await k.xtz.getRewardsByWallets(['tz1QQZKGt3ouyd7x8JUDwcvRyxzsmD7CFbMd']);

Get network stats

Get some network stats.

const stats = await k.xtz.getNetworkStats();

Last updated