跳到正文

sendTransaction · PoolNFT ​

返回 sendTransaction 总览

覆盖 PoolNFT 铸造、初始化、流动性管理、交换和 UTXO 合并。

POOLNFT_MINT ​

铸造 PoolNFT。

ts
const params = [
  {
    flag: "POOLNFT_MINT",         // 必填
    ft_contract_address: "",      // 必填,FT 合约地址
    serverProvider_tag: "",       // 必填,服务提供商标签
    poolNFT_version: 2,           // 可选,强制为 2
    serviceFeeRate: 130,          // 可选;必须与 lpPlan 对应,Plan 6 为 130(1.30%)
    with_lock: false,             // 可选,默认 false;为 true 时创建带哈希锁的池子
    pubKeyLock: ["pubkey1", "pubkey2"], // with_lock 为 true 时必填
    lpCostAddress: "",            // with_lock 为 true 时必填,扣除流动性添加成本的地址
    lpCostAmount: 0,              // with_lock 为 true 时必填,扣除流动性添加成本的 TBC 数量
    lpPlan: 6,                    // 可选,1-6,默认 1
    isLockTime: false,            // 可选,默认 false
    broadcastEnabled: true,       // 可选,默认 true
  },
];

const { txid } = await Turing.sendTransaction(params);
// const { txraw } = await Turing.sendTransaction(params); // broadcastEnabled 为 false 时,返回的 txraw 有两个,用逗号隔开,需批量广播,保证前面的 txraw 先广播
// const { error } = await Turing.sendTransaction(params); // 发生错误时

各方案的规范服务费率(基点)为:Plan 1 = 35、Plan 2 = 35、Plan 3 = 135、Plan 4 = 335、Plan 5 = 535、Plan 6 = 130。省略 serviceFeeRate 时钱包会根据 lpPlan 自动填入;显式传入时必须与所选方案一致。

POOLNFT_INIT ​

初始化 PoolNFT 池。

ts
const params = [
  {
    flag: "POOLNFT_INIT",         // 必填
    nft_contract_address: "",     // 必填,PoolNFT 合约地址
    address: "",                  // 必填,接收地址
    tbc_amount: 0,                // 必填,初始注入的 TBC 数量
    ft_amount: 0,                 // 必填,初始注入的 FT 数量
    poolNFT_version: 2,           // 可选,强制为 2
    lockTime: 0,                  // 可选,锁定到指定的区块高度
    broadcastEnabled: true,       // 可选,默认 true
  },
];

const { txid } = await Turing.sendTransaction(params);
// const { txraw } = await Turing.sendTransaction(params); // broadcastEnabled 为 false 时
// const { error } = await Turing.sendTransaction(params); // 发生错误时

POOLNFT_LP_INCREASE ​

增加 PoolNFT 池中的流动性。

ts
const params = [
  {
    flag: "POOLNFT_LP_INCREASE",  // 必填
    nft_contract_address: "",     // 必填,PoolNFT 合约地址
    address: "",                  // 必填,接收地址
    tbc_amount: 0,                // 必填,增加的 TBC 数量
    poolNFT_version: 2,           // 可选,强制为 2
    lockTime: 0,                  // 可选,锁定到指定的区块高度
    broadcastEnabled: true,       // 可选,默认 true
  },
];

const { txid } = await Turing.sendTransaction(params);
// const { txraw } = await Turing.sendTransaction(params); // broadcastEnabled 为 false 时
// const { error } = await Turing.sendTransaction(params); // 发生错误时

POOLNFT_LP_CONSUME ​

从 PoolNFT 池中消耗流动性。

ts
const params = [
  {
    flag: "POOLNFT_LP_CONSUME",   // 必填
    nft_contract_address: "",     // 必填,PoolNFT 合约地址
    address: "",                  // 必填,接收地址
    ft_amount: 0,                 // 必填,消耗的 FT LP 数量
    poolNFT_version: 2,           // 可选,强制为 2
    lockTime: 0,                  // 可选,手动设置解锁参数到最大可解锁区块高度。如果启用了锁定但没有此参数,解锁参数将自动设置为(当前区块高度 - 2)
    broadcastEnabled: true,       // 可选,默认 true
  },
];

const { txid } = await Turing.sendTransaction(params);
// const { txraw } = await Turing.sendTransaction(params); // broadcastEnabled 为 false 时
// const { error } = await Turing.sendTransaction(params); // 发生错误时

