import { AddKeyData, AuthorizedKeyData, AddProvider, ChainType, ClaimHandlePayload, EcdsaSignature, ItemizedSignaturePayloadV2, PaginatedDeleteSignaturePayloadV2, PaginatedUpsertSignaturePayloadV2, PasskeyPublicKey, SupportedPayload, HexString, AddItemizedAction, DeleteItemizedAction, ItemizedAction, EipDomainPayload, RecoveryCommitmentPayload, SiwfSignedRequestPayload, SiwfLoginRequestPayload } from './payloads.js'; import { KeyringPair } from '@polkadot/keyring/types'; import { Signer } from '@polkadot/types/types'; /** * Signing EIP-712 or ERC-191 compatible signature based on payload * @param secretKey * @param payload * @param chain */ export declare function sign(secretKey: HexString, payload: SupportedPayload, chain: ChainType): Promise; /** * Verify EIP-712 and ERC-191 signatures based on payload * @param ethereumAddress * @param signature * @param payload * @param chain */ export declare function verifySignature(ethereumAddress: HexString, signature: HexString, payload: SupportedPayload, chain: ChainType): boolean; /** * Build an AddKeyData payload for signature. * * @param msaId MSA ID (uint64) to add the key * @param newPublicKey 32 bytes public key to add in hex or Uint8Array * @param expirationBlock Block number after which this payload is invalid */ export declare function createAddKeyData(msaId: string | bigint, newPublicKey: HexString | Uint8Array, expirationBlock: number): AddKeyData; /** * Build an AuthorizedKeyData payload for signature. * * @param msaId MSA ID (uint64) to add the key * @param authorizedPublicKey 32 bytes public key to authorize in hex or Uint8Array * @param expirationBlock Block number after which this payload is invalid */ export declare function createAuthorizedKeyData(msaId: string | bigint, authorizedPublicKey: HexString | Uint8Array, expirationBlock: number): AuthorizedKeyData; /** * Build an AddProvider payload for signature. * * @param authorizedMsaId MSA ID (uint64) that will be granted provider rights * @param intentIds One or more schema IDs (uint16) the provider may use * @param expirationBlock Block number after which this payload is invalid */ export declare function createAddProvider(authorizedMsaId: string | bigint, intentIds: number[], expirationBlock: number): AddProvider; /** * Build a RecoveryCommitmentPayload for signature. * * @param recoveryCommitment The recovery commitment data as a HexString * @param expirationBlock Block number after which this payload is invalid */ export declare function createRecoveryCommitmentPayload(recoveryCommitment: HexString, expirationBlock: number): RecoveryCommitmentPayload; /** * Build a ClaimHandlePayload for signature. * * @param handle The handle the user wishes to claim * @param expirationBlock Block number after which this payload is invalid */ export declare function createClaimHandlePayload(handle: string, expirationBlock: number): ClaimHandlePayload; /** * Build a PasskeyPublicKey payload for signature. * * @param publicKey The passkey’s public key (hex string or raw bytes) */ export declare function createPasskeyPublicKey(publicKey: HexString | Uint8Array): PasskeyPublicKey; /** * Build AddAction payload for Itemized storage. * * @param data The data to be persisted on the Frequency chain */ export declare function createItemizedAddAction(data: HexString | Uint8Array): AddItemizedAction; /** * Build DeleteAction payload for Itemized storage. * * @param index The index of the item that we want to remove from the Frequency chain */ export declare function createItemizedDeleteAction(index: number): DeleteItemizedAction; /** * Build an ItemizedSignaturePayloadV2 for signing. * * @param schemaId uint16 schema identifier * @param targetHash uint32 page hash * @param expiration uint32 expiration block * @param actions Array of Add/Delete itemized actions */ export declare function createItemizedSignaturePayloadV2(schemaId: number, targetHash: number, expiration: number, actions: ItemizedAction[]): ItemizedSignaturePayloadV2; /** * Build a PaginatedDeleteSignaturePayloadV2 for signing. * * @param schemaId uint16 schema identifier * @param pageId uint16 page identifier * @param targetHash uint32 page hash * @param expiration uint32 expiration block */ export declare function createPaginatedDeleteSignaturePayloadV2(schemaId: number, pageId: number, targetHash: number, expiration: number): PaginatedDeleteSignaturePayloadV2; /** * Build a PaginatedUpsertSignaturePayloadV2 for signing. * * @param schemaId uint16 schema identifier * @param pageId uint16 page identifier * @param targetHash uint32 page hash * @param expiration uint32 expiration block * @param payload HexString or Uint8Array data to upsert */ export declare function createPaginatedUpsertSignaturePayloadV2(schemaId: number, pageId: number, targetHash: number, expiration: number, payload: HexString | Uint8Array): PaginatedUpsertSignaturePayloadV2; /** * Build an SiwfSignedRequestPayload payload for signature. * * @param callback Callback URL for login * @param permissions One or more schema IDs (uint16) the provider may use * @param userIdentifierAdminUrl Only used for custom integration situations. */ export declare function createSiwfSignedRequestPayload(callback: string, permissions: number[], userIdentifierAdminUrl?: string): SiwfSignedRequestPayload; /** * Build an SiwfLoginRequestPayload payload for signature. * * @param message login message */ export declare function createSiwfLoginRequestPayload(message: string): SiwfLoginRequestPayload; /** * Returns the EIP-712 browser request for a AddKeyData for signing. * * @param msaId MSA ID (uint64) to add the key * @param newPublicKey 32 bytes public key to add in hex or Uint8Array * @param expirationBlock Block number after which this payload is invalid * @param domain */ export declare function getEip712BrowserRequestAddKeyData(msaId: string | bigint, newPublicKey: HexString | Uint8Array, expirationBlock: number, domain?: EipDomainPayload): unknown; /** * Returns the EIP-712 browser request for a AuthorizedKeyData for signing. * * @param msaId MSA ID (uint64) to add the key * @param authorizedPublicKey 32 bytes public key to add in hex or Uint8Array * @param expirationBlock Block number after which this payload is invalid * @param domain */ export declare function getEip712BrowserRequestAuthorizedKeyData(msaId: string | bigint, authorizedPublicKey: HexString | Uint8Array, expirationBlock: number, domain?: EipDomainPayload): unknown; /** * Returns the EIP-712 browser request for a AddProvider for signing. * * @param authorizedMsaId MSA ID (uint64) that will be granted provider rights * @param intentIds One or more schema IDs (uint16) the provider may use * @param expirationBlock Block number after which this payload is invalid * @param domain */ export declare function getEip712BrowserRequestAddProvider(authorizedMsaId: string | bigint, intentIds: number[], expirationBlock: number, domain?: EipDomainPayload): unknown; /** * Returns the EIP-712 browser request for a RecoveryCommitmentPayload for signing. * * @param recoveryCommitment The recovery commitment data as a Uint8Array * @param expirationBlock Block number after which this payload is invalid * @param domain */ export declare function getEip712BrowserRequestRecoveryCommitmentPayload(recoveryCommitment: HexString, expirationBlock: number, domain?: EipDomainPayload): unknown; /** * Returns the EIP-712 browser request for a PaginatedUpsertSignaturePayloadV2 for signing. * * @param schemaId uint16 schema identifier * @param pageId uint16 page identifier * @param targetHash uint32 page hash * @param expiration uint32 expiration block * @param payload HexString or Uint8Array data to upsert * @param domain */ export declare function getEip712BrowserRequestPaginatedUpsertSignaturePayloadV2(schemaId: number, pageId: number, targetHash: number, expiration: number, payload: HexString | Uint8Array, domain?: EipDomainPayload): unknown; /** * Returns the EIP-712 browser request for a PaginatedDeleteSignaturePayloadV2 for signing. * * @param schemaId uint16 schema identifier * @param pageId uint16 page identifier * @param targetHash uint32 page hash * @param expiration uint32 expiration block * @param domain */ export declare function getEip712BrowserRequestPaginatedDeleteSignaturePayloadV2(schemaId: number, pageId: number, targetHash: number, expiration: number, domain?: EipDomainPayload): unknown; /** * Returns the EIP-712 browser request for a ItemizedSignaturePayloadV2 for signing. * * @param schemaId uint16 schema identifier * @param targetHash uint32 page hash * @param expiration uint32 expiration block * @param actions Array of Add/Delete itemized actions * @param domain */ export declare function getEip712BrowserRequestItemizedSignaturePayloadV2(schemaId: number, targetHash: number, expiration: number, actions: ItemizedAction[], domain?: EipDomainPayload): unknown; /** * Returns the EIP-712 browser request for a ClaimHandlePayload for signing. * * @param handle The handle the user wishes to claim * @param expirationBlock Block number after which this payload is invalid * @param domain */ export declare function getEip712BrowserRequestClaimHandlePayload(handle: string, expirationBlock: number, domain?: EipDomainPayload): unknown; /** * Returns the EIP-712 browser request for a PasskeyPublicKey for signing. * * @param publicKey The passkey’s public key (hex string or raw bytes) * @param domain */ export declare function getEip712BrowserRequestPasskeyPublicKey(publicKey: HexString | Uint8Array, domain?: EipDomainPayload): unknown; /** * Returns the EIP-712 browser request for a SiwfSignedRequestPayload for signing. * * @param callback Callback URL for login * @param permissions One or more schema IDs (uint16) the provider may use * @param userIdentifierAdminUrl Only used for custom integration situations. * @param domain */ export declare function getEip712BrowserRequestSiwfSignedRequestPayload(callback: string, permissions: number[], userIdentifierAdminUrl?: string, domain?: EipDomainPayload): unknown; /** * Returns An ethereum compatible signature for the extrinsic * @param ethereumPair */ export declare function getEthereumRegularSigner(ethereumPair: KeyringPair): Signer; /** * This custom signer can get used to mimic EIP-191 message signing. By replacing the `ethereumPair.sign` with * any wallet call we can sign any extrinsic with any wallet * @param ethereumPair */ export declare function getEthereumMessageSigner(ethereumPair: KeyringPair): Signer;