@relayprotocol/relay-svm-wallet-adapter 20.0.2 → 20.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_cjs/src/adapter.js.map +1 -1
- package/_cjs/src/index.js.map +1 -1
- package/_cjs/tsconfig.build.tsbuildinfo +1 -1
- package/_esm/src/adapter.js.map +1 -1
- package/_esm/src/index.js.map +1 -1
- package/_esm/tsconfig.build.tsbuildinfo +1 -1
- package/_types/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
package/_cjs/src/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AddressLookupTableAccount,\n Connection,\n PublicKey,\n TransactionInstruction,\n TransactionMessage,\n VersionedTransaction,\n type SendOptions,\n type TransactionSignature\n} from '@solana/web3.js'\nimport {\n LogLevel,\n getClient,\n type AdaptedWallet,\n type TransactionStepItem\n} from '@relayprotocol/relay-sdk'\n\nconst BASE58_SIGNATURE_REGEX = /^[1-9A-HJ-NP-Za-km-z]+$/\n\nconst assertBase58TransactionSignature = (\n signature: TransactionSignature | undefined\n) => {\n if (\n typeof signature !== 'string' ||\n signature.length === 0 ||\n !BASE58_SIGNATURE_REGEX.test(signature)\n ) {\n throw new Error('Invalid Solana signature: expected base58.')\n }\n}\n\n/**\n * Adapts a Solana wallet to work with the Relay SDK\n * @param walletAddress - The public key address of the Solana wallet\n * @param chainId - The chain ID for the Solana network (Relay uses 792703809)\n * @param connection - The Solana web3.js Connection instance for interacting with the network\n * @param signAndSendTransaction - Function to sign and send a transaction, returning a promise with a base58 encoded transaction signature\n * @param payerKey - Optional public key of the account that will pay for transaction fees (defaults to walletAddress)\n * @returns An AdaptedWallet object that conforms to the Relay SDK interface\n */\nexport const adaptSolanaWallet = (\n walletAddress: string,\n chainId: number,\n connection: Connection,\n signAndSendTransaction: (\n transaction: VersionedTransaction,\n options?: SendOptions,\n instructions?: TransactionInstruction[],\n rawInstructions?: TransactionStepItem['data']['instructions']\n ) => Promise<{\n signature: TransactionSignature\n }>,\n payerKey?: string\n): AdaptedWallet => {\n let _chainId = chainId\n const getChainId = async () => {\n return _chainId\n }\n\n return {\n vmType: 'svm',\n getChainId,\n address: async () => {\n return walletAddress\n },\n handleSignMessageStep: async () => {\n throw new Error('Message signing not implemented for Solana')\n },\n handleSendTransactionStep: async (_chainId, stepItem) => {\n const client = getClient()\n\n const instructions =\n stepItem?.data?.instructions?.map(\n (i) =>\n new TransactionInstruction({\n keys: i.keys.map((k) => ({\n isSigner: k.isSigner,\n isWritable: k.isWritable,\n pubkey: new PublicKey(k.pubkey)\n })),\n programId: new PublicKey(i.programId),\n data: Buffer.from(i.data, 'hex')\n })\n ) ?? []\n\n const messageV0 = new TransactionMessage({\n payerKey: new PublicKey(payerKey ?? walletAddress),\n instructions,\n recentBlockhash: await connection\n .getLatestBlockhash()\n .then((b) => b.blockhash)\n }).compileToV0Message(\n await Promise.all(\n stepItem?.data?.addressLookupTableAddresses?.map(\n async (address: string) =>\n await connection\n .getAddressLookupTable(new PublicKey(address))\n .then((res) => res.value as AddressLookupTableAccount)\n ) ?? []\n )\n )\n\n const transaction = new VersionedTransaction(messageV0)\n const signature = await signAndSendTransaction(\n transaction,\n undefined,\n instructions,\n stepItem.data.instructions\n )\n const transactionSignature = signature?.signature\n assertBase58TransactionSignature(transactionSignature)\n\n client.log(\n ['Transaction Signature obtained', signature],\n LogLevel.Verbose\n )\n\n return transactionSignature\n },\n handleConfirmTransactionStep: async (txHash) => {\n // Solana doesn't have a concept of replaced transactions\n // So we don't need to handle onReplaced and onCancelled\n assertBase58TransactionSignature(txHash)\n\n const { blockhash, lastValidBlockHeight } =\n await connection.getLatestBlockhash('confirmed')\n\n const result = await connection.confirmTransaction({\n blockhash: blockhash,\n lastValidBlockHeight: lastValidBlockHeight,\n signature: txHash\n })\n\n if (result.value.err) {\n throw new Error(`Transaction failed: ${result.value.err}`)\n }\n\n return {\n blockHash: result.context.slot.toString(),\n blockNumber: result.context.slot,\n txHash\n }\n },\n switchChain: (chainId: number) => {\n _chainId = chainId\n return new Promise((res) => res())\n }\n }\n}\n"]}
|
package/_cjs/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAA4B","sourcesContent":["export * from './adapter.js'\n"]}
|