
索拉纳链适配器 联 合 国 意向交换部件。它允许用户互换 从 索拉纳钱包(Phantom, Solflare, Privy,.)通过发送SOL或SPL-token存款交易.
我需要吗?
没有它,索拉纳交换失败了 "索拉纳转让不支持. 加入来自@aurora-is-near/intents-swap-widget-solana的索拉纳插件.....没有 providers.sol他们失败了 加入索拉纳供应商..。 。 。 .
合适的话
flowchart TB
W["Swap Widget<br/>(quote ready)"] -- "plugins.sol.makeTransfer()" --> A["<b>this adapter</b>"]
A -- "build tx + signTransaction" --> WL["User's Solana wallet<br/>(providers.sol)"]
WL -- "SOL / SPL transfer" --> D["1Click deposit address"]
D --> NI["NEAR Intents settles the swap"]
使用量
npm install @aurora-is-near/intents-swap-widget @aurora-is-near/intents-swap-widget-solana
import '@aurora-is-near/intents-swap-widget/styles.css';
import { Widget, WidgetConfigProvider } from '@aurora-is-near/intents-swap-widget';
import { sol } from '@aurora-is-near/intents-swap-widget-solana';
const { publicKey, signMessage, signTransaction, connect, disconnect } =
useYourSolanaWallet(); // e.g. @solana/wallet-adapter-react
<WidgetConfigProvider
config={{
apiKey: 'YOUR_STUDIO_API_KEY', // https://studio.aurora.dev
alchemyApiKey: 'YOUR_ALCHEMY_KEY', // recommended in production, see RPC below
connectedWallets: { default: publicKey?.toBase58() },
providers: { sol: { publicKey, signMessage, signTransaction } },
plugins: { sol },
onWalletSignin: connect,
onWalletSignout: disconnect,
}}>
<Widget />
</WidgetConfigProvider>;
| 外地 | 类型 |
publicKey | PublicKey (任何与 toString()(中文(简体) ) |
signMessage | (message: Uint8Array) => Promise<Uint8Array> |
signTransaction | (tx: Transaction) => Promise<Transaction> |
使用 枢密院它的钱包 API 有不同的形状, 所以它需要一个小的适配器 : @ @ @ info 枢密室实例。 。 。 .
它会做什么
| 步骤 | 行为 |
| 原生的太阳能 | SystemProgram.transfer 至存款地址 |
| SPL 符号 | transfer 在相关符号账户之间. 创建收件人 ATA 如果它不存在的话 |
| 签名 | 以新鲜的块状结构 tx, signTransaction 然后通过钱包 sendRawTransaction (飞行前,3回) |
| 结果 | 回返 { hash } (签名)。 部件然后跟踪交换状态 |
难民保护委员会
| 配置 | 用于转让的RPC |
alchemyApiKey 设定 | https://solana-mainnet.g.alchemy.com/v2/<key> |
| 未设置 | https://solana-rpc.publicnode.com (公共和费率有限) |
出口
| 导出 | 类型 | 使用 |
sol | SolanaNetworkPlugin | 通过它作为 plugins.sol |
makeTransfer(args, options) | Promise<{ hash }> | 相同的逻辑,可直接调用 |
MakeTransferOptions | 类型 | { provider: SolanaProvider; rpcUrl?: string; alchemyApiKey?: string } |
依赖性 : @solana/web3.js, (中文(简体) ), @solana/spl-token。对等点 : @aurora-is-near/intents-swap-widget。 。 。 .
许可证
麻省理工学院