CCC Docs
    Preparing search index...

    Class SignerJsonRpc

    An abstract class representing a generic signer. This class provides methods to connect, get addresses, and sign transactions.

    Hierarchy (View Summary)

    Index
    requestor: RequestorJsonRpc
    getScripts: () => Promise<Script[]> = ...
    getInternalAddress: () => Promise<string> = ...

    Gets the internal address associated with the signer.

    Type Declaration

      • (): Promise<string>
      • Returns Promise<string>

        A promise that resolves to a string representing the internal address.

    getIdentity: () => Promise<string> = ...

    Gets the identity for verifying signature, usually it's address

    Type Declaration

      • (): Promise<string>
      • Returns Promise<string>

        A promise that resolves to a string representing the identity

    signMessageRaw: (_: BytesLike) => Promise<string> = ...

    Signs a message and returns signature only. This method is not implemented and should be overridden by subclasses.

    Type Declaration

      • (_: BytesLike): Promise<string>
      • Parameters

        • _: BytesLike

          The message to sign, as a string or BytesLike object.

        Returns Promise<string>

        A promise that resolves to the signature as a string.

    Will throw an error if not implemented.

    prepareTransaction: (tx: TransactionLike) => Promise<Transaction> = ...

    Prepares a transaction before signing. This method can be overridden by subclasses to perform any necessary steps, such as adding cell dependencies or witnesses, before the transaction is signed. The default implementation converts the TransactionLike object to a Transaction object without modification.

    Type Declaration

    Note that this default implementation does not add any cell dependencies or dummy witnesses. This may lead to an underestimation of transaction size and fees if used with methods like Transaction.completeFee. Subclasses for signers that are intended to sign transactions should override this method to perform necessary preparations.

    signOnlyTransaction: (_: TransactionLike) => Promise<Transaction> = ...

    Signs a transaction without preparing information for it. This method is not implemented and should be overridden by subclasses.

    Type Declaration

    Will throw an error if not implemented.

    client_: Client
    • Register a listener to be called when this signer is replaced.

      Parameters

      • listener: () => void

      Returns () => boolean

      A function for unregister

    • Parameters

      • rpcMethod: string
      • OptionalinTransformers: (((_: any) => unknown) | undefined)[]
      • OptionaloutTransformer: (_: any) => unknown

      Returns (...request: unknown[]) => Promise<unknown>

    • Gets the recommended Address object for the signer.

      Parameters

      • Optional_preference: unknown

        Optional preference parameter.

      Returns Promise<Address>

      A promise that resolves to the recommended Address object.

    • Gets the recommended address for the signer as a string.

      Parameters

      • Optionalpreference: unknown

        Optional preference parameter.

      Returns Promise<string>

      A promise that resolves to the recommended address as a string.

    • Gets an array of addresses associated with the signer as strings.

      Returns Promise<string[]>

      A promise that resolves to an array of addresses as strings.

    • Find cells of this signer

      Parameters

      • filter: ClientIndexerSearchKeyFilterLike

        The filter for the search key.

      • OptionalwithData: boolean | null

        Whether to include cell data in the response.

      • Optionalorder: "asc" | "desc"

        The order of the returned cells, can be "asc" or "desc".

      • Optionallimit: number

        The maximum number of cells for every querying chunk.

      Returns AsyncGenerator<Cell>

      A async generator that yields all matching cells

    • Find transactions of this signer

      Parameters

      Returns AsyncGenerator<
          {
              txHash: `0x${string}`;
              blockNumber: bigint;
              txIndex: bigint;
              isInput: boolean;
              cellIndex: bigint;
          },
      >

      A async generator that yields all matches transactions

    • Find transactions of this signer

      Parameters

      Returns AsyncGenerator<
          {
              txHash: `0x${string}`;
              blockNumber: bigint;
              txIndex: bigint;
              cells: { isInput: boolean; cellIndex: bigint }[];
          },
      >

      A async generator that yields all matches transactions

    • Find transactions of this signer

      Parameters

      Returns AsyncGenerator<
          | {
              txHash: `0x${string}`;
              blockNumber: bigint;
              txIndex: bigint;
              isInput: boolean;
              cellIndex: bigint;
          }
          | {
              txHash: `0x${string}`;
              blockNumber: bigint;
              txIndex: bigint;
              cells: { isInput: boolean; cellIndex: bigint }[];
          },
      >

      A async generator that yields all matches transactions

    • Verify a signature.

      Parameters

      • message: BytesLike

        The original message.

      • signature: string | Signature

        The signature to verify.

      Returns Promise<boolean>

      A promise that resolves to the verification result.

      Will throw an error if not implemented.