POOLNFT_LP_BURN ​

从 PoolNFT 池中销毁流动性。

ts
const params = [
  {
    flag: "POOLNFT_LP_BURN",      // 必填
    nft_contract_address: "",     // 必填,PoolNFT 合约地址
    poolNFT_version: 2,           // 可选,强制为 2
    broadcastEnabled: true,       // 可选,默认 true
  },
];

const { txid } = await Turing.sendTransaction(params);
// const { txraw } = await Turing.sendTransaction(params); // broadcastEnabled 为 false 时
// const { error } = await Turing.sendTransaction(params); // 发生错误时

POOLNFT_SWAP_TO_TOKEN ​

在 PoolNFT 池中将 TBC 交换为代币。

ts
const params = [
  {
    flag: "POOLNFT_SWAP_TO_TOKEN", // 必填
    nft_contract_address: "",      // 必填,PoolNFT 合约地址
    address: "",                   // 必填,接收地址
    tbc_amount: 0,                 // 必填,用于交换的 TBC 数量
    poolNFT_version: 2,            // 可选,强制为 2
    lpPlan: 6,                     // 可选;Plan 6 池可传 6,省略时钱包从链上池状态识别
    broadcastEnabled: true,        // 可选,默认 true
  },
];

const { txid } = await Turing.sendTransaction(params);
// const { txraw } = await Turing.sendTransaction(params); // broadcastEnabled 为 false 时
// const { error } = await Turing.sendTransaction(params); // 发生错误时

POOLNFT_SWAP_TO_TBC ​

在 PoolNFT 池中将代币交换为 TBC。

ts
const params = [
  {
    flag: "POOLNFT_SWAP_TO_TBC",  // 必填
    nft_contract_address: "",     // 必填,PoolNFT 合约地址
    address: "",                  // 必填,接收地址
    ft_amount: 0,                 // 必填,用于交换的 FT 数量
    poolNFT_version: 2,           // 可选,强制为 2
    lpPlan: 6,                    // 可选;Plan 6 池可传 6,省略时钱包从链上池状态识别
    broadcastEnabled: true,       // 可选,默认 true
  },
];

const { txid } = await Turing.sendTransaction(params);
// const { txraw } = await Turing.sendTransaction(params); // broadcastEnabled 为 false 时
// const { error } = await Turing.sendTransaction(params); // 发生错误时

POOLNFT_MERGE ​

合并 PoolNFT 交易。

ts
const params = [
  {
    flag: "POOLNFT_MERGE",        // 必填
    nft_contract_address: "",     // 必填,PoolNFT 合约地址
    poolNFT_version: 2,           // 可选,强制为 2
    merge_times: 10,              // 可选,1-10 次,默认 10 次,不足时提前终止
  },
];

const { txid } = await Turing.sendTransaction(params); // txid 为多个 Merge 交易的 txid,用逗号隔开
// const { error } = await Turing.sendTransaction(params); // 发生错误时

FTLP_MERGE ​

合并 FTLP 交易。

ts
const params = [
  {
    flag: "FTLP_MERGE",           // 必填
    nft_contract_address: "",     // 必填,PoolNFT 合约地址
    poolNFT_version: 2,           // 可选,强制为 2
    lockTime: 0,                  // 可选,手动设置解锁参数到最大可解锁区块高度。如果启用了锁定但没有此参数,解锁参数将自动设置为(当前区块高度 - 2)
  },
];

const { txid } = await Turing.sendTransaction(params); // txid 为多个 Merge 交易的 txid,用逗号隔开
// const { error } = await Turing.sendTransaction(params); // 发生错误时

在线示例 ​

以下工作台统一覆盖 PoolNFT 铸造、初始化、流动性增减、交换和 UTXO 合并。默认使用业务表单,也可切换到 JSON;两种视图实时同步。

在线示例

Turing.sendTransaction() / POOLNFT

正在检测钱包...

当前钱包网络为 未知,此方法需要 TBC。请切换钱包网络后重试。

必须填写当前钱包网络中已经存在的 64 位交易 ID;格式示例不能直接提交。

协议当前接受 1–6;选择方案后服务费率会自动同步。

表单与 JSON 实时同步;依赖链上资源的交易 ID 需填写当前网络中的真实值。

正在检测钱包...
代码预览