diff --git a/examples/ts/signature-extension/package.json b/examples/ts/signature-extension/package.json index eb75f7a0b7e6dbb9f2fedd0e996fa789ea1ee874..75df6e5cdb2d38e5a4901f381970b6db119870e8 100644 --- a/examples/ts/signature-extension/package.json +++ b/examples/ts/signature-extension/package.json @@ -7,9 +7,6 @@ "test": "../../../ts/npm-common-config/scripts/bash/npm-helpers/npm_download_browser_extensions.sh \"${HOME}/preinstalled_browser_extensions\" && ln -sf \"${HOME}/preinstalled_browser_extensions\" ./__tests__/extensions && playwright install chromium && playwright test --max-failures 1", "test:manual": "rm -rf ./.parcel-cache && parcel test/index.html" }, - "alias": { - "@hiveio/wax": "@hiveio/wax" - }, "dependencies": { "@hiveio/beekeeper": "1.27.10-stable.250305202831", "@hiveio/wax": "file:../../../ts", diff --git a/ts/packages/signers-beekeeper/README.md b/ts/packages/signers-beekeeper/README.md index 57fb97f1013a5a17588a146e5ecb7374eb4f0eb4..680380f03f0ee40d19fce2953c0f1726741c1c90 100644 --- a/ts/packages/signers-beekeeper/README.md +++ b/ts/packages/signers-beekeeper/README.md @@ -10,7 +10,7 @@ import BeekeeperProvider from "@hiveio/wax-signers-beekeeper"; const chain = await createHiveChain(); -const provider = BeekeeperProvider.for(myWallet, "myaccount", "active"); +const provider = BeekeeperProvider.for(myWallet, "myaccount", "active", chain); // Create a transaction using the Wax Hive chain instance const tx = await chain.createTransaction(); diff --git a/ts/packages/signers-beekeeper/src/index.ts b/ts/packages/signers-beekeeper/src/index.ts index 486c68f79d823a4eb253b61f4279f3f72574656b..8d5235f79d3a95035ff118e65eaf96badc71bbdd 100644 --- a/ts/packages/signers-beekeeper/src/index.ts +++ b/ts/packages/signers-beekeeper/src/index.ts @@ -1,4 +1,4 @@ -import { createHiveChain, type IOnlineSignatureProvider, type ITransaction, type TAccountName, type TRole } from "@hiveio/wax"; +import type { IHiveChainInterface, IOnlineSignatureProvider, ITransaction, TAccountName, TRole } from "@hiveio/wax"; import type { IBeekeeperUnlockedWallet, TPublicKey } from "@hiveio/beekeeper"; @@ -10,7 +10,7 @@ export class WaxBeekeeperProviderError extends Error {} * * @example * ``` - * const provider = BeekeeperProvider.for(myWallet, "myaccount", "active"); + * const provider = BeekeeperProvider.for(myWallet, "myaccount", "active", chain); * * // Create a transaction using the Wax Hive chain instance * const tx = await chain.createTransaction(); @@ -30,19 +30,17 @@ class BeekeeperProvider implements IOnlineSignatureProvider { private readonly publicKey: TPublicKey ) {} - public static for(wallet: IBeekeeperUnlockedWallet, publicKeyOrAccount: TPublicKey | TAccountName, role?: TRole): BeekeeperProvider | Promise<BeekeeperProvider> { + public static for(wallet: IBeekeeperUnlockedWallet, publicKeyOrAccount: TPublicKey | TAccountName, role?: TRole, chain?: IHiveChainInterface): BeekeeperProvider | Promise<BeekeeperProvider> { if (role === undefined) return new BeekeeperProvider(wallet, publicKeyOrAccount); - return createHiveChain().then(chain => { - return chain.api.database_api.find_accounts({ accounts: [publicKeyOrAccount], delayed_votes_active: false }).then(({ accounts: [ account ] }) => { - if (account === undefined) - return Promise.reject(new WaxBeekeeperProviderError(`Account ${publicKeyOrAccount} not found`)); + return chain!.api.database_api.find_accounts({ accounts: [publicKeyOrAccount], delayed_votes_active: false }).then(({ accounts: [ account ] }) => { + if (account === undefined) + return Promise.reject(new WaxBeekeeperProviderError(`Account ${publicKeyOrAccount} not found`)); - const actualRole = role === "memo" ? "memo_key" : role; + const actualRole = role === "memo" ? "memo_key" : role; - return account[actualRole] ? new BeekeeperProvider(wallet, role === "memo" ? account.memo_key : account[role].key_auths[0][0]) : Promise.reject(new WaxBeekeeperProviderError(`Account ${publicKeyOrAccount} does not have ${role} key`)); - }); + return account[actualRole] ? new BeekeeperProvider(wallet, role === "memo" ? account.memo_key : account[role].key_auths[0][0]) : Promise.reject(new WaxBeekeeperProviderError(`Account ${publicKeyOrAccount} does not have ${role} key`)); }); } @@ -53,7 +51,7 @@ class BeekeeperProvider implements IOnlineSignatureProvider { export interface WaxBeekeeperProviderCreator { for(wallet: IBeekeeperUnlockedWallet, publicKey: TPublicKey): BeekeeperProvider; - for(wallet: IBeekeeperUnlockedWallet, account: TAccountName, role: TRole): Promise<BeekeeperProvider>; + for(wallet: IBeekeeperUnlockedWallet, account: TAccountName, role: TRole, chain: IHiveChainInterface): Promise<BeekeeperProvider>; } export default BeekeeperProvider as WaxBeekeeperProviderCreator; \ No newline at end of file