UNPKG

@hyperlane-xyz/sdk

Version:

The official SDK for the Hyperlane Network

36 lines 1.26 kB
import { RadixSigner } from '@hyperlane-xyz/radix-sdk/runtime'; export class RadixMultiProtocolSignerAdapter { chainName; signer; constructor(chainName, signer) { this.chainName = chainName; this.signer = signer; } static async init(chainName, privateKey, multiProtocolProvider) { const metadata = multiProtocolProvider.getChainMetadata(chainName); const signer = await RadixSigner.connectWithSigner([], privateKey, { metadata, }); return new RadixMultiProtocolSignerAdapter(chainName, signer); } async address() { return this.signer.getSignerAddress(); } async sendAndConfirmTransaction(tx, _options) { try { await this.signer.estimateTransactionFee({ transaction: tx.transaction, estimatedGasPrice: '', senderAddress: '', }); const { transactionHash } = await this.signer.sendAndConfirmTransaction(tx.transaction); return transactionHash; } catch (err) { throw new Error(`Transaction failed on chain ${this.chainName}`, { cause: err, }); } } } //# sourceMappingURL=radix-toolkit.js.map