From ca17efb19de4255ebd3bcbb21a99dc3407346a13 Mon Sep 17 00:00:00 2001 From: soralit Date: Fri, 12 Jul 2024 11:20:41 +0800 Subject: [PATCH] feat(sol-keyring): change signing transaction interface --- babel.config.js | 4 ++++ packages/sol-keyring/package.json | 2 +- packages/sol-keyring/src/BaseKeyring.ts | 9 ++++----- 3 files changed, 9 insertions(+), 6 deletions(-) create mode 100644 babel.config.js diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 00000000..db5dd9fa --- /dev/null +++ b/babel.config.js @@ -0,0 +1,4 @@ +module.exports = { + presets: [['@babel/preset-env', { targets: { node: 'current' } }], '@babel/preset-typescript'], + plugins: ['@babel/plugin-proposal-optional-chaining'] +}; diff --git a/packages/sol-keyring/package.json b/packages/sol-keyring/package.json index 60b7bf7f..d024cbcd 100644 --- a/packages/sol-keyring/package.json +++ b/packages/sol-keyring/package.json @@ -1,6 +1,6 @@ { "name": "@keystonehq/sol-keyring", - "version": "0.19.3", + "version": "1.0.0", "description": "sol-keyring interact with keystone", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/sol-keyring/src/BaseKeyring.ts b/packages/sol-keyring/src/BaseKeyring.ts index 5a734150..365fcd6c 100644 --- a/packages/sol-keyring/src/BaseKeyring.ts +++ b/packages/sol-keyring/src/BaseKeyring.ts @@ -1,6 +1,6 @@ import bs58 from "bs58"; import * as uuid from "uuid"; -import { Message, PublicKey, Transaction } from "@solana/web3.js"; +import { Message, Transaction } from "@solana/web3.js"; import { InteractionProvider } from "./InteractionProvider"; import { CryptoMultiAccounts } from "@keystonehq/bc-ur-registry"; import { SolSignRequest, SignType } from "@keystonehq/bc-ur-registry-sol"; @@ -114,14 +114,13 @@ export class BaseKeyring { return this.keys; } - async signTransaction(pubKey: string, tx: Transaction): Promise { + async signTransaction(pubKey: string, txHex: Uint8Array): Promise { const signature = await this._getSignature( pubKey, - Buffer.from(tx.serializeMessage() as unknown as ArrayBuffer), + Buffer.from(txHex), SignType.Transaction ); - tx.addSignature(new PublicKey(pubKey), signature); - return tx; + return signature; } async signMessage(