@ 动态- labs- sdk/ tempo
这个包包含了动态SDK的Tempo集成.
Tempo是一个与EVM兼容的链条,没有本地的代币——收费和转账是 以TP-20马来币支付.
安装
npm install @dynamic-labs-sdk/tempo
使用量
import { createDynamicClient } from '@dynamic-labs-sdk/client';
import { addTempoExtension } from '@dynamic-labs-sdk/tempo';
const dynamicClient = createDynamicClient({
environmentId: '123',
});
addTempoExtension(dynamicClient);
扩展名注册后, 软件包会显示帮助者与 临时钱包和网络 :
isTempoWalletAccount编号 :isTempoWalletProvider编号 :isTempoNetworkProvider—— 说 将值缩小到其Tempo特定类型的类型.getTempoPublicClient——返回viemPublicClient正在运行的 Timeo 腾讯网.sendTip20Transaction- 发送TIP-20 令牌转让(Tempo没有本地 ,所以总是需要象征性的合同地址).
import {
getTempoPublicClient,
isTempoWalletAccount,
sendTip20Transaction,
} from '@dynamic-labs-sdk/tempo';
if (isTempoWalletAccount(walletAccount)) {
const publicClient = await getTempoPublicClient(
{ walletAccount },
dynamicClient
);
const blockNumber = await publicClient.getBlockNumber();
const transactionHash = await sendTip20Transaction({
amount: '1.5',
to: '0xRecipient',
tokenAddress: '0xTip20Token',
walletClient,
});
}
嵌入式钱包
嵌入式钱包支持从 /waas 切入点 :
import { addTempoExtension } from '@dynamic-labs-sdk/tempo';
import { addWaasTempoExtension } from '@dynamic-labs-sdk/tempo/waas';
addTempoExtension(dynamicClient);
addWaasTempoExtension(dynamicClient);
嵌入式Tempo钱包可以签名信件和EIP-712打入的数据,传输
TIP-20 标记 transferAmount,并用viem钱包发送交易
钱包提供者的客户端 createViemWalletClient。 。 。 .
发送临时交易
使用 sendTempoTransaction 仅使用 Tempo 字段的交易:已批量
电话,收费符,非ce键,或有效性窗口.
import { sendTempoTransaction } from '@dynamic-labs-sdk/tempo/waas';
const { transactionHash } = await sendTempoTransaction({
calls: [
{ data: transferData, to: tokenAddress },
{ data: approveData, to: tokenAddress },
],
feeToken: tokenAddress,
walletAccount,
});
气体默认为缓冲估计值,非ce是该数值上的下一个非ce 请求非ce道.
收费担保人签名
使用 signTempoTransaction 与 awaitingFeePayer 签署其交易
给别人付费。 发件人先签名,函数返回
未经广播就签了字 赞助人签了那笔交易
之后再广播.
import { signTempoTransaction } from '@dynamic-labs-sdk/tempo/waas';
const { signedTransaction } = await signTempoTransaction({
awaitingFeePayer: true,
calls: [{ data: transferData, to: tokenAddress }],
walletAccount,
});
赞助商会选择收费符,所以 awaitingFeePayer 无法与
feeToken。 。 。 . sendTempoTransaction 拒绝 awaitingFeePayer 因为a
仍在等待付款人的交易不能广播.