{"version":3,"file":"KeyringInternalSnapClient.mjs","sourceRoot":"","sources":["../../src/v2/KeyringInternalSnapClient.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,yCAAyC;AAKjE,OAAO,EAAE,6BAA6B,EAAE,yCAAqC;AAE7E;;;GAGG;AACH,MAAM,OAAO,yBAA0B,SAAQ,aAAa;IAG1D;;;;;;;;;;;;OAYG;IACH,YAAY,EACV,SAAS,EACT,MAAM,GAAG,WAAqB,EAC9B,MAAM,GAAG,UAAU,EACnB,OAAO,GAAG,kBAAiC,GAM5C;QACC,KAAK,CACH,IAAI,6BAA6B,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CACtE,CAAC;QA5BK,uDAA+C;QA6BtD,uBAAA,IAAI,wCAAc,SAAS,MAAA,CAAC;IAC9B,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,MAAc;QACvB,OAAO,IAAI,yBAAyB,CAAC;YACnC,SAAS,EAAE,uBAAA,IAAI,4CAAW;YAC1B,MAAM;SACP,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["import { KeyringClient } from '@metamask/keyring-snap-client/v2';\nimport type { SnapId } from '@metamask/snaps-sdk';\nimport type { HandlerType } from '@metamask/snaps-utils';\n\nimport type { KeyringInternalSnapClientMessenger } from '../KeyringInternalSnapClient';\nimport { SnapControllerMessengerSender } from '../KeyringInternalSnapClient';\n\n/**\n * A `KeyringClient` that allows the communication with a Snap through a\n * `Messenger`.\n */\nexport class KeyringInternalSnapClient extends KeyringClient {\n  readonly #messenger: KeyringInternalSnapClientMessenger;\n\n  /**\n   * Create a new instance of `KeyringInternalSnapClient`.\n   *\n   * The `handlerType` argument has a hard-coded default `string` value instead\n   * of a `HandlerType` value to prevent the `@metamask/snaps-utils` module\n   * from being required at runtime.\n   *\n   * @param args - Constructor arguments.\n   * @param args.messenger - The `KeyringInternalSnapClientMessenger` instance to use.\n   * @param args.snapId - The ID of the Snap to use (default: `'undefined'`).\n   * @param args.origin - The sender's origin (default: `'metamask'`).\n   * @param args.handler - The handler type (default: `'onKeyringRequest'`).\n   */\n  constructor({\n    messenger,\n    snapId = 'undefined' as SnapId,\n    origin = 'metamask',\n    handler = 'onKeyringRequest' as HandlerType,\n  }: {\n    messenger: KeyringInternalSnapClientMessenger;\n    snapId?: SnapId;\n    origin?: string;\n    handler?: HandlerType;\n  }) {\n    super(\n      new SnapControllerMessengerSender(messenger, snapId, origin, handler),\n    );\n    this.#messenger = messenger;\n  }\n\n  /**\n   * Create a new instance of `KeyringInternalSnapClient` with the specified\n   * `snapId`.\n   *\n   * @param snapId - The ID of the Snap to use in the new instance.\n   * @returns A new instance of `KeyringInternalSnapClient` with the\n   * specified Snap ID.\n   */\n  withSnapId(snapId: SnapId): KeyringInternalSnapClient {\n    return new KeyringInternalSnapClient({\n      messenger: this.#messenger,\n      snapId,\n    });\n  }\n}\n"]}