Files
pezkuwi-apps/packages/react-signer/src/signers/AccountSigner.ts
T
pezkuwichain d21bfb1320 feat: initial Pezkuwi Apps rebrand from polkadot-apps
Rebranded terminology:
- Polkadot → Pezkuwi
- Kusama → Dicle
- Westend → Zagros
- Rococo → PezkuwiChain
- Substrate → Bizinikiwi
- parachain → teyrchain

Custom logos with Kurdistan brand colors (#e6007a → #86e62a):
- bizinikiwi-hexagon.svg
- sora-bizinikiwi.svg
- hezscanner.svg
- heztreasury.svg
- pezkuwiscan.svg
- pezkuwistats.svg
- pezkuwiassembly.svg
- pezkuwiholic.svg
2026-01-07 13:05:27 +03:00

34 lines
1.0 KiB
TypeScript

// Copyright 2017-2025 @pezkuwi/react-signer authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { Signer, SignerResult } from '@pezkuwi/api/types';
import type { KeyringPair } from '@pezkuwi/keyring/types';
import type { Registry, SignerPayloadJSON } from '@pezkuwi/types/types';
import { objectSpread } from '@pezkuwi/util';
import { lockAccount } from '../util.js';
let id = 0;
export class AccountSigner implements Signer {
readonly #keyringPair: KeyringPair;
readonly #registry: Registry;
constructor (registry: Registry, keyringPair: KeyringPair) {
this.#keyringPair = keyringPair;
this.#registry = registry;
}
public async signPayload (payload: SignerPayloadJSON): Promise<SignerResult> {
return new Promise((resolve): void => {
const signed = this.#registry.createType('ExtrinsicPayload', payload, { version: payload.version }).sign(this.#keyringPair);
lockAccount(this.#keyringPair);
resolve(
objectSpread({ id: ++id }, signed)
);
});
}
}