sendTransaction · PoolNFT
覆盖 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 需填写当前网络中的真实值。
代码预览