@leather.io/rpc 2.20.8 → 2.20.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -394,13 +394,14 @@ var stxCallContract = defineRpcEndpoint({
394
394
 
395
395
  // src/methods/stacks/stx-deploy-contract.ts
396
396
  var import_zod11 = require("zod");
397
+ var import_stacks = require("@leather.io/stacks");
397
398
  var stxDeployContractResponseBodySchema = stacksTransactionDetailsSchema;
398
399
  var stxDeployContract = defineRpcEndpoint({
399
400
  method: "stx_deployContract",
400
401
  params: import_zod11.z.intersection(
401
402
  import_zod11.z.object({
402
403
  name: import_zod11.z.string(),
403
- clarityCode: import_zod11.z.string(),
404
+ clarityCode: import_stacks.clarityContractSchema,
404
405
  clarityVersion: import_zod11.z.coerce.number().optional()
405
406
  }),
406
407
  baseStacksTransactionConfigSchema
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/methods/bitcoin/send-transfer.ts","../src/rpc/schemas.ts","../src/methods/bitcoin/sign-message.ts","../src/methods/bitcoin/sign-psbt.ts","../src/rpc/helpers.ts","../src/methods/get-addresses.ts","../src/methods/get-info.ts","../src/methods/open.ts","../src/methods/open-swap.ts","../src/methods/stacks/stx-call-contract.ts","../src/methods/stacks/_stacks-helpers.ts","../src/methods/stacks/stx-deploy-contract.ts","../src/methods/stacks/stx-get-addresses.ts","../src/methods/stacks/stx-get-networks.ts","../src/methods/stacks/stx-sign-message.ts","../src/methods/stacks/stx-sign-structured-message.ts","../src/methods/stacks/stx-sign-transaction.ts","../src/methods/stacks/stx-transfer-sip9-nft.ts","../src/methods/stacks/stx-transfer-sip10-ft.ts","../src/methods/stacks/stx-transfer-stx.ts","../src/methods/stacks/stx-update-profile.ts","../src/methods/supported-methods.ts","../src/methods/stacks/_clarity-values.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { ValueOf } from '@leather.io/models';\n\nimport { sendTransfer } from './methods/bitcoin/send-transfer';\nimport { signMessage } from './methods/bitcoin/sign-message';\nimport { signPsbt } from './methods/bitcoin/sign-psbt';\nimport { getAddresses } from './methods/get-addresses';\nimport { getInfo } from './methods/get-info';\nimport { open } from './methods/open';\nimport { openSwap } from './methods/open-swap';\nimport { stxCallContract } from './methods/stacks/stx-call-contract';\nimport { stxDeployContract } from './methods/stacks/stx-deploy-contract';\nimport { stxGetAddresses } from './methods/stacks/stx-get-addresses';\nimport { stxGetNetworks } from './methods/stacks/stx-get-networks';\nimport { stxSignMessage } from './methods/stacks/stx-sign-message';\nimport { stxSignStructuredMessage } from './methods/stacks/stx-sign-structured-message';\nimport { stxSignTransaction } from './methods/stacks/stx-sign-transaction';\nimport { stxTransferSip9Nft } from './methods/stacks/stx-transfer-sip9-nft';\nimport { stxTransferSip10Ft } from './methods/stacks/stx-transfer-sip10-ft';\nimport { stxTransferStx } from './methods/stacks/stx-transfer-stx';\nimport { stxUpdateProfile } from './methods/stacks/stx-update-profile';\nimport { supportedMethods } from './methods/supported-methods';\nimport { ExtractErrorResponse, ExtractSuccessResponse } from './rpc/schemas';\n\nexport * from './rpc/schemas';\nexport * from './rpc/helpers';\nexport * from './methods/get-info';\nexport * from './methods/bitcoin/sign-psbt';\nexport * from './methods/get-addresses';\nexport * from './methods/bitcoin/send-transfer';\nexport * from './methods/bitcoin/sign-message';\nexport * from './methods/stacks/_clarity-values';\nexport * from './methods/stacks/_stacks-helpers';\nexport * from './methods/stacks/stx-sign-message';\nexport * from './methods/stacks/stx-sign-structured-message';\nexport * from './methods/stacks/stx-sign-transaction';\nexport * from './methods/stacks/stx-call-contract';\nexport * from './methods/stacks/stx-deploy-contract';\nexport * from './methods/stacks/stx-get-addresses';\nexport * from './methods/stacks/stx-transfer-sip9-nft';\nexport * from './methods/stacks/stx-transfer-sip10-ft';\nexport * from './methods/stacks/stx-transfer-stx';\nexport * from './methods/stacks/stx-update-profile';\nexport * from './methods/supported-methods';\nexport * from './methods/open';\nexport * from './methods/open-swap';\n\nexport const endpoints = {\n getAddresses,\n getInfo,\n open,\n openSwap,\n sendTransfer,\n signMessage,\n signPsbt,\n stxCallContract,\n stxDeployContract,\n stxGetAddresses,\n stxGetNetworks,\n stxSignMessage,\n stxSignStructuredMessage,\n stxSignTransaction,\n stxTransferSip10Ft,\n stxTransferSip9Nft,\n stxTransferStx,\n stxUpdateProfile,\n supportedMethods,\n} as const;\n\ntype EndpointMap = (typeof endpoints)[keyof typeof endpoints];\n\n/**\n * Request map keyed by exact method name e.g. `stx_signMessage`\n */\nexport type RpcEndpointMap = {\n [E in EndpointMap as E['method']]: {\n request: z.infer<E['request']>;\n response: z.infer<E['response']>;\n };\n};\n\n/** @deprecated */\nexport type LeatherRpcMethodMap = RpcEndpointMap;\n\nexport type RpcRequests = ValueOf<RpcEndpointMap>['request'];\n\nexport type RpcResponses = ValueOf<RpcEndpointMap>['response'];\n\nexport type RpcMethodNames = keyof RpcEndpointMap;\n\nexport interface RequestFn {\n <\n T extends RpcMethodNames,\n P extends RpcEndpointMap[T]['request'] extends { params?: infer P } ? P : never,\n >(\n arg: T,\n params: P\n // `Promise` throws if unsuccessful, so here we extract the successful response\n ): Promise<ExtractSuccessResponse<RpcEndpointMap[T]['response']>>;\n <T extends RpcMethodNames>(\n arg: T\n // `Promise` throws if unsuccessful, so here we extract the successful response\n ): Promise<ExtractSuccessResponse<RpcEndpointMap[T]['response']>>;\n}\n\nexport interface ListenFn {\n (method: string, callback: () => void): () => void;\n}\n\n/**\n * Leather's provider object set on webpage global `window` object. Set this as\n * a global type object in your project.\n *\n * @example\n * ```\n * declare global {\n * interface Window {\n * LeatherProvider?: LeatherProvider;\n * }\n * }\n * ```\n */\nexport interface LeatherProvider {\n /**\n * Request method. Takes a method name, and optional parameters\n * @returns Typed response for corresponding method\n */\n request: RequestFn;\n /**\n * Listen method. Takes an event name to listen for, and a callback function.\n * @returns An unsubscribe function\n */\n listen: ListenFn;\n}\n\n/**\n * Helper to create a successful RPC response object\n */\nexport function createRpcSuccessResponse<T extends RpcMethodNames>(\n _method: T,\n response: Omit<ExtractSuccessResponse<RpcEndpointMap[T]['response']>, 'jsonrpc'>\n) {\n return { jsonrpc: '2.0', ...response } as ExtractSuccessResponse<RpcEndpointMap[T]['response']>;\n}\n\n/**\n * Helper to create an error RPC response object\n */\nexport function createRpcErrorResponse<T extends RpcMethodNames>(\n _method: T,\n error: Omit<ExtractErrorResponse<RpcEndpointMap[T]['response']>, 'jsonrpc'>\n) {\n return { jsonrpc: '2.0', ...error } as RpcEndpointMap[T]['response'];\n}\n\nexport function parseEndpointRequest(data: unknown): RpcRequests | undefined {\n const endpointRequests = Object.values(endpoints).map(endpoint => endpoint.request);\n const endpoint = endpointRequests.find(req => req.safeParse(data).success);\n return endpoint?.safeParse(data).data;\n}\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\nexport const rpcSendTransferLegacyParamSchema = z.object({\n account: z.number().optional(),\n address: z.string(),\n amount: z.coerce.string(),\n network: z.string(),\n});\nexport type RpcSendTransferLegacyParams = z.infer<typeof rpcSendTransferLegacyParamSchema>;\n\nconst transferRecipientParamSchema = z.object({\n address: z.string(),\n amount: z.coerce.string(),\n});\n\nexport const rpcSendTransferNewParamsSchema = z.object({\n account: z.number().optional(),\n recipients: z.array(transferRecipientParamSchema),\n network: z.string(),\n});\nexport type RpcSendTransferParams = z.infer<typeof rpcSendTransferNewParamsSchema>;\n\nexport const rpcSendTransferParamsSchema = z.union([\n rpcSendTransferLegacyParamSchema,\n rpcSendTransferNewParamsSchema,\n]);\n\nexport const sendTransfer = defineRpcEndpoint({\n method: 'sendTransfer',\n params: rpcSendTransferParamsSchema,\n result: z.object({\n txid: z.string(),\n }),\n});\n","// See JSON RPC specification\n// https://www.jsonrpc.org/specification\nimport { z } from 'zod';\n\nconst rpcParameterByPositionSchema = z.string().array();\nexport type RpcParameterByPosition = z.infer<typeof rpcParameterByPositionSchema>;\n\nconst rpcParameterByNameSchema = z.record(z.string(), z.unknown());\nexport type RpcParameterByName = z.infer<typeof rpcParameterByNameSchema>;\n\nexport const rpcParameterSchema = z.union([\n rpcParameterByPositionSchema,\n rpcParameterByNameSchema,\n z.undefined(),\n]);\nexport type RpcParameter = z.infer<typeof rpcParameterSchema>;\n\nexport const rpcBasePropsSchema = z.object({\n jsonrpc: z.literal('2.0'),\n id: z.string(),\n});\n\ntype BaseRpcRequestSchema = typeof rpcBasePropsSchema;\nexport type RpcBaseProps = z.infer<typeof rpcBasePropsSchema>;\n\n//\n// RPC Request\n// {\n// \"jsonrpc\": \"2.0\",\n// \"id\": \"123\",\n// \"method\": \"signPsbt\",\n// \"params\": { \"psbt\": \"dead…beef\" },\n// }\nexport function createRpcRequestSchema<TMethod extends string>(\n method: TMethod\n): z.ZodObject<BaseRpcRequestSchema['shape'] & { method: z.ZodLiteral<TMethod> }>;\nexport function createRpcRequestSchema<TMethod extends string, TParam extends z.ZodTypeAny>(\n method: TMethod,\n paramsSchema: TParam\n): z.ZodObject<BaseRpcRequestSchema['shape'] & { method: z.ZodLiteral<TMethod>; params: TParam }>;\nexport function createRpcRequestSchema<TMethod extends string, TParam extends z.ZodTypeAny>(\n method: TMethod,\n paramsSchema?: TParam\n) {\n // Unable to type this without the any, however the return type is corrects\n if (!paramsSchema) return rpcBasePropsSchema.extend({ method: z.literal(method) }) as any;\n\n return rpcBasePropsSchema.extend({\n method: z.literal(method),\n params: paramsSchema,\n });\n}\n\n//\n// RPC Error Body\n\nexport enum RpcErrorCode {\n // Spec defined server errors\n PARSE_ERROR = -32700,\n INVALID_REQUEST = -32600,\n METHOD_NOT_FOUND = -32601,\n INVALID_PARAMS = -32602,\n INTERNAL_ERROR = -32603,\n SERVER_ERROR = -32000,\n // Client defined errors\n USER_REJECTION = 4001,\n METHOD_NOT_SUPPORTED = 4002,\n // gRPC spec borrowed\n PERMISSION_DENIED = 7,\n UNAUTHENTICATED = 16,\n}\nconst rpcErrorCodeSchema = z.enum(RpcErrorCode);\n\nexport function createRpcErrorBodySchema<TErrorData extends z.ZodTypeAny>(\n errorDataSchema: TErrorData\n) {\n return z.object({\n code: z.union([z.number(), rpcErrorCodeSchema]),\n message: z.string(),\n data: errorDataSchema.optional(),\n });\n}\n\ntype RpcErrorBodySchema<TErrorData extends RpcParameter = RpcParameter> = ReturnType<\n typeof createRpcErrorBodySchema<z.ZodType<TErrorData>>\n>;\n\nexport type RpcErrorBody<TErrorData extends RpcParameter = RpcParameter> = z.infer<\n RpcErrorBodySchema<TErrorData>\n>;\n\n//\n// RPC Error Response\nexport function createRpcErrorResponseSchema<\n TError extends z.ZodType<RpcErrorBody> = z.ZodType<RpcErrorBody>,\n>(errorSchema: TError) {\n return rpcBasePropsSchema.extend({ error: errorSchema });\n}\n\nexport const defaultErrorSchema = createRpcErrorBodySchema(z.any());\n\ntype RpcErrorResponseSchema<TError extends RpcErrorBody = RpcErrorBody> = ReturnType<\n typeof createRpcErrorResponseSchema<z.ZodType<TError>>\n>;\n\nexport type RpcErrorResponse<TError extends RpcErrorBody = RpcErrorBody> = z.infer<\n RpcErrorResponseSchema<TError>\n>;\n\n//\n// RPC Success Response\n// {\n// \"jsonrpc\": \"2.0\",\n// \"id\": \"123\",\n// \"result\": { \"signature\": \"dead…beef\" }\n// }\nexport function createRpcSuccessResponseSchema<TResult extends z.ZodTypeAny>(\n resultSchema: TResult\n) {\n return rpcBasePropsSchema.extend({ result: resultSchema });\n}\n\nexport type RpcSuccessResponseSchema<TResult extends object> = ReturnType<\n typeof createRpcSuccessResponseSchema<z.ZodType<TResult>>\n>;\n\nexport type RpcSuccessResponse<TResult extends object> = z.infer<RpcSuccessResponseSchema<TResult>>;\n\nexport function createRpcResponseSchema<\n TResult extends z.ZodTypeAny,\n TError extends z.ZodType<RpcErrorBody>,\n>(resultSchema: TResult, errorSchema: TError) {\n return z.union([\n createRpcSuccessResponseSchema<TResult>(resultSchema),\n createRpcErrorResponseSchema<TError>(errorSchema),\n ]);\n}\n\nexport type ExtractSuccessResponse<T> = Extract<T, { result: any }>;\n\nexport type ExtractErrorResponse<T> = Extract<T, { error: any }>;\n\nexport type RpcRequest<T extends { request: z.ZodType }> = z.infer<T['request']>;\nexport type RpcParams<T extends { params: z.ZodType }> = z.infer<T['params']>;\n\nexport type RpcResponse<T extends { response: z.ZodType }> = z.infer<T['response']>;\nexport type RpcResult<T extends { result: z.ZodType }> = z.infer<T['result']>;\n\nexport function defineRpcEndpoint<\n Method extends string,\n Result extends z.ZodTypeAny,\n Error extends z.ZodType<RpcErrorBody>,\n>(props: {\n method: Method;\n result: Result;\n error?: Error;\n}): {\n method: Method;\n result: Result;\n error: Error;\n request: ReturnType<typeof createRpcRequestSchema<Method>>;\n response: ReturnType<typeof createRpcResponseSchema<Result, Error>>;\n};\nexport function defineRpcEndpoint<\n Method extends string,\n Result extends z.ZodTypeAny,\n Error extends z.ZodType<RpcErrorBody>,\n Params extends z.ZodTypeAny,\n>(props: {\n method: Method;\n params: Params;\n result: Result;\n error?: Error;\n}): {\n method: Method;\n params: Params;\n result: Result;\n error: Error;\n request: ReturnType<typeof createRpcRequestSchema<Method, Params>>;\n response: ReturnType<typeof createRpcResponseSchema<Result, Error>>;\n};\nexport function defineRpcEndpoint<\n Method extends string,\n Result extends z.ZodTypeAny,\n Error extends z.ZodType<RpcErrorBody>,\n Params extends z.ZodTypeAny,\n>(\n props:\n | { method: Method; params: Params; result: Result; error?: Error }\n | { method: Method; result: Result; error?: Error }\n):\n | {\n method: Method;\n params: Params;\n result: Result;\n error: Error;\n request: ReturnType<typeof createRpcRequestSchema<Method, Params>>;\n response: ReturnType<typeof createRpcResponseSchema<Result, Error>>;\n }\n | {\n method: Method;\n result: Result;\n error: Error;\n request: ReturnType<typeof createRpcRequestSchema<Method>>;\n response: ReturnType<typeof createRpcResponseSchema<Result, Error>>;\n } {\n const error = (props.error ?? defaultErrorSchema) as Error;\n\n if ('params' in props) {\n return {\n method: props.method,\n params: props.params,\n result: props.result,\n error,\n request: createRpcRequestSchema(props.method, props.params),\n response: createRpcResponseSchema(props.result, error),\n };\n }\n return {\n method: props.method,\n result: props.result,\n error,\n request: createRpcRequestSchema(props.method),\n response: createRpcResponseSchema(props.result, error),\n };\n}\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\n// Implements BIP-322\n// https://github.com/bitcoin/bips/blob/master/bip-0322.mediawiki\nexport const Bip322MessageTypesSchema = z.enum(['legacy', 'bip322']);\nexport type Bip322MessageTypes = z.infer<typeof Bip322MessageTypesSchema>;\n\nconst supportedPaymentTypesSchema = z.enum(['p2tr', 'p2wpkh']);\n\nexport const signMessageRequestParamsSchema = z.looseObject({\n type: Bip322MessageTypesSchema.optional(),\n account: z.number().optional(),\n message: z.string(),\n paymentType: supportedPaymentTypesSchema,\n});\n\nexport const signMessage = defineRpcEndpoint({\n method: 'signMessage',\n params: signMessageRequestParamsSchema,\n result: z.looseObject({\n signature: z.string(),\n address: z.string(),\n }),\n});\n","import { z } from 'zod';\n\nimport { testIsNumberOrArrayOfNumbers } from '../../rpc/helpers';\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\n/**\n * DEFAULT -- all inputs, all outputs\n * ALL -- all inputs, all outputs\n * NONE -- all inputs, no outputs\n * SINGLE -- all inputs, one output of the same index\n * ALL + ANYONE -- one input, all outputs\n * NONE + ANYONE -- one input, no outputs\n * SINGLE -- one inputs, one output of the same index\n */\nexport const signatureHash = {\n DEFAULT: 0x00,\n ALL: 0x01,\n NONE: 0x02,\n SINGLE: 0x03,\n ALL_ANYONECANPAY: 0x81,\n NONE_ANYONECANPAY: 0x82,\n SINGLE_ANYONECANPAY: 0x83,\n} as const;\n\nconst signPsbtRequestParamsSchema = z.object({\n account: z.number().optional(),\n allowedSighash: z.array(z.any()).optional(),\n broadcast: z.boolean().optional(),\n hex: z.string(),\n network: z.string().optional(),\n signAtIndex: z\n .union([z.number(), z.array(z.number())])\n .optional()\n .refine(testIsNumberOrArrayOfNumbers),\n});\n\nconst signPsbtResponseBodySchema = z.object({\n hex: z.string(),\n txid: z.string().optional(),\n});\n\nexport const signPsbt = defineRpcEndpoint({\n method: 'signPsbt',\n params: signPsbtRequestParamsSchema,\n result: signPsbtResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { isNumberOrNumberList, isUndefined } from '@leather.io/utils';\n\nexport function testIsNumberOrArrayOfNumbers(value: unknown) {\n if (isUndefined(value)) return true;\n return isNumberOrNumberList(value);\n}\n\nexport function encodeBase64Json(payload: Record<any, unknown>) {\n const jsonString = JSON.stringify(payload);\n return btoa(jsonString);\n}\n\nexport function decodeBase64Json(encodedPayload: string): unknown {\n const jsonString = atob(encodedPayload);\n return JSON.parse(jsonString);\n}\n\nexport function createRequestEncoder<T extends z.ZodType<unknown>>(schema: T) {\n function encode(request: z.infer<T>) {\n return encodeBase64Json(schema.parse(request) as any);\n }\n\n function decode(encodedRequest: string): z.infer<T> {\n const parsedJson = decodeBase64Json(encodedRequest);\n return schema.parse(parsedJson);\n }\n\n return { encode, decode };\n}\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../rpc/schemas';\n\nexport const bitcoinPaymentTypesSchema = z.enum(['p2pkh', 'p2sh', 'p2wpkh-p2sh', 'p2wpkh', 'p2tr']);\nexport type BitcoinPaymentTypes = z.infer<typeof bitcoinPaymentTypesSchema>;\n\n/** @deprecated use `BitcoinPaymentTypes` */\nexport type PaymentTypes = BitcoinPaymentTypes;\n\n//\n// Bitcoin\nexport const btcAddressBaseSchema = z.looseObject({\n symbol: z.literal('BTC'),\n type: bitcoinPaymentTypesSchema,\n address: z.string(),\n publicKey: z.string(),\n derivationPath: z.string(),\n});\n\nexport type BtcAddressBase = z.infer<typeof btcAddressBaseSchema>;\n\nconst nativeSegwitAddressSchema = btcAddressBaseSchema.extend({\n type: z.literal('p2wpkh'),\n});\n\nexport type NativeSegwitAddress = z.infer<typeof nativeSegwitAddressSchema>;\n\nconst taprootAddressSchema = btcAddressBaseSchema.extend({\n type: z.literal('p2tr'),\n tweakedPublicKey: z.string(),\n});\n\nexport type TaprootAddress = z.infer<typeof taprootAddressSchema>;\n\nexport const btcAddressSchema = z.discriminatedUnion('type', [\n nativeSegwitAddressSchema,\n taprootAddressSchema,\n]);\n\nexport type BtcAddress = z.infer<typeof btcAddressSchema>;\n\n//\n// Stacks\nexport const stxAddressSchema = z.looseObject({\n symbol: z.literal('STX'),\n address: z.string(),\n publicKey: z.string(),\n});\n\nexport type StxAddress = z.infer<typeof stxAddressSchema>;\n\nexport const addressSchema = z.union([btcAddressSchema, stxAddressSchema]);\n\nexport type Address = z.infer<typeof addressSchema>;\n\n//\n// Combined addresses response\nexport const addressResponseBodySchema = z.looseObject({ addresses: z.array(addressSchema) });\n\nexport const getAddresses = defineRpcEndpoint({\n method: 'getAddresses',\n params: z.object({ network: z.string().optional() }).optional(),\n result: addressResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../rpc/schemas';\n\nconst getInfoResponseBodySchema = z.object({\n version: z.string(),\n supportedMethods: z.array(z.string()).optional(),\n platform: z.union([z.literal('mobile'), z.literal('extension')]),\n});\n\nexport const getInfo = defineRpcEndpoint({\n method: 'getInfo',\n result: getInfoResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../rpc/schemas';\n\nexport const open = defineRpcEndpoint({\n method: 'open',\n params: z.object({ mode: z.enum(['fullpage', 'popup']) }).default({ mode: 'popup' }),\n result: z.object({ success: z.literal(true) }),\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../rpc/schemas';\n\nconst openSwapRequestParamsSchema = z.object({\n base: z.string(),\n quote: z.string(),\n});\n\nconst openSwapResponseBodySchema = z.object({\n message: z.string(),\n});\n\nexport const openSwap = defineRpcEndpoint({\n method: 'openSwap',\n params: openSwapRequestParamsSchema,\n result: openSwapResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\nimport {\n baseStacksTransactionConfigSchema,\n stacksTransactionDetailsSchema,\n} from './_stacks-helpers';\n\nexport const stxCallContract = defineRpcEndpoint({\n method: 'stx_callContract',\n params: z.intersection(\n z.object({\n contract: z.string(),\n functionName: z.string(),\n functionArgs: z.array(z.string()).optional(),\n }),\n baseStacksTransactionConfigSchema\n ),\n result: stacksTransactionDetailsSchema,\n});\n","import { z } from 'zod';\n\nexport const stacksTransactionDetailsSchema = z.object({\n txid: z.string(),\n transaction: z.string(),\n});\n\nexport const baseStacksTransactionConfigSchema = z.object({\n address: z.string().optional(),\n network: z\n .union([\n z.literal('mainnet'),\n z.literal('testnet'),\n z.literal('regtest'),\n z.literal('devnet'),\n z.literal('mocknet'),\n z.string(),\n ])\n .optional(),\n fee: z.coerce.number().optional(),\n nonce: z.coerce.number().optional(),\n // add pc later when imported from stacks.js\n postConditions: z.array(z.string()).optional(),\n postConditionMode: z.union([z.literal('allow'), z.literal('deny')]).optional(),\n sponsored: z.boolean().optional(),\n});\n\nexport type BaseStacksTransactionRpcParams = z.infer<typeof baseStacksTransactionConfigSchema>;\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\nimport {\n baseStacksTransactionConfigSchema,\n stacksTransactionDetailsSchema,\n} from './_stacks-helpers';\n\nexport const stxDeployContractResponseBodySchema = stacksTransactionDetailsSchema;\n\nexport const stxDeployContract = defineRpcEndpoint({\n method: 'stx_deployContract',\n params: z.intersection(\n z.object({\n name: z.string(),\n clarityCode: z.string(),\n clarityVersion: z.coerce.number().optional(),\n }),\n baseStacksTransactionConfigSchema\n ),\n result: stxDeployContractResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\nexport const stxAddressItemSchema = z.object({\n address: z.string(),\n publicKey: z.string(),\n derivationPath: z.string(),\n});\n\nexport const stxGetAddressesResponseBodySchema = z.array(stxAddressItemSchema);\n\nexport const stxGetAddresses = defineRpcEndpoint({\n method: 'stx_getAddresses',\n params: z.object({ network: z.string().optional() }).optional(),\n result: stxGetAddressesResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\nexport const stxGetNetworks = defineRpcEndpoint({\n method: 'stx_getNetworks',\n result: z.object({\n active: z.string(),\n networks: z.array(\n z.object({\n id: z.string(),\n chainId: z.string(),\n transactionVersion: z.string(),\n })\n ),\n }),\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\n// Request\nexport const stxSignMessageTypeSchema = z.enum(['utf8', 'structured']);\nexport type StxSignMessageTypes = z.infer<typeof stxSignMessageTypeSchema>;\n\nexport const stxSignMessageRequestBaseSchema = z.object({\n messageType: stxSignMessageTypeSchema.optional().default('utf8'),\n network: z.optional(z.enum(['mainnet', 'testnet', 'devnet', 'mocknet'])),\n});\nexport type StxSignMessageRequestParamsBase = z.infer<typeof stxSignMessageRequestBaseSchema>;\n\nexport const stxSignMessageRequestUtf8Schema = stxSignMessageRequestBaseSchema.and(\n z.object({\n messageType: z.literal('utf8').default('utf8'),\n message: z.string(),\n })\n);\nexport type StxSignMessageRequestParamsUtf8 = z.infer<typeof stxSignMessageRequestUtf8Schema>;\n\nexport const stxSignMessageRequestStructuredSchema = stxSignMessageRequestBaseSchema.and(\n z.object({\n messageType: z.literal('structured'),\n domain: z.string(),\n message: z.string(),\n })\n);\nexport type StxSignMessageRequestParamsStructured = z.infer<\n typeof stxSignMessageRequestStructuredSchema\n>;\n\nexport const stxSignMessage = defineRpcEndpoint({\n method: 'stx_signMessage',\n params: z.union([stxSignMessageRequestUtf8Schema, stxSignMessageRequestStructuredSchema]),\n result: z.object({\n signature: z.string(),\n publicKey: z.string(),\n }),\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\nexport const stxSignStructuredMessage = defineRpcEndpoint({\n method: 'stx_signStructuredMessage',\n params: z.object({\n domain: z.string(),\n message: z.string(),\n }),\n result: z.object({\n signature: z.string(),\n publicKey: z.string(),\n }),\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\n// Leather's RPC params prior to SIP-30\n// Developers should be warned away from this structure\nexport const stxSignTransactionRequestLeatherRpcParamsSchema = z.object({\n txHex: z.string(),\n stxAddress: z.string().optional(),\n attachment: z.string().optional(),\n accountIndex: z.string().optional(),\n network: z.string().optional(),\n});\n\n// SIP-30 params\nexport const stxSignTransactionRequestSip30ParamsSchema = z.object({\n transaction: z.string(),\n network: z.string().optional(),\n});\n\nexport const stxSignTransaction = defineRpcEndpoint({\n method: 'stx_signTransaction',\n params: z.union([\n stxSignTransactionRequestLeatherRpcParamsSchema,\n stxSignTransactionRequestSip30ParamsSchema,\n ]),\n result: z.object({\n transaction: z.string(),\n txHex: z.string(),\n }),\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\nimport {\n baseStacksTransactionConfigSchema,\n stacksTransactionDetailsSchema,\n} from './_stacks-helpers';\n\nexport const stxTransferSip9Nft = defineRpcEndpoint({\n method: 'stx_transferSip9Nft',\n params: z.intersection(\n z.looseObject({\n recipient: z.string(),\n asset: z.string(),\n assetId: z.string(),\n }),\n baseStacksTransactionConfigSchema\n ),\n result: stacksTransactionDetailsSchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\nimport {\n baseStacksTransactionConfigSchema,\n stacksTransactionDetailsSchema,\n} from './_stacks-helpers';\n\nexport const stxTransferSip10Ft = defineRpcEndpoint({\n method: 'stx_transferSip10Ft',\n params: z.intersection(\n z.looseObject({\n recipient: z.string(),\n asset: z.string(),\n amount: z.coerce.number(),\n }),\n baseStacksTransactionConfigSchema\n ),\n result: stacksTransactionDetailsSchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\nimport {\n baseStacksTransactionConfigSchema,\n stacksTransactionDetailsSchema,\n} from './_stacks-helpers';\n\nexport const stxTransferStx = defineRpcEndpoint({\n method: 'stx_transferStx',\n params: z.intersection(\n z.object({\n recipient: z.string(),\n amount: z.coerce.number().int('Amount must be an integer describing µSTX'),\n memo: z.string().optional(),\n }),\n baseStacksTransactionConfigSchema\n ),\n result: stacksTransactionDetailsSchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\nimport { stacksTransactionDetailsSchema } from './_stacks-helpers';\n\n// Request\nexport const stxUpdateProfileRequestParamsSchema = z.object({\n // schema.org/Person\n person: z.looseObject({}),\n});\n\nexport const stxUpdateProfileResponseBodySchema = stacksTransactionDetailsSchema;\n\nexport const stxUpdateProfile = defineRpcEndpoint({\n method: 'stx_updateProfile',\n params: stxUpdateProfileRequestParamsSchema,\n result: stxUpdateProfileResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../rpc/schemas';\n\nexport const supportedMethodSchema = z.object({\n name: z.string(),\n docsUrl: z.union([z.string(), z.array(z.string())]),\n});\n\nexport const supportedMethods = defineRpcEndpoint({\n method: 'supportedMethods',\n result: z.object({\n documentation: z.string(),\n methods: z.array(supportedMethodSchema),\n }),\n});\n","import {\n BufferCV,\n ClarityType,\n ClarityValue,\n ContractIdString,\n ContractPrincipalCV,\n FalseCV,\n IntCV,\n NoneCV,\n ResponseErrorCV,\n ResponseOkCV,\n SomeCV,\n StandardPrincipalCV,\n StringAsciiCV,\n StringUtf8CV,\n TrueCV,\n UIntCV,\n} from '@stacks/transactions';\nimport { z } from 'zod';\n\n// Clarity values\nexport const cvIntSchema: z.ZodType<IntCV> = z.object({\n type: z.literal('int') as z.ZodLiteral<ClarityType.Int>,\n value: z.coerce.string(),\n});\n\nexport const cvUintSchema: z.ZodType<UIntCV> = z.object({\n type: z.literal('uint') as z.ZodLiteral<ClarityType.UInt>,\n value: z.coerce.string(),\n});\n\nexport const cvBufferSchema: z.ZodType<BufferCV> = z.object({\n type: z.literal('buffer') as z.ZodLiteral<ClarityType.Buffer>,\n value: z.string(),\n});\n\nexport const cvTrueSchema: z.ZodType<TrueCV> = z.object({\n type: z.literal('true') as z.ZodLiteral<ClarityType.BoolTrue>,\n});\n\nexport const cvFalseSchema: z.ZodType<FalseCV> = z.object({\n type: z.literal('false') as z.ZodLiteral<ClarityType.BoolFalse>,\n});\n\nexport const cvAddressSchema: z.ZodType<StandardPrincipalCV> = z.object({\n type: z.literal('address') as z.ZodLiteral<ClarityType.PrincipalStandard>,\n value: z.string(),\n});\n\nexport const cvContractSchema: z.ZodType<ContractPrincipalCV> = z.object({\n type: z.literal('contract') as z.ZodLiteral<ClarityType.PrincipalContract>,\n value: z.string().refine(value => value.includes('.'), {\n message: 'Stacks contract principals are denoted with a dot',\n }) as z.ZodType<ContractIdString>,\n});\n\nexport const cvAsciiSchema: z.ZodType<StringAsciiCV> = z.object({\n type: z.literal('ascii') as z.ZodLiteral<ClarityType.StringASCII>,\n value: z.string(),\n});\n\nexport const cvUtf8Schema: z.ZodType<StringUtf8CV> = z.object({\n type: z.literal('utf8') as z.ZodLiteral<ClarityType.StringUTF8>,\n value: z.string(),\n});\n\nexport const cvOkSchema: z.ZodType<ResponseOkCV> = z\n .object({\n type: z.literal('ok') as z.ZodLiteral<ClarityType.ResponseOk>,\n value: z.lazy(() => clarityValueSchema),\n })\n .transform(value => value as ResponseOkCV);\n\nexport const cvErrSchema: z.ZodType<ResponseErrorCV> = z.object({\n type: z.literal('err') as z.ZodLiteral<ClarityType.ResponseErr>,\n value: z.lazy(() => clarityValueSchema),\n});\n\nexport const cvNoneSchema: z.ZodType<NoneCV> = z.object({\n type: z.literal('none') as z.ZodLiteral<ClarityType.OptionalNone>,\n});\n\nexport const cvSomeSchema: z.ZodType<SomeCV> = z.object({\n type: z.literal('some') as z.ZodLiteral<ClarityType.OptionalSome>,\n value: z.lazy(() => clarityValueSchema),\n});\n\nexport const cvListSchema = z.object({\n type: z.literal('list') as z.ZodLiteral<ClarityType.List>,\n value: z.array(z.lazy(() => clarityValueSchema)),\n});\n\nexport const cvTupleSchema = z.object({\n type: z.literal('tuple') as z.ZodLiteral<ClarityType.Tuple>,\n value: z.record(\n z.string(),\n z.lazy(() => clarityValueSchema)\n ),\n});\n\nexport const clarityValueSchema = z.union([\n cvIntSchema,\n cvUintSchema,\n cvBufferSchema,\n cvTrueSchema,\n cvFalseSchema,\n cvAddressSchema,\n cvContractSchema,\n cvOkSchema,\n cvErrSchema,\n cvNoneSchema,\n cvSomeSchema,\n cvListSchema,\n cvTupleSchema,\n cvAsciiSchema,\n cvUtf8Schema,\n]) as z.ZodType<ClarityValue>;\n"],"mappings":"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","names":["import_zod","RpcErrorCode","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","endpoint"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/methods/bitcoin/send-transfer.ts","../src/rpc/schemas.ts","../src/methods/bitcoin/sign-message.ts","../src/methods/bitcoin/sign-psbt.ts","../src/rpc/helpers.ts","../src/methods/get-addresses.ts","../src/methods/get-info.ts","../src/methods/open.ts","../src/methods/open-swap.ts","../src/methods/stacks/stx-call-contract.ts","../src/methods/stacks/_stacks-helpers.ts","../src/methods/stacks/stx-deploy-contract.ts","../src/methods/stacks/stx-get-addresses.ts","../src/methods/stacks/stx-get-networks.ts","../src/methods/stacks/stx-sign-message.ts","../src/methods/stacks/stx-sign-structured-message.ts","../src/methods/stacks/stx-sign-transaction.ts","../src/methods/stacks/stx-transfer-sip9-nft.ts","../src/methods/stacks/stx-transfer-sip10-ft.ts","../src/methods/stacks/stx-transfer-stx.ts","../src/methods/stacks/stx-update-profile.ts","../src/methods/supported-methods.ts","../src/methods/stacks/_clarity-values.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { ValueOf } from '@leather.io/models';\n\nimport { sendTransfer } from './methods/bitcoin/send-transfer';\nimport { signMessage } from './methods/bitcoin/sign-message';\nimport { signPsbt } from './methods/bitcoin/sign-psbt';\nimport { getAddresses } from './methods/get-addresses';\nimport { getInfo } from './methods/get-info';\nimport { open } from './methods/open';\nimport { openSwap } from './methods/open-swap';\nimport { stxCallContract } from './methods/stacks/stx-call-contract';\nimport { stxDeployContract } from './methods/stacks/stx-deploy-contract';\nimport { stxGetAddresses } from './methods/stacks/stx-get-addresses';\nimport { stxGetNetworks } from './methods/stacks/stx-get-networks';\nimport { stxSignMessage } from './methods/stacks/stx-sign-message';\nimport { stxSignStructuredMessage } from './methods/stacks/stx-sign-structured-message';\nimport { stxSignTransaction } from './methods/stacks/stx-sign-transaction';\nimport { stxTransferSip9Nft } from './methods/stacks/stx-transfer-sip9-nft';\nimport { stxTransferSip10Ft } from './methods/stacks/stx-transfer-sip10-ft';\nimport { stxTransferStx } from './methods/stacks/stx-transfer-stx';\nimport { stxUpdateProfile } from './methods/stacks/stx-update-profile';\nimport { supportedMethods } from './methods/supported-methods';\nimport { ExtractErrorResponse, ExtractSuccessResponse } from './rpc/schemas';\n\nexport * from './rpc/schemas';\nexport * from './rpc/helpers';\nexport * from './methods/get-info';\nexport * from './methods/bitcoin/sign-psbt';\nexport * from './methods/get-addresses';\nexport * from './methods/bitcoin/send-transfer';\nexport * from './methods/bitcoin/sign-message';\nexport * from './methods/stacks/_clarity-values';\nexport * from './methods/stacks/_stacks-helpers';\nexport * from './methods/stacks/stx-sign-message';\nexport * from './methods/stacks/stx-sign-structured-message';\nexport * from './methods/stacks/stx-sign-transaction';\nexport * from './methods/stacks/stx-call-contract';\nexport * from './methods/stacks/stx-deploy-contract';\nexport * from './methods/stacks/stx-get-addresses';\nexport * from './methods/stacks/stx-transfer-sip9-nft';\nexport * from './methods/stacks/stx-transfer-sip10-ft';\nexport * from './methods/stacks/stx-transfer-stx';\nexport * from './methods/stacks/stx-update-profile';\nexport * from './methods/supported-methods';\nexport * from './methods/open';\nexport * from './methods/open-swap';\n\nexport const endpoints = {\n getAddresses,\n getInfo,\n open,\n openSwap,\n sendTransfer,\n signMessage,\n signPsbt,\n stxCallContract,\n stxDeployContract,\n stxGetAddresses,\n stxGetNetworks,\n stxSignMessage,\n stxSignStructuredMessage,\n stxSignTransaction,\n stxTransferSip10Ft,\n stxTransferSip9Nft,\n stxTransferStx,\n stxUpdateProfile,\n supportedMethods,\n} as const;\n\ntype EndpointMap = (typeof endpoints)[keyof typeof endpoints];\n\n/**\n * Request map keyed by exact method name e.g. `stx_signMessage`\n */\nexport type RpcEndpointMap = {\n [E in EndpointMap as E['method']]: {\n request: z.infer<E['request']>;\n response: z.infer<E['response']>;\n };\n};\n\n/** @deprecated */\nexport type LeatherRpcMethodMap = RpcEndpointMap;\n\nexport type RpcRequests = ValueOf<RpcEndpointMap>['request'];\n\nexport type RpcResponses = ValueOf<RpcEndpointMap>['response'];\n\nexport type RpcMethodNames = keyof RpcEndpointMap;\n\nexport interface RequestFn {\n <\n T extends RpcMethodNames,\n P extends RpcEndpointMap[T]['request'] extends { params?: infer P } ? P : never,\n >(\n arg: T,\n params: P\n // `Promise` throws if unsuccessful, so here we extract the successful response\n ): Promise<ExtractSuccessResponse<RpcEndpointMap[T]['response']>>;\n <T extends RpcMethodNames>(\n arg: T\n // `Promise` throws if unsuccessful, so here we extract the successful response\n ): Promise<ExtractSuccessResponse<RpcEndpointMap[T]['response']>>;\n}\n\nexport interface ListenFn {\n (method: string, callback: () => void): () => void;\n}\n\n/**\n * Leather's provider object set on webpage global `window` object. Set this as\n * a global type object in your project.\n *\n * @example\n * ```\n * declare global {\n * interface Window {\n * LeatherProvider?: LeatherProvider;\n * }\n * }\n * ```\n */\nexport interface LeatherProvider {\n /**\n * Request method. Takes a method name, and optional parameters\n * @returns Typed response for corresponding method\n */\n request: RequestFn;\n /**\n * Listen method. Takes an event name to listen for, and a callback function.\n * @returns An unsubscribe function\n */\n listen: ListenFn;\n}\n\n/**\n * Helper to create a successful RPC response object\n */\nexport function createRpcSuccessResponse<T extends RpcMethodNames>(\n _method: T,\n response: Omit<ExtractSuccessResponse<RpcEndpointMap[T]['response']>, 'jsonrpc'>\n) {\n return { jsonrpc: '2.0', ...response } as ExtractSuccessResponse<RpcEndpointMap[T]['response']>;\n}\n\n/**\n * Helper to create an error RPC response object\n */\nexport function createRpcErrorResponse<T extends RpcMethodNames>(\n _method: T,\n error: Omit<ExtractErrorResponse<RpcEndpointMap[T]['response']>, 'jsonrpc'>\n) {\n return { jsonrpc: '2.0', ...error } as RpcEndpointMap[T]['response'];\n}\n\nexport function parseEndpointRequest(data: unknown): RpcRequests | undefined {\n const endpointRequests = Object.values(endpoints).map(endpoint => endpoint.request);\n const endpoint = endpointRequests.find(req => req.safeParse(data).success);\n return endpoint?.safeParse(data).data;\n}\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\nexport const rpcSendTransferLegacyParamSchema = z.object({\n account: z.number().optional(),\n address: z.string(),\n amount: z.coerce.string(),\n network: z.string(),\n});\nexport type RpcSendTransferLegacyParams = z.infer<typeof rpcSendTransferLegacyParamSchema>;\n\nconst transferRecipientParamSchema = z.object({\n address: z.string(),\n amount: z.coerce.string(),\n});\n\nexport const rpcSendTransferNewParamsSchema = z.object({\n account: z.number().optional(),\n recipients: z.array(transferRecipientParamSchema),\n network: z.string(),\n});\nexport type RpcSendTransferParams = z.infer<typeof rpcSendTransferNewParamsSchema>;\n\nexport const rpcSendTransferParamsSchema = z.union([\n rpcSendTransferLegacyParamSchema,\n rpcSendTransferNewParamsSchema,\n]);\n\nexport const sendTransfer = defineRpcEndpoint({\n method: 'sendTransfer',\n params: rpcSendTransferParamsSchema,\n result: z.object({\n txid: z.string(),\n }),\n});\n","// See JSON RPC specification\n// https://www.jsonrpc.org/specification\nimport { z } from 'zod';\n\nconst rpcParameterByPositionSchema = z.string().array();\nexport type RpcParameterByPosition = z.infer<typeof rpcParameterByPositionSchema>;\n\nconst rpcParameterByNameSchema = z.record(z.string(), z.unknown());\nexport type RpcParameterByName = z.infer<typeof rpcParameterByNameSchema>;\n\nexport const rpcParameterSchema = z.union([\n rpcParameterByPositionSchema,\n rpcParameterByNameSchema,\n z.undefined(),\n]);\nexport type RpcParameter = z.infer<typeof rpcParameterSchema>;\n\nexport const rpcBasePropsSchema = z.object({\n jsonrpc: z.literal('2.0'),\n id: z.string(),\n});\n\ntype BaseRpcRequestSchema = typeof rpcBasePropsSchema;\nexport type RpcBaseProps = z.infer<typeof rpcBasePropsSchema>;\n\n//\n// RPC Request\n// {\n// \"jsonrpc\": \"2.0\",\n// \"id\": \"123\",\n// \"method\": \"signPsbt\",\n// \"params\": { \"psbt\": \"dead…beef\" },\n// }\nexport function createRpcRequestSchema<TMethod extends string>(\n method: TMethod\n): z.ZodObject<BaseRpcRequestSchema['shape'] & { method: z.ZodLiteral<TMethod> }>;\nexport function createRpcRequestSchema<TMethod extends string, TParam extends z.ZodTypeAny>(\n method: TMethod,\n paramsSchema: TParam\n): z.ZodObject<BaseRpcRequestSchema['shape'] & { method: z.ZodLiteral<TMethod>; params: TParam }>;\nexport function createRpcRequestSchema<TMethod extends string, TParam extends z.ZodTypeAny>(\n method: TMethod,\n paramsSchema?: TParam\n) {\n // Unable to type this without the any, however the return type is corrects\n if (!paramsSchema) return rpcBasePropsSchema.extend({ method: z.literal(method) }) as any;\n\n return rpcBasePropsSchema.extend({\n method: z.literal(method),\n params: paramsSchema,\n });\n}\n\n//\n// RPC Error Body\n\nexport enum RpcErrorCode {\n // Spec defined server errors\n PARSE_ERROR = -32700,\n INVALID_REQUEST = -32600,\n METHOD_NOT_FOUND = -32601,\n INVALID_PARAMS = -32602,\n INTERNAL_ERROR = -32603,\n SERVER_ERROR = -32000,\n // Client defined errors\n USER_REJECTION = 4001,\n METHOD_NOT_SUPPORTED = 4002,\n // gRPC spec borrowed\n PERMISSION_DENIED = 7,\n UNAUTHENTICATED = 16,\n}\nconst rpcErrorCodeSchema = z.enum(RpcErrorCode);\n\nexport function createRpcErrorBodySchema<TErrorData extends z.ZodTypeAny>(\n errorDataSchema: TErrorData\n) {\n return z.object({\n code: z.union([z.number(), rpcErrorCodeSchema]),\n message: z.string(),\n data: errorDataSchema.optional(),\n });\n}\n\ntype RpcErrorBodySchema<TErrorData extends RpcParameter = RpcParameter> = ReturnType<\n typeof createRpcErrorBodySchema<z.ZodType<TErrorData>>\n>;\n\nexport type RpcErrorBody<TErrorData extends RpcParameter = RpcParameter> = z.infer<\n RpcErrorBodySchema<TErrorData>\n>;\n\n//\n// RPC Error Response\nexport function createRpcErrorResponseSchema<\n TError extends z.ZodType<RpcErrorBody> = z.ZodType<RpcErrorBody>,\n>(errorSchema: TError) {\n return rpcBasePropsSchema.extend({ error: errorSchema });\n}\n\nexport const defaultErrorSchema = createRpcErrorBodySchema(z.any());\n\ntype RpcErrorResponseSchema<TError extends RpcErrorBody = RpcErrorBody> = ReturnType<\n typeof createRpcErrorResponseSchema<z.ZodType<TError>>\n>;\n\nexport type RpcErrorResponse<TError extends RpcErrorBody = RpcErrorBody> = z.infer<\n RpcErrorResponseSchema<TError>\n>;\n\n//\n// RPC Success Response\n// {\n// \"jsonrpc\": \"2.0\",\n// \"id\": \"123\",\n// \"result\": { \"signature\": \"dead…beef\" }\n// }\nexport function createRpcSuccessResponseSchema<TResult extends z.ZodTypeAny>(\n resultSchema: TResult\n) {\n return rpcBasePropsSchema.extend({ result: resultSchema });\n}\n\nexport type RpcSuccessResponseSchema<TResult extends object> = ReturnType<\n typeof createRpcSuccessResponseSchema<z.ZodType<TResult>>\n>;\n\nexport type RpcSuccessResponse<TResult extends object> = z.infer<RpcSuccessResponseSchema<TResult>>;\n\nexport function createRpcResponseSchema<\n TResult extends z.ZodTypeAny,\n TError extends z.ZodType<RpcErrorBody>,\n>(resultSchema: TResult, errorSchema: TError) {\n return z.union([\n createRpcSuccessResponseSchema<TResult>(resultSchema),\n createRpcErrorResponseSchema<TError>(errorSchema),\n ]);\n}\n\nexport type ExtractSuccessResponse<T> = Extract<T, { result: any }>;\n\nexport type ExtractErrorResponse<T> = Extract<T, { error: any }>;\n\nexport type RpcRequest<T extends { request: z.ZodType }> = z.infer<T['request']>;\nexport type RpcParams<T extends { params: z.ZodType }> = z.infer<T['params']>;\n\nexport type RpcResponse<T extends { response: z.ZodType }> = z.infer<T['response']>;\nexport type RpcResult<T extends { result: z.ZodType }> = z.infer<T['result']>;\n\nexport function defineRpcEndpoint<\n Method extends string,\n Result extends z.ZodTypeAny,\n Error extends z.ZodType<RpcErrorBody>,\n>(props: {\n method: Method;\n result: Result;\n error?: Error;\n}): {\n method: Method;\n result: Result;\n error: Error;\n request: ReturnType<typeof createRpcRequestSchema<Method>>;\n response: ReturnType<typeof createRpcResponseSchema<Result, Error>>;\n};\nexport function defineRpcEndpoint<\n Method extends string,\n Result extends z.ZodTypeAny,\n Error extends z.ZodType<RpcErrorBody>,\n Params extends z.ZodTypeAny,\n>(props: {\n method: Method;\n params: Params;\n result: Result;\n error?: Error;\n}): {\n method: Method;\n params: Params;\n result: Result;\n error: Error;\n request: ReturnType<typeof createRpcRequestSchema<Method, Params>>;\n response: ReturnType<typeof createRpcResponseSchema<Result, Error>>;\n};\nexport function defineRpcEndpoint<\n Method extends string,\n Result extends z.ZodTypeAny,\n Error extends z.ZodType<RpcErrorBody>,\n Params extends z.ZodTypeAny,\n>(\n props:\n | { method: Method; params: Params; result: Result; error?: Error }\n | { method: Method; result: Result; error?: Error }\n):\n | {\n method: Method;\n params: Params;\n result: Result;\n error: Error;\n request: ReturnType<typeof createRpcRequestSchema<Method, Params>>;\n response: ReturnType<typeof createRpcResponseSchema<Result, Error>>;\n }\n | {\n method: Method;\n result: Result;\n error: Error;\n request: ReturnType<typeof createRpcRequestSchema<Method>>;\n response: ReturnType<typeof createRpcResponseSchema<Result, Error>>;\n } {\n const error = (props.error ?? defaultErrorSchema) as Error;\n\n if ('params' in props) {\n return {\n method: props.method,\n params: props.params,\n result: props.result,\n error,\n request: createRpcRequestSchema(props.method, props.params),\n response: createRpcResponseSchema(props.result, error),\n };\n }\n return {\n method: props.method,\n result: props.result,\n error,\n request: createRpcRequestSchema(props.method),\n response: createRpcResponseSchema(props.result, error),\n };\n}\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\n// Implements BIP-322\n// https://github.com/bitcoin/bips/blob/master/bip-0322.mediawiki\nexport const Bip322MessageTypesSchema = z.enum(['legacy', 'bip322']);\nexport type Bip322MessageTypes = z.infer<typeof Bip322MessageTypesSchema>;\n\nconst supportedPaymentTypesSchema = z.enum(['p2tr', 'p2wpkh']);\n\nexport const signMessageRequestParamsSchema = z.looseObject({\n type: Bip322MessageTypesSchema.optional(),\n account: z.number().optional(),\n message: z.string(),\n paymentType: supportedPaymentTypesSchema,\n});\n\nexport const signMessage = defineRpcEndpoint({\n method: 'signMessage',\n params: signMessageRequestParamsSchema,\n result: z.looseObject({\n signature: z.string(),\n address: z.string(),\n }),\n});\n","import { z } from 'zod';\n\nimport { testIsNumberOrArrayOfNumbers } from '../../rpc/helpers';\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\n/**\n * DEFAULT -- all inputs, all outputs\n * ALL -- all inputs, all outputs\n * NONE -- all inputs, no outputs\n * SINGLE -- all inputs, one output of the same index\n * ALL + ANYONE -- one input, all outputs\n * NONE + ANYONE -- one input, no outputs\n * SINGLE -- one inputs, one output of the same index\n */\nexport const signatureHash = {\n DEFAULT: 0x00,\n ALL: 0x01,\n NONE: 0x02,\n SINGLE: 0x03,\n ALL_ANYONECANPAY: 0x81,\n NONE_ANYONECANPAY: 0x82,\n SINGLE_ANYONECANPAY: 0x83,\n} as const;\n\nconst signPsbtRequestParamsSchema = z.object({\n account: z.number().optional(),\n allowedSighash: z.array(z.any()).optional(),\n broadcast: z.boolean().optional(),\n hex: z.string(),\n network: z.string().optional(),\n signAtIndex: z\n .union([z.number(), z.array(z.number())])\n .optional()\n .refine(testIsNumberOrArrayOfNumbers),\n});\n\nconst signPsbtResponseBodySchema = z.object({\n hex: z.string(),\n txid: z.string().optional(),\n});\n\nexport const signPsbt = defineRpcEndpoint({\n method: 'signPsbt',\n params: signPsbtRequestParamsSchema,\n result: signPsbtResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { isNumberOrNumberList, isUndefined } from '@leather.io/utils';\n\nexport function testIsNumberOrArrayOfNumbers(value: unknown) {\n if (isUndefined(value)) return true;\n return isNumberOrNumberList(value);\n}\n\nexport function encodeBase64Json(payload: Record<any, unknown>) {\n const jsonString = JSON.stringify(payload);\n return btoa(jsonString);\n}\n\nexport function decodeBase64Json(encodedPayload: string): unknown {\n const jsonString = atob(encodedPayload);\n return JSON.parse(jsonString);\n}\n\nexport function createRequestEncoder<T extends z.ZodType<unknown>>(schema: T) {\n function encode(request: z.infer<T>) {\n return encodeBase64Json(schema.parse(request) as any);\n }\n\n function decode(encodedRequest: string): z.infer<T> {\n const parsedJson = decodeBase64Json(encodedRequest);\n return schema.parse(parsedJson);\n }\n\n return { encode, decode };\n}\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../rpc/schemas';\n\nexport const bitcoinPaymentTypesSchema = z.enum(['p2pkh', 'p2sh', 'p2wpkh-p2sh', 'p2wpkh', 'p2tr']);\nexport type BitcoinPaymentTypes = z.infer<typeof bitcoinPaymentTypesSchema>;\n\n/** @deprecated use `BitcoinPaymentTypes` */\nexport type PaymentTypes = BitcoinPaymentTypes;\n\n//\n// Bitcoin\nexport const btcAddressBaseSchema = z.looseObject({\n symbol: z.literal('BTC'),\n type: bitcoinPaymentTypesSchema,\n address: z.string(),\n publicKey: z.string(),\n derivationPath: z.string(),\n});\n\nexport type BtcAddressBase = z.infer<typeof btcAddressBaseSchema>;\n\nconst nativeSegwitAddressSchema = btcAddressBaseSchema.extend({\n type: z.literal('p2wpkh'),\n});\n\nexport type NativeSegwitAddress = z.infer<typeof nativeSegwitAddressSchema>;\n\nconst taprootAddressSchema = btcAddressBaseSchema.extend({\n type: z.literal('p2tr'),\n tweakedPublicKey: z.string(),\n});\n\nexport type TaprootAddress = z.infer<typeof taprootAddressSchema>;\n\nexport const btcAddressSchema = z.discriminatedUnion('type', [\n nativeSegwitAddressSchema,\n taprootAddressSchema,\n]);\n\nexport type BtcAddress = z.infer<typeof btcAddressSchema>;\n\n//\n// Stacks\nexport const stxAddressSchema = z.looseObject({\n symbol: z.literal('STX'),\n address: z.string(),\n publicKey: z.string(),\n});\n\nexport type StxAddress = z.infer<typeof stxAddressSchema>;\n\nexport const addressSchema = z.union([btcAddressSchema, stxAddressSchema]);\n\nexport type Address = z.infer<typeof addressSchema>;\n\n//\n// Combined addresses response\nexport const addressResponseBodySchema = z.looseObject({ addresses: z.array(addressSchema) });\n\nexport const getAddresses = defineRpcEndpoint({\n method: 'getAddresses',\n params: z.object({ network: z.string().optional() }).optional(),\n result: addressResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../rpc/schemas';\n\nconst getInfoResponseBodySchema = z.object({\n version: z.string(),\n supportedMethods: z.array(z.string()).optional(),\n platform: z.union([z.literal('mobile'), z.literal('extension')]),\n});\n\nexport const getInfo = defineRpcEndpoint({\n method: 'getInfo',\n result: getInfoResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../rpc/schemas';\n\nexport const open = defineRpcEndpoint({\n method: 'open',\n params: z.object({ mode: z.enum(['fullpage', 'popup']) }).default({ mode: 'popup' }),\n result: z.object({ success: z.literal(true) }),\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../rpc/schemas';\n\nconst openSwapRequestParamsSchema = z.object({\n base: z.string(),\n quote: z.string(),\n});\n\nconst openSwapResponseBodySchema = z.object({\n message: z.string(),\n});\n\nexport const openSwap = defineRpcEndpoint({\n method: 'openSwap',\n params: openSwapRequestParamsSchema,\n result: openSwapResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\nimport {\n baseStacksTransactionConfigSchema,\n stacksTransactionDetailsSchema,\n} from './_stacks-helpers';\n\nexport const stxCallContract = defineRpcEndpoint({\n method: 'stx_callContract',\n params: z.intersection(\n z.object({\n contract: z.string(),\n functionName: z.string(),\n functionArgs: z.array(z.string()).optional(),\n }),\n baseStacksTransactionConfigSchema\n ),\n result: stacksTransactionDetailsSchema,\n});\n","import { z } from 'zod';\n\nexport const stacksTransactionDetailsSchema = z.object({\n txid: z.string(),\n transaction: z.string(),\n});\n\nexport const baseStacksTransactionConfigSchema = z.object({\n address: z.string().optional(),\n network: z\n .union([\n z.literal('mainnet'),\n z.literal('testnet'),\n z.literal('regtest'),\n z.literal('devnet'),\n z.literal('mocknet'),\n z.string(),\n ])\n .optional(),\n fee: z.coerce.number().optional(),\n nonce: z.coerce.number().optional(),\n // add pc later when imported from stacks.js\n postConditions: z.array(z.string()).optional(),\n postConditionMode: z.union([z.literal('allow'), z.literal('deny')]).optional(),\n sponsored: z.boolean().optional(),\n});\n\nexport type BaseStacksTransactionRpcParams = z.infer<typeof baseStacksTransactionConfigSchema>;\n","import { z } from 'zod';\n\nimport { clarityContractSchema } from '@leather.io/stacks';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\nimport {\n baseStacksTransactionConfigSchema,\n stacksTransactionDetailsSchema,\n} from './_stacks-helpers';\n\nexport const stxDeployContractResponseBodySchema = stacksTransactionDetailsSchema;\n\nexport const stxDeployContract = defineRpcEndpoint({\n method: 'stx_deployContract',\n params: z.intersection(\n z.object({\n name: z.string(),\n clarityCode: clarityContractSchema,\n clarityVersion: z.coerce.number().optional(),\n }),\n baseStacksTransactionConfigSchema\n ),\n result: stxDeployContractResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\nexport const stxAddressItemSchema = z.object({\n address: z.string(),\n publicKey: z.string(),\n derivationPath: z.string(),\n});\n\nexport const stxGetAddressesResponseBodySchema = z.array(stxAddressItemSchema);\n\nexport const stxGetAddresses = defineRpcEndpoint({\n method: 'stx_getAddresses',\n params: z.object({ network: z.string().optional() }).optional(),\n result: stxGetAddressesResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\nexport const stxGetNetworks = defineRpcEndpoint({\n method: 'stx_getNetworks',\n result: z.object({\n active: z.string(),\n networks: z.array(\n z.object({\n id: z.string(),\n chainId: z.string(),\n transactionVersion: z.string(),\n })\n ),\n }),\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\n// Request\nexport const stxSignMessageTypeSchema = z.enum(['utf8', 'structured']);\nexport type StxSignMessageTypes = z.infer<typeof stxSignMessageTypeSchema>;\n\nexport const stxSignMessageRequestBaseSchema = z.object({\n messageType: stxSignMessageTypeSchema.optional().default('utf8'),\n network: z.optional(z.enum(['mainnet', 'testnet', 'devnet', 'mocknet'])),\n});\nexport type StxSignMessageRequestParamsBase = z.infer<typeof stxSignMessageRequestBaseSchema>;\n\nexport const stxSignMessageRequestUtf8Schema = stxSignMessageRequestBaseSchema.and(\n z.object({\n messageType: z.literal('utf8').default('utf8'),\n message: z.string(),\n })\n);\nexport type StxSignMessageRequestParamsUtf8 = z.infer<typeof stxSignMessageRequestUtf8Schema>;\n\nexport const stxSignMessageRequestStructuredSchema = stxSignMessageRequestBaseSchema.and(\n z.object({\n messageType: z.literal('structured'),\n domain: z.string(),\n message: z.string(),\n })\n);\nexport type StxSignMessageRequestParamsStructured = z.infer<\n typeof stxSignMessageRequestStructuredSchema\n>;\n\nexport const stxSignMessage = defineRpcEndpoint({\n method: 'stx_signMessage',\n params: z.union([stxSignMessageRequestUtf8Schema, stxSignMessageRequestStructuredSchema]),\n result: z.object({\n signature: z.string(),\n publicKey: z.string(),\n }),\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\nexport const stxSignStructuredMessage = defineRpcEndpoint({\n method: 'stx_signStructuredMessage',\n params: z.object({\n domain: z.string(),\n message: z.string(),\n }),\n result: z.object({\n signature: z.string(),\n publicKey: z.string(),\n }),\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\n// Leather's RPC params prior to SIP-30\n// Developers should be warned away from this structure\nexport const stxSignTransactionRequestLeatherRpcParamsSchema = z.object({\n txHex: z.string(),\n stxAddress: z.string().optional(),\n attachment: z.string().optional(),\n accountIndex: z.string().optional(),\n network: z.string().optional(),\n});\n\n// SIP-30 params\nexport const stxSignTransactionRequestSip30ParamsSchema = z.object({\n transaction: z.string(),\n network: z.string().optional(),\n});\n\nexport const stxSignTransaction = defineRpcEndpoint({\n method: 'stx_signTransaction',\n params: z.union([\n stxSignTransactionRequestLeatherRpcParamsSchema,\n stxSignTransactionRequestSip30ParamsSchema,\n ]),\n result: z.object({\n transaction: z.string(),\n txHex: z.string(),\n }),\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\nimport {\n baseStacksTransactionConfigSchema,\n stacksTransactionDetailsSchema,\n} from './_stacks-helpers';\n\nexport const stxTransferSip9Nft = defineRpcEndpoint({\n method: 'stx_transferSip9Nft',\n params: z.intersection(\n z.looseObject({\n recipient: z.string(),\n asset: z.string(),\n assetId: z.string(),\n }),\n baseStacksTransactionConfigSchema\n ),\n result: stacksTransactionDetailsSchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\nimport {\n baseStacksTransactionConfigSchema,\n stacksTransactionDetailsSchema,\n} from './_stacks-helpers';\n\nexport const stxTransferSip10Ft = defineRpcEndpoint({\n method: 'stx_transferSip10Ft',\n params: z.intersection(\n z.looseObject({\n recipient: z.string(),\n asset: z.string(),\n amount: z.coerce.number(),\n }),\n baseStacksTransactionConfigSchema\n ),\n result: stacksTransactionDetailsSchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\nimport {\n baseStacksTransactionConfigSchema,\n stacksTransactionDetailsSchema,\n} from './_stacks-helpers';\n\nexport const stxTransferStx = defineRpcEndpoint({\n method: 'stx_transferStx',\n params: z.intersection(\n z.object({\n recipient: z.string(),\n amount: z.coerce.number().int('Amount must be an integer describing µSTX'),\n memo: z.string().optional(),\n }),\n baseStacksTransactionConfigSchema\n ),\n result: stacksTransactionDetailsSchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\nimport { stacksTransactionDetailsSchema } from './_stacks-helpers';\n\n// Request\nexport const stxUpdateProfileRequestParamsSchema = z.object({\n // schema.org/Person\n person: z.looseObject({}),\n});\n\nexport const stxUpdateProfileResponseBodySchema = stacksTransactionDetailsSchema;\n\nexport const stxUpdateProfile = defineRpcEndpoint({\n method: 'stx_updateProfile',\n params: stxUpdateProfileRequestParamsSchema,\n result: stxUpdateProfileResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../rpc/schemas';\n\nexport const supportedMethodSchema = z.object({\n name: z.string(),\n docsUrl: z.union([z.string(), z.array(z.string())]),\n});\n\nexport const supportedMethods = defineRpcEndpoint({\n method: 'supportedMethods',\n result: z.object({\n documentation: z.string(),\n methods: z.array(supportedMethodSchema),\n }),\n});\n","import {\n BufferCV,\n ClarityType,\n ClarityValue,\n ContractIdString,\n ContractPrincipalCV,\n FalseCV,\n IntCV,\n NoneCV,\n ResponseErrorCV,\n ResponseOkCV,\n SomeCV,\n StandardPrincipalCV,\n StringAsciiCV,\n StringUtf8CV,\n TrueCV,\n UIntCV,\n} from '@stacks/transactions';\nimport { z } from 'zod';\n\n// Clarity values\nexport const cvIntSchema: z.ZodType<IntCV> = z.object({\n type: z.literal('int') as z.ZodLiteral<ClarityType.Int>,\n value: z.coerce.string(),\n});\n\nexport const cvUintSchema: z.ZodType<UIntCV> = z.object({\n type: z.literal('uint') as z.ZodLiteral<ClarityType.UInt>,\n value: z.coerce.string(),\n});\n\nexport const cvBufferSchema: z.ZodType<BufferCV> = z.object({\n type: z.literal('buffer') as z.ZodLiteral<ClarityType.Buffer>,\n value: z.string(),\n});\n\nexport const cvTrueSchema: z.ZodType<TrueCV> = z.object({\n type: z.literal('true') as z.ZodLiteral<ClarityType.BoolTrue>,\n});\n\nexport const cvFalseSchema: z.ZodType<FalseCV> = z.object({\n type: z.literal('false') as z.ZodLiteral<ClarityType.BoolFalse>,\n});\n\nexport const cvAddressSchema: z.ZodType<StandardPrincipalCV> = z.object({\n type: z.literal('address') as z.ZodLiteral<ClarityType.PrincipalStandard>,\n value: z.string(),\n});\n\nexport const cvContractSchema: z.ZodType<ContractPrincipalCV> = z.object({\n type: z.literal('contract') as z.ZodLiteral<ClarityType.PrincipalContract>,\n value: z.string().refine(value => value.includes('.'), {\n message: 'Stacks contract principals are denoted with a dot',\n }) as z.ZodType<ContractIdString>,\n});\n\nexport const cvAsciiSchema: z.ZodType<StringAsciiCV> = z.object({\n type: z.literal('ascii') as z.ZodLiteral<ClarityType.StringASCII>,\n value: z.string(),\n});\n\nexport const cvUtf8Schema: z.ZodType<StringUtf8CV> = z.object({\n type: z.literal('utf8') as z.ZodLiteral<ClarityType.StringUTF8>,\n value: z.string(),\n});\n\nexport const cvOkSchema: z.ZodType<ResponseOkCV> = z\n .object({\n type: z.literal('ok') as z.ZodLiteral<ClarityType.ResponseOk>,\n value: z.lazy(() => clarityValueSchema),\n })\n .transform(value => value as ResponseOkCV);\n\nexport const cvErrSchema: z.ZodType<ResponseErrorCV> = z.object({\n type: z.literal('err') as z.ZodLiteral<ClarityType.ResponseErr>,\n value: z.lazy(() => clarityValueSchema),\n});\n\nexport const cvNoneSchema: z.ZodType<NoneCV> = z.object({\n type: z.literal('none') as z.ZodLiteral<ClarityType.OptionalNone>,\n});\n\nexport const cvSomeSchema: z.ZodType<SomeCV> = z.object({\n type: z.literal('some') as z.ZodLiteral<ClarityType.OptionalSome>,\n value: z.lazy(() => clarityValueSchema),\n});\n\nexport const cvListSchema = z.object({\n type: z.literal('list') as z.ZodLiteral<ClarityType.List>,\n value: z.array(z.lazy(() => clarityValueSchema)),\n});\n\nexport const cvTupleSchema = z.object({\n type: z.literal('tuple') as z.ZodLiteral<ClarityType.Tuple>,\n value: z.record(\n z.string(),\n z.lazy(() => clarityValueSchema)\n ),\n});\n\nexport const clarityValueSchema = z.union([\n cvIntSchema,\n cvUintSchema,\n cvBufferSchema,\n cvTrueSchema,\n cvFalseSchema,\n cvAddressSchema,\n cvContractSchema,\n cvOkSchema,\n cvErrSchema,\n cvNoneSchema,\n cvSomeSchema,\n cvListSchema,\n cvTupleSchema,\n cvAsciiSchema,\n cvUtf8Schema,\n]) as z.ZodType<ClarityValue>;\n"],"mappings":"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","names":["import_zod","RpcErrorCode","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","endpoint"]}
package/dist/index.js CHANGED
@@ -291,13 +291,14 @@ var stxCallContract = defineRpcEndpoint({
291
291
 
292
292
  // src/methods/stacks/stx-deploy-contract.ts
293
293
  import { z as z11 } from "zod";
294
+ import { clarityContractSchema } from "@leather.io/stacks";
294
295
  var stxDeployContractResponseBodySchema = stacksTransactionDetailsSchema;
295
296
  var stxDeployContract = defineRpcEndpoint({
296
297
  method: "stx_deployContract",
297
298
  params: z11.intersection(
298
299
  z11.object({
299
300
  name: z11.string(),
300
- clarityCode: z11.string(),
301
+ clarityCode: clarityContractSchema,
301
302
  clarityVersion: z11.coerce.number().optional()
302
303
  }),
303
304
  baseStacksTransactionConfigSchema
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/methods/bitcoin/send-transfer.ts","../src/rpc/schemas.ts","../src/methods/bitcoin/sign-message.ts","../src/methods/bitcoin/sign-psbt.ts","../src/rpc/helpers.ts","../src/methods/get-addresses.ts","../src/methods/get-info.ts","../src/methods/open.ts","../src/methods/open-swap.ts","../src/methods/stacks/stx-call-contract.ts","../src/methods/stacks/_stacks-helpers.ts","../src/methods/stacks/stx-deploy-contract.ts","../src/methods/stacks/stx-get-addresses.ts","../src/methods/stacks/stx-get-networks.ts","../src/methods/stacks/stx-sign-message.ts","../src/methods/stacks/stx-sign-structured-message.ts","../src/methods/stacks/stx-sign-transaction.ts","../src/methods/stacks/stx-transfer-sip9-nft.ts","../src/methods/stacks/stx-transfer-sip10-ft.ts","../src/methods/stacks/stx-transfer-stx.ts","../src/methods/stacks/stx-update-profile.ts","../src/methods/supported-methods.ts","../src/methods/stacks/_clarity-values.ts","../src/index.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\nexport const rpcSendTransferLegacyParamSchema = z.object({\n account: z.number().optional(),\n address: z.string(),\n amount: z.coerce.string(),\n network: z.string(),\n});\nexport type RpcSendTransferLegacyParams = z.infer<typeof rpcSendTransferLegacyParamSchema>;\n\nconst transferRecipientParamSchema = z.object({\n address: z.string(),\n amount: z.coerce.string(),\n});\n\nexport const rpcSendTransferNewParamsSchema = z.object({\n account: z.number().optional(),\n recipients: z.array(transferRecipientParamSchema),\n network: z.string(),\n});\nexport type RpcSendTransferParams = z.infer<typeof rpcSendTransferNewParamsSchema>;\n\nexport const rpcSendTransferParamsSchema = z.union([\n rpcSendTransferLegacyParamSchema,\n rpcSendTransferNewParamsSchema,\n]);\n\nexport const sendTransfer = defineRpcEndpoint({\n method: 'sendTransfer',\n params: rpcSendTransferParamsSchema,\n result: z.object({\n txid: z.string(),\n }),\n});\n","// See JSON RPC specification\n// https://www.jsonrpc.org/specification\nimport { z } from 'zod';\n\nconst rpcParameterByPositionSchema = z.string().array();\nexport type RpcParameterByPosition = z.infer<typeof rpcParameterByPositionSchema>;\n\nconst rpcParameterByNameSchema = z.record(z.string(), z.unknown());\nexport type RpcParameterByName = z.infer<typeof rpcParameterByNameSchema>;\n\nexport const rpcParameterSchema = z.union([\n rpcParameterByPositionSchema,\n rpcParameterByNameSchema,\n z.undefined(),\n]);\nexport type RpcParameter = z.infer<typeof rpcParameterSchema>;\n\nexport const rpcBasePropsSchema = z.object({\n jsonrpc: z.literal('2.0'),\n id: z.string(),\n});\n\ntype BaseRpcRequestSchema = typeof rpcBasePropsSchema;\nexport type RpcBaseProps = z.infer<typeof rpcBasePropsSchema>;\n\n//\n// RPC Request\n// {\n// \"jsonrpc\": \"2.0\",\n// \"id\": \"123\",\n// \"method\": \"signPsbt\",\n// \"params\": { \"psbt\": \"dead…beef\" },\n// }\nexport function createRpcRequestSchema<TMethod extends string>(\n method: TMethod\n): z.ZodObject<BaseRpcRequestSchema['shape'] & { method: z.ZodLiteral<TMethod> }>;\nexport function createRpcRequestSchema<TMethod extends string, TParam extends z.ZodTypeAny>(\n method: TMethod,\n paramsSchema: TParam\n): z.ZodObject<BaseRpcRequestSchema['shape'] & { method: z.ZodLiteral<TMethod>; params: TParam }>;\nexport function createRpcRequestSchema<TMethod extends string, TParam extends z.ZodTypeAny>(\n method: TMethod,\n paramsSchema?: TParam\n) {\n // Unable to type this without the any, however the return type is corrects\n if (!paramsSchema) return rpcBasePropsSchema.extend({ method: z.literal(method) }) as any;\n\n return rpcBasePropsSchema.extend({\n method: z.literal(method),\n params: paramsSchema,\n });\n}\n\n//\n// RPC Error Body\n\nexport enum RpcErrorCode {\n // Spec defined server errors\n PARSE_ERROR = -32700,\n INVALID_REQUEST = -32600,\n METHOD_NOT_FOUND = -32601,\n INVALID_PARAMS = -32602,\n INTERNAL_ERROR = -32603,\n SERVER_ERROR = -32000,\n // Client defined errors\n USER_REJECTION = 4001,\n METHOD_NOT_SUPPORTED = 4002,\n // gRPC spec borrowed\n PERMISSION_DENIED = 7,\n UNAUTHENTICATED = 16,\n}\nconst rpcErrorCodeSchema = z.enum(RpcErrorCode);\n\nexport function createRpcErrorBodySchema<TErrorData extends z.ZodTypeAny>(\n errorDataSchema: TErrorData\n) {\n return z.object({\n code: z.union([z.number(), rpcErrorCodeSchema]),\n message: z.string(),\n data: errorDataSchema.optional(),\n });\n}\n\ntype RpcErrorBodySchema<TErrorData extends RpcParameter = RpcParameter> = ReturnType<\n typeof createRpcErrorBodySchema<z.ZodType<TErrorData>>\n>;\n\nexport type RpcErrorBody<TErrorData extends RpcParameter = RpcParameter> = z.infer<\n RpcErrorBodySchema<TErrorData>\n>;\n\n//\n// RPC Error Response\nexport function createRpcErrorResponseSchema<\n TError extends z.ZodType<RpcErrorBody> = z.ZodType<RpcErrorBody>,\n>(errorSchema: TError) {\n return rpcBasePropsSchema.extend({ error: errorSchema });\n}\n\nexport const defaultErrorSchema = createRpcErrorBodySchema(z.any());\n\ntype RpcErrorResponseSchema<TError extends RpcErrorBody = RpcErrorBody> = ReturnType<\n typeof createRpcErrorResponseSchema<z.ZodType<TError>>\n>;\n\nexport type RpcErrorResponse<TError extends RpcErrorBody = RpcErrorBody> = z.infer<\n RpcErrorResponseSchema<TError>\n>;\n\n//\n// RPC Success Response\n// {\n// \"jsonrpc\": \"2.0\",\n// \"id\": \"123\",\n// \"result\": { \"signature\": \"dead…beef\" }\n// }\nexport function createRpcSuccessResponseSchema<TResult extends z.ZodTypeAny>(\n resultSchema: TResult\n) {\n return rpcBasePropsSchema.extend({ result: resultSchema });\n}\n\nexport type RpcSuccessResponseSchema<TResult extends object> = ReturnType<\n typeof createRpcSuccessResponseSchema<z.ZodType<TResult>>\n>;\n\nexport type RpcSuccessResponse<TResult extends object> = z.infer<RpcSuccessResponseSchema<TResult>>;\n\nexport function createRpcResponseSchema<\n TResult extends z.ZodTypeAny,\n TError extends z.ZodType<RpcErrorBody>,\n>(resultSchema: TResult, errorSchema: TError) {\n return z.union([\n createRpcSuccessResponseSchema<TResult>(resultSchema),\n createRpcErrorResponseSchema<TError>(errorSchema),\n ]);\n}\n\nexport type ExtractSuccessResponse<T> = Extract<T, { result: any }>;\n\nexport type ExtractErrorResponse<T> = Extract<T, { error: any }>;\n\nexport type RpcRequest<T extends { request: z.ZodType }> = z.infer<T['request']>;\nexport type RpcParams<T extends { params: z.ZodType }> = z.infer<T['params']>;\n\nexport type RpcResponse<T extends { response: z.ZodType }> = z.infer<T['response']>;\nexport type RpcResult<T extends { result: z.ZodType }> = z.infer<T['result']>;\n\nexport function defineRpcEndpoint<\n Method extends string,\n Result extends z.ZodTypeAny,\n Error extends z.ZodType<RpcErrorBody>,\n>(props: {\n method: Method;\n result: Result;\n error?: Error;\n}): {\n method: Method;\n result: Result;\n error: Error;\n request: ReturnType<typeof createRpcRequestSchema<Method>>;\n response: ReturnType<typeof createRpcResponseSchema<Result, Error>>;\n};\nexport function defineRpcEndpoint<\n Method extends string,\n Result extends z.ZodTypeAny,\n Error extends z.ZodType<RpcErrorBody>,\n Params extends z.ZodTypeAny,\n>(props: {\n method: Method;\n params: Params;\n result: Result;\n error?: Error;\n}): {\n method: Method;\n params: Params;\n result: Result;\n error: Error;\n request: ReturnType<typeof createRpcRequestSchema<Method, Params>>;\n response: ReturnType<typeof createRpcResponseSchema<Result, Error>>;\n};\nexport function defineRpcEndpoint<\n Method extends string,\n Result extends z.ZodTypeAny,\n Error extends z.ZodType<RpcErrorBody>,\n Params extends z.ZodTypeAny,\n>(\n props:\n | { method: Method; params: Params; result: Result; error?: Error }\n | { method: Method; result: Result; error?: Error }\n):\n | {\n method: Method;\n params: Params;\n result: Result;\n error: Error;\n request: ReturnType<typeof createRpcRequestSchema<Method, Params>>;\n response: ReturnType<typeof createRpcResponseSchema<Result, Error>>;\n }\n | {\n method: Method;\n result: Result;\n error: Error;\n request: ReturnType<typeof createRpcRequestSchema<Method>>;\n response: ReturnType<typeof createRpcResponseSchema<Result, Error>>;\n } {\n const error = (props.error ?? defaultErrorSchema) as Error;\n\n if ('params' in props) {\n return {\n method: props.method,\n params: props.params,\n result: props.result,\n error,\n request: createRpcRequestSchema(props.method, props.params),\n response: createRpcResponseSchema(props.result, error),\n };\n }\n return {\n method: props.method,\n result: props.result,\n error,\n request: createRpcRequestSchema(props.method),\n response: createRpcResponseSchema(props.result, error),\n };\n}\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\n// Implements BIP-322\n// https://github.com/bitcoin/bips/blob/master/bip-0322.mediawiki\nexport const Bip322MessageTypesSchema = z.enum(['legacy', 'bip322']);\nexport type Bip322MessageTypes = z.infer<typeof Bip322MessageTypesSchema>;\n\nconst supportedPaymentTypesSchema = z.enum(['p2tr', 'p2wpkh']);\n\nexport const signMessageRequestParamsSchema = z.looseObject({\n type: Bip322MessageTypesSchema.optional(),\n account: z.number().optional(),\n message: z.string(),\n paymentType: supportedPaymentTypesSchema,\n});\n\nexport const signMessage = defineRpcEndpoint({\n method: 'signMessage',\n params: signMessageRequestParamsSchema,\n result: z.looseObject({\n signature: z.string(),\n address: z.string(),\n }),\n});\n","import { z } from 'zod';\n\nimport { testIsNumberOrArrayOfNumbers } from '../../rpc/helpers';\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\n/**\n * DEFAULT -- all inputs, all outputs\n * ALL -- all inputs, all outputs\n * NONE -- all inputs, no outputs\n * SINGLE -- all inputs, one output of the same index\n * ALL + ANYONE -- one input, all outputs\n * NONE + ANYONE -- one input, no outputs\n * SINGLE -- one inputs, one output of the same index\n */\nexport const signatureHash = {\n DEFAULT: 0x00,\n ALL: 0x01,\n NONE: 0x02,\n SINGLE: 0x03,\n ALL_ANYONECANPAY: 0x81,\n NONE_ANYONECANPAY: 0x82,\n SINGLE_ANYONECANPAY: 0x83,\n} as const;\n\nconst signPsbtRequestParamsSchema = z.object({\n account: z.number().optional(),\n allowedSighash: z.array(z.any()).optional(),\n broadcast: z.boolean().optional(),\n hex: z.string(),\n network: z.string().optional(),\n signAtIndex: z\n .union([z.number(), z.array(z.number())])\n .optional()\n .refine(testIsNumberOrArrayOfNumbers),\n});\n\nconst signPsbtResponseBodySchema = z.object({\n hex: z.string(),\n txid: z.string().optional(),\n});\n\nexport const signPsbt = defineRpcEndpoint({\n method: 'signPsbt',\n params: signPsbtRequestParamsSchema,\n result: signPsbtResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { isNumberOrNumberList, isUndefined } from '@leather.io/utils';\n\nexport function testIsNumberOrArrayOfNumbers(value: unknown) {\n if (isUndefined(value)) return true;\n return isNumberOrNumberList(value);\n}\n\nexport function encodeBase64Json(payload: Record<any, unknown>) {\n const jsonString = JSON.stringify(payload);\n return btoa(jsonString);\n}\n\nexport function decodeBase64Json(encodedPayload: string): unknown {\n const jsonString = atob(encodedPayload);\n return JSON.parse(jsonString);\n}\n\nexport function createRequestEncoder<T extends z.ZodType<unknown>>(schema: T) {\n function encode(request: z.infer<T>) {\n return encodeBase64Json(schema.parse(request) as any);\n }\n\n function decode(encodedRequest: string): z.infer<T> {\n const parsedJson = decodeBase64Json(encodedRequest);\n return schema.parse(parsedJson);\n }\n\n return { encode, decode };\n}\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../rpc/schemas';\n\nexport const bitcoinPaymentTypesSchema = z.enum(['p2pkh', 'p2sh', 'p2wpkh-p2sh', 'p2wpkh', 'p2tr']);\nexport type BitcoinPaymentTypes = z.infer<typeof bitcoinPaymentTypesSchema>;\n\n/** @deprecated use `BitcoinPaymentTypes` */\nexport type PaymentTypes = BitcoinPaymentTypes;\n\n//\n// Bitcoin\nexport const btcAddressBaseSchema = z.looseObject({\n symbol: z.literal('BTC'),\n type: bitcoinPaymentTypesSchema,\n address: z.string(),\n publicKey: z.string(),\n derivationPath: z.string(),\n});\n\nexport type BtcAddressBase = z.infer<typeof btcAddressBaseSchema>;\n\nconst nativeSegwitAddressSchema = btcAddressBaseSchema.extend({\n type: z.literal('p2wpkh'),\n});\n\nexport type NativeSegwitAddress = z.infer<typeof nativeSegwitAddressSchema>;\n\nconst taprootAddressSchema = btcAddressBaseSchema.extend({\n type: z.literal('p2tr'),\n tweakedPublicKey: z.string(),\n});\n\nexport type TaprootAddress = z.infer<typeof taprootAddressSchema>;\n\nexport const btcAddressSchema = z.discriminatedUnion('type', [\n nativeSegwitAddressSchema,\n taprootAddressSchema,\n]);\n\nexport type BtcAddress = z.infer<typeof btcAddressSchema>;\n\n//\n// Stacks\nexport const stxAddressSchema = z.looseObject({\n symbol: z.literal('STX'),\n address: z.string(),\n publicKey: z.string(),\n});\n\nexport type StxAddress = z.infer<typeof stxAddressSchema>;\n\nexport const addressSchema = z.union([btcAddressSchema, stxAddressSchema]);\n\nexport type Address = z.infer<typeof addressSchema>;\n\n//\n// Combined addresses response\nexport const addressResponseBodySchema = z.looseObject({ addresses: z.array(addressSchema) });\n\nexport const getAddresses = defineRpcEndpoint({\n method: 'getAddresses',\n params: z.object({ network: z.string().optional() }).optional(),\n result: addressResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../rpc/schemas';\n\nconst getInfoResponseBodySchema = z.object({\n version: z.string(),\n supportedMethods: z.array(z.string()).optional(),\n platform: z.union([z.literal('mobile'), z.literal('extension')]),\n});\n\nexport const getInfo = defineRpcEndpoint({\n method: 'getInfo',\n result: getInfoResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../rpc/schemas';\n\nexport const open = defineRpcEndpoint({\n method: 'open',\n params: z.object({ mode: z.enum(['fullpage', 'popup']) }).default({ mode: 'popup' }),\n result: z.object({ success: z.literal(true) }),\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../rpc/schemas';\n\nconst openSwapRequestParamsSchema = z.object({\n base: z.string(),\n quote: z.string(),\n});\n\nconst openSwapResponseBodySchema = z.object({\n message: z.string(),\n});\n\nexport const openSwap = defineRpcEndpoint({\n method: 'openSwap',\n params: openSwapRequestParamsSchema,\n result: openSwapResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\nimport {\n baseStacksTransactionConfigSchema,\n stacksTransactionDetailsSchema,\n} from './_stacks-helpers';\n\nexport const stxCallContract = defineRpcEndpoint({\n method: 'stx_callContract',\n params: z.intersection(\n z.object({\n contract: z.string(),\n functionName: z.string(),\n functionArgs: z.array(z.string()).optional(),\n }),\n baseStacksTransactionConfigSchema\n ),\n result: stacksTransactionDetailsSchema,\n});\n","import { z } from 'zod';\n\nexport const stacksTransactionDetailsSchema = z.object({\n txid: z.string(),\n transaction: z.string(),\n});\n\nexport const baseStacksTransactionConfigSchema = z.object({\n address: z.string().optional(),\n network: z\n .union([\n z.literal('mainnet'),\n z.literal('testnet'),\n z.literal('regtest'),\n z.literal('devnet'),\n z.literal('mocknet'),\n z.string(),\n ])\n .optional(),\n fee: z.coerce.number().optional(),\n nonce: z.coerce.number().optional(),\n // add pc later when imported from stacks.js\n postConditions: z.array(z.string()).optional(),\n postConditionMode: z.union([z.literal('allow'), z.literal('deny')]).optional(),\n sponsored: z.boolean().optional(),\n});\n\nexport type BaseStacksTransactionRpcParams = z.infer<typeof baseStacksTransactionConfigSchema>;\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\nimport {\n baseStacksTransactionConfigSchema,\n stacksTransactionDetailsSchema,\n} from './_stacks-helpers';\n\nexport const stxDeployContractResponseBodySchema = stacksTransactionDetailsSchema;\n\nexport const stxDeployContract = defineRpcEndpoint({\n method: 'stx_deployContract',\n params: z.intersection(\n z.object({\n name: z.string(),\n clarityCode: z.string(),\n clarityVersion: z.coerce.number().optional(),\n }),\n baseStacksTransactionConfigSchema\n ),\n result: stxDeployContractResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\nexport const stxAddressItemSchema = z.object({\n address: z.string(),\n publicKey: z.string(),\n derivationPath: z.string(),\n});\n\nexport const stxGetAddressesResponseBodySchema = z.array(stxAddressItemSchema);\n\nexport const stxGetAddresses = defineRpcEndpoint({\n method: 'stx_getAddresses',\n params: z.object({ network: z.string().optional() }).optional(),\n result: stxGetAddressesResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\nexport const stxGetNetworks = defineRpcEndpoint({\n method: 'stx_getNetworks',\n result: z.object({\n active: z.string(),\n networks: z.array(\n z.object({\n id: z.string(),\n chainId: z.string(),\n transactionVersion: z.string(),\n })\n ),\n }),\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\n// Request\nexport const stxSignMessageTypeSchema = z.enum(['utf8', 'structured']);\nexport type StxSignMessageTypes = z.infer<typeof stxSignMessageTypeSchema>;\n\nexport const stxSignMessageRequestBaseSchema = z.object({\n messageType: stxSignMessageTypeSchema.optional().default('utf8'),\n network: z.optional(z.enum(['mainnet', 'testnet', 'devnet', 'mocknet'])),\n});\nexport type StxSignMessageRequestParamsBase = z.infer<typeof stxSignMessageRequestBaseSchema>;\n\nexport const stxSignMessageRequestUtf8Schema = stxSignMessageRequestBaseSchema.and(\n z.object({\n messageType: z.literal('utf8').default('utf8'),\n message: z.string(),\n })\n);\nexport type StxSignMessageRequestParamsUtf8 = z.infer<typeof stxSignMessageRequestUtf8Schema>;\n\nexport const stxSignMessageRequestStructuredSchema = stxSignMessageRequestBaseSchema.and(\n z.object({\n messageType: z.literal('structured'),\n domain: z.string(),\n message: z.string(),\n })\n);\nexport type StxSignMessageRequestParamsStructured = z.infer<\n typeof stxSignMessageRequestStructuredSchema\n>;\n\nexport const stxSignMessage = defineRpcEndpoint({\n method: 'stx_signMessage',\n params: z.union([stxSignMessageRequestUtf8Schema, stxSignMessageRequestStructuredSchema]),\n result: z.object({\n signature: z.string(),\n publicKey: z.string(),\n }),\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\nexport const stxSignStructuredMessage = defineRpcEndpoint({\n method: 'stx_signStructuredMessage',\n params: z.object({\n domain: z.string(),\n message: z.string(),\n }),\n result: z.object({\n signature: z.string(),\n publicKey: z.string(),\n }),\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\n// Leather's RPC params prior to SIP-30\n// Developers should be warned away from this structure\nexport const stxSignTransactionRequestLeatherRpcParamsSchema = z.object({\n txHex: z.string(),\n stxAddress: z.string().optional(),\n attachment: z.string().optional(),\n accountIndex: z.string().optional(),\n network: z.string().optional(),\n});\n\n// SIP-30 params\nexport const stxSignTransactionRequestSip30ParamsSchema = z.object({\n transaction: z.string(),\n network: z.string().optional(),\n});\n\nexport const stxSignTransaction = defineRpcEndpoint({\n method: 'stx_signTransaction',\n params: z.union([\n stxSignTransactionRequestLeatherRpcParamsSchema,\n stxSignTransactionRequestSip30ParamsSchema,\n ]),\n result: z.object({\n transaction: z.string(),\n txHex: z.string(),\n }),\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\nimport {\n baseStacksTransactionConfigSchema,\n stacksTransactionDetailsSchema,\n} from './_stacks-helpers';\n\nexport const stxTransferSip9Nft = defineRpcEndpoint({\n method: 'stx_transferSip9Nft',\n params: z.intersection(\n z.looseObject({\n recipient: z.string(),\n asset: z.string(),\n assetId: z.string(),\n }),\n baseStacksTransactionConfigSchema\n ),\n result: stacksTransactionDetailsSchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\nimport {\n baseStacksTransactionConfigSchema,\n stacksTransactionDetailsSchema,\n} from './_stacks-helpers';\n\nexport const stxTransferSip10Ft = defineRpcEndpoint({\n method: 'stx_transferSip10Ft',\n params: z.intersection(\n z.looseObject({\n recipient: z.string(),\n asset: z.string(),\n amount: z.coerce.number(),\n }),\n baseStacksTransactionConfigSchema\n ),\n result: stacksTransactionDetailsSchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\nimport {\n baseStacksTransactionConfigSchema,\n stacksTransactionDetailsSchema,\n} from './_stacks-helpers';\n\nexport const stxTransferStx = defineRpcEndpoint({\n method: 'stx_transferStx',\n params: z.intersection(\n z.object({\n recipient: z.string(),\n amount: z.coerce.number().int('Amount must be an integer describing µSTX'),\n memo: z.string().optional(),\n }),\n baseStacksTransactionConfigSchema\n ),\n result: stacksTransactionDetailsSchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\nimport { stacksTransactionDetailsSchema } from './_stacks-helpers';\n\n// Request\nexport const stxUpdateProfileRequestParamsSchema = z.object({\n // schema.org/Person\n person: z.looseObject({}),\n});\n\nexport const stxUpdateProfileResponseBodySchema = stacksTransactionDetailsSchema;\n\nexport const stxUpdateProfile = defineRpcEndpoint({\n method: 'stx_updateProfile',\n params: stxUpdateProfileRequestParamsSchema,\n result: stxUpdateProfileResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../rpc/schemas';\n\nexport const supportedMethodSchema = z.object({\n name: z.string(),\n docsUrl: z.union([z.string(), z.array(z.string())]),\n});\n\nexport const supportedMethods = defineRpcEndpoint({\n method: 'supportedMethods',\n result: z.object({\n documentation: z.string(),\n methods: z.array(supportedMethodSchema),\n }),\n});\n","import {\n BufferCV,\n ClarityType,\n ClarityValue,\n ContractIdString,\n ContractPrincipalCV,\n FalseCV,\n IntCV,\n NoneCV,\n ResponseErrorCV,\n ResponseOkCV,\n SomeCV,\n StandardPrincipalCV,\n StringAsciiCV,\n StringUtf8CV,\n TrueCV,\n UIntCV,\n} from '@stacks/transactions';\nimport { z } from 'zod';\n\n// Clarity values\nexport const cvIntSchema: z.ZodType<IntCV> = z.object({\n type: z.literal('int') as z.ZodLiteral<ClarityType.Int>,\n value: z.coerce.string(),\n});\n\nexport const cvUintSchema: z.ZodType<UIntCV> = z.object({\n type: z.literal('uint') as z.ZodLiteral<ClarityType.UInt>,\n value: z.coerce.string(),\n});\n\nexport const cvBufferSchema: z.ZodType<BufferCV> = z.object({\n type: z.literal('buffer') as z.ZodLiteral<ClarityType.Buffer>,\n value: z.string(),\n});\n\nexport const cvTrueSchema: z.ZodType<TrueCV> = z.object({\n type: z.literal('true') as z.ZodLiteral<ClarityType.BoolTrue>,\n});\n\nexport const cvFalseSchema: z.ZodType<FalseCV> = z.object({\n type: z.literal('false') as z.ZodLiteral<ClarityType.BoolFalse>,\n});\n\nexport const cvAddressSchema: z.ZodType<StandardPrincipalCV> = z.object({\n type: z.literal('address') as z.ZodLiteral<ClarityType.PrincipalStandard>,\n value: z.string(),\n});\n\nexport const cvContractSchema: z.ZodType<ContractPrincipalCV> = z.object({\n type: z.literal('contract') as z.ZodLiteral<ClarityType.PrincipalContract>,\n value: z.string().refine(value => value.includes('.'), {\n message: 'Stacks contract principals are denoted with a dot',\n }) as z.ZodType<ContractIdString>,\n});\n\nexport const cvAsciiSchema: z.ZodType<StringAsciiCV> = z.object({\n type: z.literal('ascii') as z.ZodLiteral<ClarityType.StringASCII>,\n value: z.string(),\n});\n\nexport const cvUtf8Schema: z.ZodType<StringUtf8CV> = z.object({\n type: z.literal('utf8') as z.ZodLiteral<ClarityType.StringUTF8>,\n value: z.string(),\n});\n\nexport const cvOkSchema: z.ZodType<ResponseOkCV> = z\n .object({\n type: z.literal('ok') as z.ZodLiteral<ClarityType.ResponseOk>,\n value: z.lazy(() => clarityValueSchema),\n })\n .transform(value => value as ResponseOkCV);\n\nexport const cvErrSchema: z.ZodType<ResponseErrorCV> = z.object({\n type: z.literal('err') as z.ZodLiteral<ClarityType.ResponseErr>,\n value: z.lazy(() => clarityValueSchema),\n});\n\nexport const cvNoneSchema: z.ZodType<NoneCV> = z.object({\n type: z.literal('none') as z.ZodLiteral<ClarityType.OptionalNone>,\n});\n\nexport const cvSomeSchema: z.ZodType<SomeCV> = z.object({\n type: z.literal('some') as z.ZodLiteral<ClarityType.OptionalSome>,\n value: z.lazy(() => clarityValueSchema),\n});\n\nexport const cvListSchema = z.object({\n type: z.literal('list') as z.ZodLiteral<ClarityType.List>,\n value: z.array(z.lazy(() => clarityValueSchema)),\n});\n\nexport const cvTupleSchema = z.object({\n type: z.literal('tuple') as z.ZodLiteral<ClarityType.Tuple>,\n value: z.record(\n z.string(),\n z.lazy(() => clarityValueSchema)\n ),\n});\n\nexport const clarityValueSchema = z.union([\n cvIntSchema,\n cvUintSchema,\n cvBufferSchema,\n cvTrueSchema,\n cvFalseSchema,\n cvAddressSchema,\n cvContractSchema,\n cvOkSchema,\n cvErrSchema,\n cvNoneSchema,\n cvSomeSchema,\n cvListSchema,\n cvTupleSchema,\n cvAsciiSchema,\n cvUtf8Schema,\n]) as z.ZodType<ClarityValue>;\n","import { z } from 'zod';\n\nimport { ValueOf } from '@leather.io/models';\n\nimport { sendTransfer } from './methods/bitcoin/send-transfer';\nimport { signMessage } from './methods/bitcoin/sign-message';\nimport { signPsbt } from './methods/bitcoin/sign-psbt';\nimport { getAddresses } from './methods/get-addresses';\nimport { getInfo } from './methods/get-info';\nimport { open } from './methods/open';\nimport { openSwap } from './methods/open-swap';\nimport { stxCallContract } from './methods/stacks/stx-call-contract';\nimport { stxDeployContract } from './methods/stacks/stx-deploy-contract';\nimport { stxGetAddresses } from './methods/stacks/stx-get-addresses';\nimport { stxGetNetworks } from './methods/stacks/stx-get-networks';\nimport { stxSignMessage } from './methods/stacks/stx-sign-message';\nimport { stxSignStructuredMessage } from './methods/stacks/stx-sign-structured-message';\nimport { stxSignTransaction } from './methods/stacks/stx-sign-transaction';\nimport { stxTransferSip9Nft } from './methods/stacks/stx-transfer-sip9-nft';\nimport { stxTransferSip10Ft } from './methods/stacks/stx-transfer-sip10-ft';\nimport { stxTransferStx } from './methods/stacks/stx-transfer-stx';\nimport { stxUpdateProfile } from './methods/stacks/stx-update-profile';\nimport { supportedMethods } from './methods/supported-methods';\nimport { ExtractErrorResponse, ExtractSuccessResponse } from './rpc/schemas';\n\nexport * from './rpc/schemas';\nexport * from './rpc/helpers';\nexport * from './methods/get-info';\nexport * from './methods/bitcoin/sign-psbt';\nexport * from './methods/get-addresses';\nexport * from './methods/bitcoin/send-transfer';\nexport * from './methods/bitcoin/sign-message';\nexport * from './methods/stacks/_clarity-values';\nexport * from './methods/stacks/_stacks-helpers';\nexport * from './methods/stacks/stx-sign-message';\nexport * from './methods/stacks/stx-sign-structured-message';\nexport * from './methods/stacks/stx-sign-transaction';\nexport * from './methods/stacks/stx-call-contract';\nexport * from './methods/stacks/stx-deploy-contract';\nexport * from './methods/stacks/stx-get-addresses';\nexport * from './methods/stacks/stx-transfer-sip9-nft';\nexport * from './methods/stacks/stx-transfer-sip10-ft';\nexport * from './methods/stacks/stx-transfer-stx';\nexport * from './methods/stacks/stx-update-profile';\nexport * from './methods/supported-methods';\nexport * from './methods/open';\nexport * from './methods/open-swap';\n\nexport const endpoints = {\n getAddresses,\n getInfo,\n open,\n openSwap,\n sendTransfer,\n signMessage,\n signPsbt,\n stxCallContract,\n stxDeployContract,\n stxGetAddresses,\n stxGetNetworks,\n stxSignMessage,\n stxSignStructuredMessage,\n stxSignTransaction,\n stxTransferSip10Ft,\n stxTransferSip9Nft,\n stxTransferStx,\n stxUpdateProfile,\n supportedMethods,\n} as const;\n\ntype EndpointMap = (typeof endpoints)[keyof typeof endpoints];\n\n/**\n * Request map keyed by exact method name e.g. `stx_signMessage`\n */\nexport type RpcEndpointMap = {\n [E in EndpointMap as E['method']]: {\n request: z.infer<E['request']>;\n response: z.infer<E['response']>;\n };\n};\n\n/** @deprecated */\nexport type LeatherRpcMethodMap = RpcEndpointMap;\n\nexport type RpcRequests = ValueOf<RpcEndpointMap>['request'];\n\nexport type RpcResponses = ValueOf<RpcEndpointMap>['response'];\n\nexport type RpcMethodNames = keyof RpcEndpointMap;\n\nexport interface RequestFn {\n <\n T extends RpcMethodNames,\n P extends RpcEndpointMap[T]['request'] extends { params?: infer P } ? P : never,\n >(\n arg: T,\n params: P\n // `Promise` throws if unsuccessful, so here we extract the successful response\n ): Promise<ExtractSuccessResponse<RpcEndpointMap[T]['response']>>;\n <T extends RpcMethodNames>(\n arg: T\n // `Promise` throws if unsuccessful, so here we extract the successful response\n ): Promise<ExtractSuccessResponse<RpcEndpointMap[T]['response']>>;\n}\n\nexport interface ListenFn {\n (method: string, callback: () => void): () => void;\n}\n\n/**\n * Leather's provider object set on webpage global `window` object. Set this as\n * a global type object in your project.\n *\n * @example\n * ```\n * declare global {\n * interface Window {\n * LeatherProvider?: LeatherProvider;\n * }\n * }\n * ```\n */\nexport interface LeatherProvider {\n /**\n * Request method. Takes a method name, and optional parameters\n * @returns Typed response for corresponding method\n */\n request: RequestFn;\n /**\n * Listen method. Takes an event name to listen for, and a callback function.\n * @returns An unsubscribe function\n */\n listen: ListenFn;\n}\n\n/**\n * Helper to create a successful RPC response object\n */\nexport function createRpcSuccessResponse<T extends RpcMethodNames>(\n _method: T,\n response: Omit<ExtractSuccessResponse<RpcEndpointMap[T]['response']>, 'jsonrpc'>\n) {\n return { jsonrpc: '2.0', ...response } as ExtractSuccessResponse<RpcEndpointMap[T]['response']>;\n}\n\n/**\n * Helper to create an error RPC response object\n */\nexport function createRpcErrorResponse<T extends RpcMethodNames>(\n _method: T,\n error: Omit<ExtractErrorResponse<RpcEndpointMap[T]['response']>, 'jsonrpc'>\n) {\n return { jsonrpc: '2.0', ...error } as RpcEndpointMap[T]['response'];\n}\n\nexport function parseEndpointRequest(data: unknown): RpcRequests | undefined {\n const endpointRequests = Object.values(endpoints).map(endpoint => endpoint.request);\n const endpoint = endpointRequests.find(req => req.safeParse(data).success);\n return endpoint?.safeParse(data).data;\n}\n"],"mappings":"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","names":["z","RpcErrorCode","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","endpoint"]}
1
+ {"version":3,"sources":["../src/methods/bitcoin/send-transfer.ts","../src/rpc/schemas.ts","../src/methods/bitcoin/sign-message.ts","../src/methods/bitcoin/sign-psbt.ts","../src/rpc/helpers.ts","../src/methods/get-addresses.ts","../src/methods/get-info.ts","../src/methods/open.ts","../src/methods/open-swap.ts","../src/methods/stacks/stx-call-contract.ts","../src/methods/stacks/_stacks-helpers.ts","../src/methods/stacks/stx-deploy-contract.ts","../src/methods/stacks/stx-get-addresses.ts","../src/methods/stacks/stx-get-networks.ts","../src/methods/stacks/stx-sign-message.ts","../src/methods/stacks/stx-sign-structured-message.ts","../src/methods/stacks/stx-sign-transaction.ts","../src/methods/stacks/stx-transfer-sip9-nft.ts","../src/methods/stacks/stx-transfer-sip10-ft.ts","../src/methods/stacks/stx-transfer-stx.ts","../src/methods/stacks/stx-update-profile.ts","../src/methods/supported-methods.ts","../src/methods/stacks/_clarity-values.ts","../src/index.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\nexport const rpcSendTransferLegacyParamSchema = z.object({\n account: z.number().optional(),\n address: z.string(),\n amount: z.coerce.string(),\n network: z.string(),\n});\nexport type RpcSendTransferLegacyParams = z.infer<typeof rpcSendTransferLegacyParamSchema>;\n\nconst transferRecipientParamSchema = z.object({\n address: z.string(),\n amount: z.coerce.string(),\n});\n\nexport const rpcSendTransferNewParamsSchema = z.object({\n account: z.number().optional(),\n recipients: z.array(transferRecipientParamSchema),\n network: z.string(),\n});\nexport type RpcSendTransferParams = z.infer<typeof rpcSendTransferNewParamsSchema>;\n\nexport const rpcSendTransferParamsSchema = z.union([\n rpcSendTransferLegacyParamSchema,\n rpcSendTransferNewParamsSchema,\n]);\n\nexport const sendTransfer = defineRpcEndpoint({\n method: 'sendTransfer',\n params: rpcSendTransferParamsSchema,\n result: z.object({\n txid: z.string(),\n }),\n});\n","// See JSON RPC specification\n// https://www.jsonrpc.org/specification\nimport { z } from 'zod';\n\nconst rpcParameterByPositionSchema = z.string().array();\nexport type RpcParameterByPosition = z.infer<typeof rpcParameterByPositionSchema>;\n\nconst rpcParameterByNameSchema = z.record(z.string(), z.unknown());\nexport type RpcParameterByName = z.infer<typeof rpcParameterByNameSchema>;\n\nexport const rpcParameterSchema = z.union([\n rpcParameterByPositionSchema,\n rpcParameterByNameSchema,\n z.undefined(),\n]);\nexport type RpcParameter = z.infer<typeof rpcParameterSchema>;\n\nexport const rpcBasePropsSchema = z.object({\n jsonrpc: z.literal('2.0'),\n id: z.string(),\n});\n\ntype BaseRpcRequestSchema = typeof rpcBasePropsSchema;\nexport type RpcBaseProps = z.infer<typeof rpcBasePropsSchema>;\n\n//\n// RPC Request\n// {\n// \"jsonrpc\": \"2.0\",\n// \"id\": \"123\",\n// \"method\": \"signPsbt\",\n// \"params\": { \"psbt\": \"dead…beef\" },\n// }\nexport function createRpcRequestSchema<TMethod extends string>(\n method: TMethod\n): z.ZodObject<BaseRpcRequestSchema['shape'] & { method: z.ZodLiteral<TMethod> }>;\nexport function createRpcRequestSchema<TMethod extends string, TParam extends z.ZodTypeAny>(\n method: TMethod,\n paramsSchema: TParam\n): z.ZodObject<BaseRpcRequestSchema['shape'] & { method: z.ZodLiteral<TMethod>; params: TParam }>;\nexport function createRpcRequestSchema<TMethod extends string, TParam extends z.ZodTypeAny>(\n method: TMethod,\n paramsSchema?: TParam\n) {\n // Unable to type this without the any, however the return type is corrects\n if (!paramsSchema) return rpcBasePropsSchema.extend({ method: z.literal(method) }) as any;\n\n return rpcBasePropsSchema.extend({\n method: z.literal(method),\n params: paramsSchema,\n });\n}\n\n//\n// RPC Error Body\n\nexport enum RpcErrorCode {\n // Spec defined server errors\n PARSE_ERROR = -32700,\n INVALID_REQUEST = -32600,\n METHOD_NOT_FOUND = -32601,\n INVALID_PARAMS = -32602,\n INTERNAL_ERROR = -32603,\n SERVER_ERROR = -32000,\n // Client defined errors\n USER_REJECTION = 4001,\n METHOD_NOT_SUPPORTED = 4002,\n // gRPC spec borrowed\n PERMISSION_DENIED = 7,\n UNAUTHENTICATED = 16,\n}\nconst rpcErrorCodeSchema = z.enum(RpcErrorCode);\n\nexport function createRpcErrorBodySchema<TErrorData extends z.ZodTypeAny>(\n errorDataSchema: TErrorData\n) {\n return z.object({\n code: z.union([z.number(), rpcErrorCodeSchema]),\n message: z.string(),\n data: errorDataSchema.optional(),\n });\n}\n\ntype RpcErrorBodySchema<TErrorData extends RpcParameter = RpcParameter> = ReturnType<\n typeof createRpcErrorBodySchema<z.ZodType<TErrorData>>\n>;\n\nexport type RpcErrorBody<TErrorData extends RpcParameter = RpcParameter> = z.infer<\n RpcErrorBodySchema<TErrorData>\n>;\n\n//\n// RPC Error Response\nexport function createRpcErrorResponseSchema<\n TError extends z.ZodType<RpcErrorBody> = z.ZodType<RpcErrorBody>,\n>(errorSchema: TError) {\n return rpcBasePropsSchema.extend({ error: errorSchema });\n}\n\nexport const defaultErrorSchema = createRpcErrorBodySchema(z.any());\n\ntype RpcErrorResponseSchema<TError extends RpcErrorBody = RpcErrorBody> = ReturnType<\n typeof createRpcErrorResponseSchema<z.ZodType<TError>>\n>;\n\nexport type RpcErrorResponse<TError extends RpcErrorBody = RpcErrorBody> = z.infer<\n RpcErrorResponseSchema<TError>\n>;\n\n//\n// RPC Success Response\n// {\n// \"jsonrpc\": \"2.0\",\n// \"id\": \"123\",\n// \"result\": { \"signature\": \"dead…beef\" }\n// }\nexport function createRpcSuccessResponseSchema<TResult extends z.ZodTypeAny>(\n resultSchema: TResult\n) {\n return rpcBasePropsSchema.extend({ result: resultSchema });\n}\n\nexport type RpcSuccessResponseSchema<TResult extends object> = ReturnType<\n typeof createRpcSuccessResponseSchema<z.ZodType<TResult>>\n>;\n\nexport type RpcSuccessResponse<TResult extends object> = z.infer<RpcSuccessResponseSchema<TResult>>;\n\nexport function createRpcResponseSchema<\n TResult extends z.ZodTypeAny,\n TError extends z.ZodType<RpcErrorBody>,\n>(resultSchema: TResult, errorSchema: TError) {\n return z.union([\n createRpcSuccessResponseSchema<TResult>(resultSchema),\n createRpcErrorResponseSchema<TError>(errorSchema),\n ]);\n}\n\nexport type ExtractSuccessResponse<T> = Extract<T, { result: any }>;\n\nexport type ExtractErrorResponse<T> = Extract<T, { error: any }>;\n\nexport type RpcRequest<T extends { request: z.ZodType }> = z.infer<T['request']>;\nexport type RpcParams<T extends { params: z.ZodType }> = z.infer<T['params']>;\n\nexport type RpcResponse<T extends { response: z.ZodType }> = z.infer<T['response']>;\nexport type RpcResult<T extends { result: z.ZodType }> = z.infer<T['result']>;\n\nexport function defineRpcEndpoint<\n Method extends string,\n Result extends z.ZodTypeAny,\n Error extends z.ZodType<RpcErrorBody>,\n>(props: {\n method: Method;\n result: Result;\n error?: Error;\n}): {\n method: Method;\n result: Result;\n error: Error;\n request: ReturnType<typeof createRpcRequestSchema<Method>>;\n response: ReturnType<typeof createRpcResponseSchema<Result, Error>>;\n};\nexport function defineRpcEndpoint<\n Method extends string,\n Result extends z.ZodTypeAny,\n Error extends z.ZodType<RpcErrorBody>,\n Params extends z.ZodTypeAny,\n>(props: {\n method: Method;\n params: Params;\n result: Result;\n error?: Error;\n}): {\n method: Method;\n params: Params;\n result: Result;\n error: Error;\n request: ReturnType<typeof createRpcRequestSchema<Method, Params>>;\n response: ReturnType<typeof createRpcResponseSchema<Result, Error>>;\n};\nexport function defineRpcEndpoint<\n Method extends string,\n Result extends z.ZodTypeAny,\n Error extends z.ZodType<RpcErrorBody>,\n Params extends z.ZodTypeAny,\n>(\n props:\n | { method: Method; params: Params; result: Result; error?: Error }\n | { method: Method; result: Result; error?: Error }\n):\n | {\n method: Method;\n params: Params;\n result: Result;\n error: Error;\n request: ReturnType<typeof createRpcRequestSchema<Method, Params>>;\n response: ReturnType<typeof createRpcResponseSchema<Result, Error>>;\n }\n | {\n method: Method;\n result: Result;\n error: Error;\n request: ReturnType<typeof createRpcRequestSchema<Method>>;\n response: ReturnType<typeof createRpcResponseSchema<Result, Error>>;\n } {\n const error = (props.error ?? defaultErrorSchema) as Error;\n\n if ('params' in props) {\n return {\n method: props.method,\n params: props.params,\n result: props.result,\n error,\n request: createRpcRequestSchema(props.method, props.params),\n response: createRpcResponseSchema(props.result, error),\n };\n }\n return {\n method: props.method,\n result: props.result,\n error,\n request: createRpcRequestSchema(props.method),\n response: createRpcResponseSchema(props.result, error),\n };\n}\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\n// Implements BIP-322\n// https://github.com/bitcoin/bips/blob/master/bip-0322.mediawiki\nexport const Bip322MessageTypesSchema = z.enum(['legacy', 'bip322']);\nexport type Bip322MessageTypes = z.infer<typeof Bip322MessageTypesSchema>;\n\nconst supportedPaymentTypesSchema = z.enum(['p2tr', 'p2wpkh']);\n\nexport const signMessageRequestParamsSchema = z.looseObject({\n type: Bip322MessageTypesSchema.optional(),\n account: z.number().optional(),\n message: z.string(),\n paymentType: supportedPaymentTypesSchema,\n});\n\nexport const signMessage = defineRpcEndpoint({\n method: 'signMessage',\n params: signMessageRequestParamsSchema,\n result: z.looseObject({\n signature: z.string(),\n address: z.string(),\n }),\n});\n","import { z } from 'zod';\n\nimport { testIsNumberOrArrayOfNumbers } from '../../rpc/helpers';\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\n/**\n * DEFAULT -- all inputs, all outputs\n * ALL -- all inputs, all outputs\n * NONE -- all inputs, no outputs\n * SINGLE -- all inputs, one output of the same index\n * ALL + ANYONE -- one input, all outputs\n * NONE + ANYONE -- one input, no outputs\n * SINGLE -- one inputs, one output of the same index\n */\nexport const signatureHash = {\n DEFAULT: 0x00,\n ALL: 0x01,\n NONE: 0x02,\n SINGLE: 0x03,\n ALL_ANYONECANPAY: 0x81,\n NONE_ANYONECANPAY: 0x82,\n SINGLE_ANYONECANPAY: 0x83,\n} as const;\n\nconst signPsbtRequestParamsSchema = z.object({\n account: z.number().optional(),\n allowedSighash: z.array(z.any()).optional(),\n broadcast: z.boolean().optional(),\n hex: z.string(),\n network: z.string().optional(),\n signAtIndex: z\n .union([z.number(), z.array(z.number())])\n .optional()\n .refine(testIsNumberOrArrayOfNumbers),\n});\n\nconst signPsbtResponseBodySchema = z.object({\n hex: z.string(),\n txid: z.string().optional(),\n});\n\nexport const signPsbt = defineRpcEndpoint({\n method: 'signPsbt',\n params: signPsbtRequestParamsSchema,\n result: signPsbtResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { isNumberOrNumberList, isUndefined } from '@leather.io/utils';\n\nexport function testIsNumberOrArrayOfNumbers(value: unknown) {\n if (isUndefined(value)) return true;\n return isNumberOrNumberList(value);\n}\n\nexport function encodeBase64Json(payload: Record<any, unknown>) {\n const jsonString = JSON.stringify(payload);\n return btoa(jsonString);\n}\n\nexport function decodeBase64Json(encodedPayload: string): unknown {\n const jsonString = atob(encodedPayload);\n return JSON.parse(jsonString);\n}\n\nexport function createRequestEncoder<T extends z.ZodType<unknown>>(schema: T) {\n function encode(request: z.infer<T>) {\n return encodeBase64Json(schema.parse(request) as any);\n }\n\n function decode(encodedRequest: string): z.infer<T> {\n const parsedJson = decodeBase64Json(encodedRequest);\n return schema.parse(parsedJson);\n }\n\n return { encode, decode };\n}\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../rpc/schemas';\n\nexport const bitcoinPaymentTypesSchema = z.enum(['p2pkh', 'p2sh', 'p2wpkh-p2sh', 'p2wpkh', 'p2tr']);\nexport type BitcoinPaymentTypes = z.infer<typeof bitcoinPaymentTypesSchema>;\n\n/** @deprecated use `BitcoinPaymentTypes` */\nexport type PaymentTypes = BitcoinPaymentTypes;\n\n//\n// Bitcoin\nexport const btcAddressBaseSchema = z.looseObject({\n symbol: z.literal('BTC'),\n type: bitcoinPaymentTypesSchema,\n address: z.string(),\n publicKey: z.string(),\n derivationPath: z.string(),\n});\n\nexport type BtcAddressBase = z.infer<typeof btcAddressBaseSchema>;\n\nconst nativeSegwitAddressSchema = btcAddressBaseSchema.extend({\n type: z.literal('p2wpkh'),\n});\n\nexport type NativeSegwitAddress = z.infer<typeof nativeSegwitAddressSchema>;\n\nconst taprootAddressSchema = btcAddressBaseSchema.extend({\n type: z.literal('p2tr'),\n tweakedPublicKey: z.string(),\n});\n\nexport type TaprootAddress = z.infer<typeof taprootAddressSchema>;\n\nexport const btcAddressSchema = z.discriminatedUnion('type', [\n nativeSegwitAddressSchema,\n taprootAddressSchema,\n]);\n\nexport type BtcAddress = z.infer<typeof btcAddressSchema>;\n\n//\n// Stacks\nexport const stxAddressSchema = z.looseObject({\n symbol: z.literal('STX'),\n address: z.string(),\n publicKey: z.string(),\n});\n\nexport type StxAddress = z.infer<typeof stxAddressSchema>;\n\nexport const addressSchema = z.union([btcAddressSchema, stxAddressSchema]);\n\nexport type Address = z.infer<typeof addressSchema>;\n\n//\n// Combined addresses response\nexport const addressResponseBodySchema = z.looseObject({ addresses: z.array(addressSchema) });\n\nexport const getAddresses = defineRpcEndpoint({\n method: 'getAddresses',\n params: z.object({ network: z.string().optional() }).optional(),\n result: addressResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../rpc/schemas';\n\nconst getInfoResponseBodySchema = z.object({\n version: z.string(),\n supportedMethods: z.array(z.string()).optional(),\n platform: z.union([z.literal('mobile'), z.literal('extension')]),\n});\n\nexport const getInfo = defineRpcEndpoint({\n method: 'getInfo',\n result: getInfoResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../rpc/schemas';\n\nexport const open = defineRpcEndpoint({\n method: 'open',\n params: z.object({ mode: z.enum(['fullpage', 'popup']) }).default({ mode: 'popup' }),\n result: z.object({ success: z.literal(true) }),\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../rpc/schemas';\n\nconst openSwapRequestParamsSchema = z.object({\n base: z.string(),\n quote: z.string(),\n});\n\nconst openSwapResponseBodySchema = z.object({\n message: z.string(),\n});\n\nexport const openSwap = defineRpcEndpoint({\n method: 'openSwap',\n params: openSwapRequestParamsSchema,\n result: openSwapResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\nimport {\n baseStacksTransactionConfigSchema,\n stacksTransactionDetailsSchema,\n} from './_stacks-helpers';\n\nexport const stxCallContract = defineRpcEndpoint({\n method: 'stx_callContract',\n params: z.intersection(\n z.object({\n contract: z.string(),\n functionName: z.string(),\n functionArgs: z.array(z.string()).optional(),\n }),\n baseStacksTransactionConfigSchema\n ),\n result: stacksTransactionDetailsSchema,\n});\n","import { z } from 'zod';\n\nexport const stacksTransactionDetailsSchema = z.object({\n txid: z.string(),\n transaction: z.string(),\n});\n\nexport const baseStacksTransactionConfigSchema = z.object({\n address: z.string().optional(),\n network: z\n .union([\n z.literal('mainnet'),\n z.literal('testnet'),\n z.literal('regtest'),\n z.literal('devnet'),\n z.literal('mocknet'),\n z.string(),\n ])\n .optional(),\n fee: z.coerce.number().optional(),\n nonce: z.coerce.number().optional(),\n // add pc later when imported from stacks.js\n postConditions: z.array(z.string()).optional(),\n postConditionMode: z.union([z.literal('allow'), z.literal('deny')]).optional(),\n sponsored: z.boolean().optional(),\n});\n\nexport type BaseStacksTransactionRpcParams = z.infer<typeof baseStacksTransactionConfigSchema>;\n","import { z } from 'zod';\n\nimport { clarityContractSchema } from '@leather.io/stacks';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\nimport {\n baseStacksTransactionConfigSchema,\n stacksTransactionDetailsSchema,\n} from './_stacks-helpers';\n\nexport const stxDeployContractResponseBodySchema = stacksTransactionDetailsSchema;\n\nexport const stxDeployContract = defineRpcEndpoint({\n method: 'stx_deployContract',\n params: z.intersection(\n z.object({\n name: z.string(),\n clarityCode: clarityContractSchema,\n clarityVersion: z.coerce.number().optional(),\n }),\n baseStacksTransactionConfigSchema\n ),\n result: stxDeployContractResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\nexport const stxAddressItemSchema = z.object({\n address: z.string(),\n publicKey: z.string(),\n derivationPath: z.string(),\n});\n\nexport const stxGetAddressesResponseBodySchema = z.array(stxAddressItemSchema);\n\nexport const stxGetAddresses = defineRpcEndpoint({\n method: 'stx_getAddresses',\n params: z.object({ network: z.string().optional() }).optional(),\n result: stxGetAddressesResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\nexport const stxGetNetworks = defineRpcEndpoint({\n method: 'stx_getNetworks',\n result: z.object({\n active: z.string(),\n networks: z.array(\n z.object({\n id: z.string(),\n chainId: z.string(),\n transactionVersion: z.string(),\n })\n ),\n }),\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\n// Request\nexport const stxSignMessageTypeSchema = z.enum(['utf8', 'structured']);\nexport type StxSignMessageTypes = z.infer<typeof stxSignMessageTypeSchema>;\n\nexport const stxSignMessageRequestBaseSchema = z.object({\n messageType: stxSignMessageTypeSchema.optional().default('utf8'),\n network: z.optional(z.enum(['mainnet', 'testnet', 'devnet', 'mocknet'])),\n});\nexport type StxSignMessageRequestParamsBase = z.infer<typeof stxSignMessageRequestBaseSchema>;\n\nexport const stxSignMessageRequestUtf8Schema = stxSignMessageRequestBaseSchema.and(\n z.object({\n messageType: z.literal('utf8').default('utf8'),\n message: z.string(),\n })\n);\nexport type StxSignMessageRequestParamsUtf8 = z.infer<typeof stxSignMessageRequestUtf8Schema>;\n\nexport const stxSignMessageRequestStructuredSchema = stxSignMessageRequestBaseSchema.and(\n z.object({\n messageType: z.literal('structured'),\n domain: z.string(),\n message: z.string(),\n })\n);\nexport type StxSignMessageRequestParamsStructured = z.infer<\n typeof stxSignMessageRequestStructuredSchema\n>;\n\nexport const stxSignMessage = defineRpcEndpoint({\n method: 'stx_signMessage',\n params: z.union([stxSignMessageRequestUtf8Schema, stxSignMessageRequestStructuredSchema]),\n result: z.object({\n signature: z.string(),\n publicKey: z.string(),\n }),\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\nexport const stxSignStructuredMessage = defineRpcEndpoint({\n method: 'stx_signStructuredMessage',\n params: z.object({\n domain: z.string(),\n message: z.string(),\n }),\n result: z.object({\n signature: z.string(),\n publicKey: z.string(),\n }),\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\n\n// Leather's RPC params prior to SIP-30\n// Developers should be warned away from this structure\nexport const stxSignTransactionRequestLeatherRpcParamsSchema = z.object({\n txHex: z.string(),\n stxAddress: z.string().optional(),\n attachment: z.string().optional(),\n accountIndex: z.string().optional(),\n network: z.string().optional(),\n});\n\n// SIP-30 params\nexport const stxSignTransactionRequestSip30ParamsSchema = z.object({\n transaction: z.string(),\n network: z.string().optional(),\n});\n\nexport const stxSignTransaction = defineRpcEndpoint({\n method: 'stx_signTransaction',\n params: z.union([\n stxSignTransactionRequestLeatherRpcParamsSchema,\n stxSignTransactionRequestSip30ParamsSchema,\n ]),\n result: z.object({\n transaction: z.string(),\n txHex: z.string(),\n }),\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\nimport {\n baseStacksTransactionConfigSchema,\n stacksTransactionDetailsSchema,\n} from './_stacks-helpers';\n\nexport const stxTransferSip9Nft = defineRpcEndpoint({\n method: 'stx_transferSip9Nft',\n params: z.intersection(\n z.looseObject({\n recipient: z.string(),\n asset: z.string(),\n assetId: z.string(),\n }),\n baseStacksTransactionConfigSchema\n ),\n result: stacksTransactionDetailsSchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\nimport {\n baseStacksTransactionConfigSchema,\n stacksTransactionDetailsSchema,\n} from './_stacks-helpers';\n\nexport const stxTransferSip10Ft = defineRpcEndpoint({\n method: 'stx_transferSip10Ft',\n params: z.intersection(\n z.looseObject({\n recipient: z.string(),\n asset: z.string(),\n amount: z.coerce.number(),\n }),\n baseStacksTransactionConfigSchema\n ),\n result: stacksTransactionDetailsSchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\nimport {\n baseStacksTransactionConfigSchema,\n stacksTransactionDetailsSchema,\n} from './_stacks-helpers';\n\nexport const stxTransferStx = defineRpcEndpoint({\n method: 'stx_transferStx',\n params: z.intersection(\n z.object({\n recipient: z.string(),\n amount: z.coerce.number().int('Amount must be an integer describing µSTX'),\n memo: z.string().optional(),\n }),\n baseStacksTransactionConfigSchema\n ),\n result: stacksTransactionDetailsSchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../../rpc/schemas';\nimport { stacksTransactionDetailsSchema } from './_stacks-helpers';\n\n// Request\nexport const stxUpdateProfileRequestParamsSchema = z.object({\n // schema.org/Person\n person: z.looseObject({}),\n});\n\nexport const stxUpdateProfileResponseBodySchema = stacksTransactionDetailsSchema;\n\nexport const stxUpdateProfile = defineRpcEndpoint({\n method: 'stx_updateProfile',\n params: stxUpdateProfileRequestParamsSchema,\n result: stxUpdateProfileResponseBodySchema,\n});\n","import { z } from 'zod';\n\nimport { defineRpcEndpoint } from '../rpc/schemas';\n\nexport const supportedMethodSchema = z.object({\n name: z.string(),\n docsUrl: z.union([z.string(), z.array(z.string())]),\n});\n\nexport const supportedMethods = defineRpcEndpoint({\n method: 'supportedMethods',\n result: z.object({\n documentation: z.string(),\n methods: z.array(supportedMethodSchema),\n }),\n});\n","import {\n BufferCV,\n ClarityType,\n ClarityValue,\n ContractIdString,\n ContractPrincipalCV,\n FalseCV,\n IntCV,\n NoneCV,\n ResponseErrorCV,\n ResponseOkCV,\n SomeCV,\n StandardPrincipalCV,\n StringAsciiCV,\n StringUtf8CV,\n TrueCV,\n UIntCV,\n} from '@stacks/transactions';\nimport { z } from 'zod';\n\n// Clarity values\nexport const cvIntSchema: z.ZodType<IntCV> = z.object({\n type: z.literal('int') as z.ZodLiteral<ClarityType.Int>,\n value: z.coerce.string(),\n});\n\nexport const cvUintSchema: z.ZodType<UIntCV> = z.object({\n type: z.literal('uint') as z.ZodLiteral<ClarityType.UInt>,\n value: z.coerce.string(),\n});\n\nexport const cvBufferSchema: z.ZodType<BufferCV> = z.object({\n type: z.literal('buffer') as z.ZodLiteral<ClarityType.Buffer>,\n value: z.string(),\n});\n\nexport const cvTrueSchema: z.ZodType<TrueCV> = z.object({\n type: z.literal('true') as z.ZodLiteral<ClarityType.BoolTrue>,\n});\n\nexport const cvFalseSchema: z.ZodType<FalseCV> = z.object({\n type: z.literal('false') as z.ZodLiteral<ClarityType.BoolFalse>,\n});\n\nexport const cvAddressSchema: z.ZodType<StandardPrincipalCV> = z.object({\n type: z.literal('address') as z.ZodLiteral<ClarityType.PrincipalStandard>,\n value: z.string(),\n});\n\nexport const cvContractSchema: z.ZodType<ContractPrincipalCV> = z.object({\n type: z.literal('contract') as z.ZodLiteral<ClarityType.PrincipalContract>,\n value: z.string().refine(value => value.includes('.'), {\n message: 'Stacks contract principals are denoted with a dot',\n }) as z.ZodType<ContractIdString>,\n});\n\nexport const cvAsciiSchema: z.ZodType<StringAsciiCV> = z.object({\n type: z.literal('ascii') as z.ZodLiteral<ClarityType.StringASCII>,\n value: z.string(),\n});\n\nexport const cvUtf8Schema: z.ZodType<StringUtf8CV> = z.object({\n type: z.literal('utf8') as z.ZodLiteral<ClarityType.StringUTF8>,\n value: z.string(),\n});\n\nexport const cvOkSchema: z.ZodType<ResponseOkCV> = z\n .object({\n type: z.literal('ok') as z.ZodLiteral<ClarityType.ResponseOk>,\n value: z.lazy(() => clarityValueSchema),\n })\n .transform(value => value as ResponseOkCV);\n\nexport const cvErrSchema: z.ZodType<ResponseErrorCV> = z.object({\n type: z.literal('err') as z.ZodLiteral<ClarityType.ResponseErr>,\n value: z.lazy(() => clarityValueSchema),\n});\n\nexport const cvNoneSchema: z.ZodType<NoneCV> = z.object({\n type: z.literal('none') as z.ZodLiteral<ClarityType.OptionalNone>,\n});\n\nexport const cvSomeSchema: z.ZodType<SomeCV> = z.object({\n type: z.literal('some') as z.ZodLiteral<ClarityType.OptionalSome>,\n value: z.lazy(() => clarityValueSchema),\n});\n\nexport const cvListSchema = z.object({\n type: z.literal('list') as z.ZodLiteral<ClarityType.List>,\n value: z.array(z.lazy(() => clarityValueSchema)),\n});\n\nexport const cvTupleSchema = z.object({\n type: z.literal('tuple') as z.ZodLiteral<ClarityType.Tuple>,\n value: z.record(\n z.string(),\n z.lazy(() => clarityValueSchema)\n ),\n});\n\nexport const clarityValueSchema = z.union([\n cvIntSchema,\n cvUintSchema,\n cvBufferSchema,\n cvTrueSchema,\n cvFalseSchema,\n cvAddressSchema,\n cvContractSchema,\n cvOkSchema,\n cvErrSchema,\n cvNoneSchema,\n cvSomeSchema,\n cvListSchema,\n cvTupleSchema,\n cvAsciiSchema,\n cvUtf8Schema,\n]) as z.ZodType<ClarityValue>;\n","import { z } from 'zod';\n\nimport { ValueOf } from '@leather.io/models';\n\nimport { sendTransfer } from './methods/bitcoin/send-transfer';\nimport { signMessage } from './methods/bitcoin/sign-message';\nimport { signPsbt } from './methods/bitcoin/sign-psbt';\nimport { getAddresses } from './methods/get-addresses';\nimport { getInfo } from './methods/get-info';\nimport { open } from './methods/open';\nimport { openSwap } from './methods/open-swap';\nimport { stxCallContract } from './methods/stacks/stx-call-contract';\nimport { stxDeployContract } from './methods/stacks/stx-deploy-contract';\nimport { stxGetAddresses } from './methods/stacks/stx-get-addresses';\nimport { stxGetNetworks } from './methods/stacks/stx-get-networks';\nimport { stxSignMessage } from './methods/stacks/stx-sign-message';\nimport { stxSignStructuredMessage } from './methods/stacks/stx-sign-structured-message';\nimport { stxSignTransaction } from './methods/stacks/stx-sign-transaction';\nimport { stxTransferSip9Nft } from './methods/stacks/stx-transfer-sip9-nft';\nimport { stxTransferSip10Ft } from './methods/stacks/stx-transfer-sip10-ft';\nimport { stxTransferStx } from './methods/stacks/stx-transfer-stx';\nimport { stxUpdateProfile } from './methods/stacks/stx-update-profile';\nimport { supportedMethods } from './methods/supported-methods';\nimport { ExtractErrorResponse, ExtractSuccessResponse } from './rpc/schemas';\n\nexport * from './rpc/schemas';\nexport * from './rpc/helpers';\nexport * from './methods/get-info';\nexport * from './methods/bitcoin/sign-psbt';\nexport * from './methods/get-addresses';\nexport * from './methods/bitcoin/send-transfer';\nexport * from './methods/bitcoin/sign-message';\nexport * from './methods/stacks/_clarity-values';\nexport * from './methods/stacks/_stacks-helpers';\nexport * from './methods/stacks/stx-sign-message';\nexport * from './methods/stacks/stx-sign-structured-message';\nexport * from './methods/stacks/stx-sign-transaction';\nexport * from './methods/stacks/stx-call-contract';\nexport * from './methods/stacks/stx-deploy-contract';\nexport * from './methods/stacks/stx-get-addresses';\nexport * from './methods/stacks/stx-transfer-sip9-nft';\nexport * from './methods/stacks/stx-transfer-sip10-ft';\nexport * from './methods/stacks/stx-transfer-stx';\nexport * from './methods/stacks/stx-update-profile';\nexport * from './methods/supported-methods';\nexport * from './methods/open';\nexport * from './methods/open-swap';\n\nexport const endpoints = {\n getAddresses,\n getInfo,\n open,\n openSwap,\n sendTransfer,\n signMessage,\n signPsbt,\n stxCallContract,\n stxDeployContract,\n stxGetAddresses,\n stxGetNetworks,\n stxSignMessage,\n stxSignStructuredMessage,\n stxSignTransaction,\n stxTransferSip10Ft,\n stxTransferSip9Nft,\n stxTransferStx,\n stxUpdateProfile,\n supportedMethods,\n} as const;\n\ntype EndpointMap = (typeof endpoints)[keyof typeof endpoints];\n\n/**\n * Request map keyed by exact method name e.g. `stx_signMessage`\n */\nexport type RpcEndpointMap = {\n [E in EndpointMap as E['method']]: {\n request: z.infer<E['request']>;\n response: z.infer<E['response']>;\n };\n};\n\n/** @deprecated */\nexport type LeatherRpcMethodMap = RpcEndpointMap;\n\nexport type RpcRequests = ValueOf<RpcEndpointMap>['request'];\n\nexport type RpcResponses = ValueOf<RpcEndpointMap>['response'];\n\nexport type RpcMethodNames = keyof RpcEndpointMap;\n\nexport interface RequestFn {\n <\n T extends RpcMethodNames,\n P extends RpcEndpointMap[T]['request'] extends { params?: infer P } ? P : never,\n >(\n arg: T,\n params: P\n // `Promise` throws if unsuccessful, so here we extract the successful response\n ): Promise<ExtractSuccessResponse<RpcEndpointMap[T]['response']>>;\n <T extends RpcMethodNames>(\n arg: T\n // `Promise` throws if unsuccessful, so here we extract the successful response\n ): Promise<ExtractSuccessResponse<RpcEndpointMap[T]['response']>>;\n}\n\nexport interface ListenFn {\n (method: string, callback: () => void): () => void;\n}\n\n/**\n * Leather's provider object set on webpage global `window` object. Set this as\n * a global type object in your project.\n *\n * @example\n * ```\n * declare global {\n * interface Window {\n * LeatherProvider?: LeatherProvider;\n * }\n * }\n * ```\n */\nexport interface LeatherProvider {\n /**\n * Request method. Takes a method name, and optional parameters\n * @returns Typed response for corresponding method\n */\n request: RequestFn;\n /**\n * Listen method. Takes an event name to listen for, and a callback function.\n * @returns An unsubscribe function\n */\n listen: ListenFn;\n}\n\n/**\n * Helper to create a successful RPC response object\n */\nexport function createRpcSuccessResponse<T extends RpcMethodNames>(\n _method: T,\n response: Omit<ExtractSuccessResponse<RpcEndpointMap[T]['response']>, 'jsonrpc'>\n) {\n return { jsonrpc: '2.0', ...response } as ExtractSuccessResponse<RpcEndpointMap[T]['response']>;\n}\n\n/**\n * Helper to create an error RPC response object\n */\nexport function createRpcErrorResponse<T extends RpcMethodNames>(\n _method: T,\n error: Omit<ExtractErrorResponse<RpcEndpointMap[T]['response']>, 'jsonrpc'>\n) {\n return { jsonrpc: '2.0', ...error } as RpcEndpointMap[T]['response'];\n}\n\nexport function parseEndpointRequest(data: unknown): RpcRequests | undefined {\n const endpointRequests = Object.values(endpoints).map(endpoint => endpoint.request);\n const endpoint = endpointRequests.find(req => req.safeParse(data).success);\n return endpoint?.safeParse(data).data;\n}\n"],"mappings":";AAAA,SAAS,KAAAA,UAAS;;;ACElB,SAAS,SAAS;AAElB,IAAM,+BAA+B,EAAE,OAAO,EAAE,MAAM;AAGtD,IAAM,2BAA2B,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC;AAG1D,IAAM,qBAAqB,EAAE,MAAM;AAAA,EACxC;AAAA,EACA;AAAA,EACA,EAAE,UAAU;AACd,CAAC;AAGM,IAAM,qBAAqB,EAAE,OAAO;AAAA,EACzC,SAAS,EAAE,QAAQ,KAAK;AAAA,EACxB,IAAI,EAAE,OAAO;AACf,CAAC;AAoBM,SAAS,uBACd,QACA,cACA;AAEA,MAAI,CAAC,aAAc,QAAO,mBAAmB,OAAO,EAAE,QAAQ,EAAE,QAAQ,MAAM,EAAE,CAAC;AAEjF,SAAO,mBAAmB,OAAO;AAAA,IAC/B,QAAQ,EAAE,QAAQ,MAAM;AAAA,IACxB,QAAQ;AAAA,EACV,CAAC;AACH;AAKO,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,iBAAc,UAAd;AACA,EAAAA,4BAAA,qBAAkB,UAAlB;AACA,EAAAA,4BAAA,sBAAmB,UAAnB;AACA,EAAAA,4BAAA,oBAAiB,UAAjB;AACA,EAAAA,4BAAA,oBAAiB,UAAjB;AACA,EAAAA,4BAAA,kBAAe,SAAf;AAEA,EAAAA,4BAAA,oBAAiB,QAAjB;AACA,EAAAA,4BAAA,0BAAuB,QAAvB;AAEA,EAAAA,4BAAA,uBAAoB,KAApB;AACA,EAAAA,4BAAA,qBAAkB,MAAlB;AAbU,SAAAA;AAAA,GAAA;AAeZ,IAAM,qBAAqB,EAAE,KAAK,YAAY;AAEvC,SAAS,yBACd,iBACA;AACA,SAAO,EAAE,OAAO;AAAA,IACd,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAAC;AAAA,IAC9C,SAAS,EAAE,OAAO;AAAA,IAClB,MAAM,gBAAgB,SAAS;AAAA,EACjC,CAAC;AACH;AAYO,SAAS,6BAEd,aAAqB;AACrB,SAAO,mBAAmB,OAAO,EAAE,OAAO,YAAY,CAAC;AACzD;AAEO,IAAM,qBAAqB,yBAAyB,EAAE,IAAI,CAAC;AAiB3D,SAAS,+BACd,cACA;AACA,SAAO,mBAAmB,OAAO,EAAE,QAAQ,aAAa,CAAC;AAC3D;AAQO,SAAS,wBAGd,cAAuB,aAAqB;AAC5C,SAAO,EAAE,MAAM;AAAA,IACb,+BAAwC,YAAY;AAAA,IACpD,6BAAqC,WAAW;AAAA,EAClD,CAAC;AACH;AA6CO,SAAS,kBAMd,OAkBI;AACJ,QAAM,QAAS,MAAM,SAAS;AAE9B,MAAI,YAAY,OAAO;AACrB,WAAO;AAAA,MACL,QAAQ,MAAM;AAAA,MACd,QAAQ,MAAM;AAAA,MACd,QAAQ,MAAM;AAAA,MACd;AAAA,MACA,SAAS,uBAAuB,MAAM,QAAQ,MAAM,MAAM;AAAA,MAC1D,UAAU,wBAAwB,MAAM,QAAQ,KAAK;AAAA,IACvD;AAAA,EACF;AACA,SAAO;AAAA,IACL,QAAQ,MAAM;AAAA,IACd,QAAQ,MAAM;AAAA,IACd;AAAA,IACA,SAAS,uBAAuB,MAAM,MAAM;AAAA,IAC5C,UAAU,wBAAwB,MAAM,QAAQ,KAAK;AAAA,EACvD;AACF;;;AD7NO,IAAM,mCAAmCC,GAAE,OAAO;AAAA,EACvD,SAASA,GAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,SAASA,GAAE,OAAO;AAAA,EAClB,QAAQA,GAAE,OAAO,OAAO;AAAA,EACxB,SAASA,GAAE,OAAO;AACpB,CAAC;AAGD,IAAM,+BAA+BA,GAAE,OAAO;AAAA,EAC5C,SAASA,GAAE,OAAO;AAAA,EAClB,QAAQA,GAAE,OAAO,OAAO;AAC1B,CAAC;AAEM,IAAM,iCAAiCA,GAAE,OAAO;AAAA,EACrD,SAASA,GAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,YAAYA,GAAE,MAAM,4BAA4B;AAAA,EAChD,SAASA,GAAE,OAAO;AACpB,CAAC;AAGM,IAAM,8BAA8BA,GAAE,MAAM;AAAA,EACjD;AAAA,EACA;AACF,CAAC;AAEM,IAAM,eAAe,kBAAkB;AAAA,EAC5C,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQA,GAAE,OAAO;AAAA,IACf,MAAMA,GAAE,OAAO;AAAA,EACjB,CAAC;AACH,CAAC;;;AEnCD,SAAS,KAAAC,UAAS;AAMX,IAAM,2BAA2BC,GAAE,KAAK,CAAC,UAAU,QAAQ,CAAC;AAGnE,IAAM,8BAA8BA,GAAE,KAAK,CAAC,QAAQ,QAAQ,CAAC;AAEtD,IAAM,iCAAiCA,GAAE,YAAY;AAAA,EAC1D,MAAM,yBAAyB,SAAS;AAAA,EACxC,SAASA,GAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,SAASA,GAAE,OAAO;AAAA,EAClB,aAAa;AACf,CAAC;AAEM,IAAM,cAAc,kBAAkB;AAAA,EAC3C,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQA,GAAE,YAAY;AAAA,IACpB,WAAWA,GAAE,OAAO;AAAA,IACpB,SAASA,GAAE,OAAO;AAAA,EACpB,CAAC;AACH,CAAC;;;ACzBD,SAAS,KAAAC,UAAS;;;ACElB,SAAS,sBAAsB,mBAAmB;AAE3C,SAAS,6BAA6B,OAAgB;AAC3D,MAAI,YAAY,KAAK,EAAG,QAAO;AAC/B,SAAO,qBAAqB,KAAK;AACnC;AAEO,SAAS,iBAAiB,SAA+B;AAC9D,QAAM,aAAa,KAAK,UAAU,OAAO;AACzC,SAAO,KAAK,UAAU;AACxB;AAEO,SAAS,iBAAiB,gBAAiC;AAChE,QAAM,aAAa,KAAK,cAAc;AACtC,SAAO,KAAK,MAAM,UAAU;AAC9B;AAEO,SAAS,qBAAmD,QAAW;AAC5E,WAAS,OAAO,SAAqB;AACnC,WAAO,iBAAiB,OAAO,MAAM,OAAO,CAAQ;AAAA,EACtD;AAEA,WAAS,OAAO,gBAAoC;AAClD,UAAM,aAAa,iBAAiB,cAAc;AAClD,WAAO,OAAO,MAAM,UAAU;AAAA,EAChC;AAEA,SAAO,EAAE,QAAQ,OAAO;AAC1B;;;ADhBO,IAAM,gBAAgB;AAAA,EAC3B,SAAS;AAAA,EACT,KAAK;AAAA,EACL,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,qBAAqB;AACvB;AAEA,IAAM,8BAA8BC,GAAE,OAAO;AAAA,EAC3C,SAASA,GAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,gBAAgBA,GAAE,MAAMA,GAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EAC1C,WAAWA,GAAE,QAAQ,EAAE,SAAS;AAAA,EAChC,KAAKA,GAAE,OAAO;AAAA,EACd,SAASA,GAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,aAAaA,GACV,MAAM,CAACA,GAAE,OAAO,GAAGA,GAAE,MAAMA,GAAE,OAAO,CAAC,CAAC,CAAC,EACvC,SAAS,EACT,OAAO,4BAA4B;AACxC,CAAC;AAED,IAAM,6BAA6BA,GAAE,OAAO;AAAA,EAC1C,KAAKA,GAAE,OAAO;AAAA,EACd,MAAMA,GAAE,OAAO,EAAE,SAAS;AAC5B,CAAC;AAEM,IAAM,WAAW,kBAAkB;AAAA,EACxC,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AACV,CAAC;;;AE7CD,SAAS,KAAAC,UAAS;AAIX,IAAM,4BAA4BC,GAAE,KAAK,CAAC,SAAS,QAAQ,eAAe,UAAU,MAAM,CAAC;AAQ3F,IAAM,uBAAuBA,GAAE,YAAY;AAAA,EAChD,QAAQA,GAAE,QAAQ,KAAK;AAAA,EACvB,MAAM;AAAA,EACN,SAASA,GAAE,OAAO;AAAA,EAClB,WAAWA,GAAE,OAAO;AAAA,EACpB,gBAAgBA,GAAE,OAAO;AAC3B,CAAC;AAID,IAAM,4BAA4B,qBAAqB,OAAO;AAAA,EAC5D,MAAMA,GAAE,QAAQ,QAAQ;AAC1B,CAAC;AAID,IAAM,uBAAuB,qBAAqB,OAAO;AAAA,EACvD,MAAMA,GAAE,QAAQ,MAAM;AAAA,EACtB,kBAAkBA,GAAE,OAAO;AAC7B,CAAC;AAIM,IAAM,mBAAmBA,GAAE,mBAAmB,QAAQ;AAAA,EAC3D;AAAA,EACA;AACF,CAAC;AAMM,IAAM,mBAAmBA,GAAE,YAAY;AAAA,EAC5C,QAAQA,GAAE,QAAQ,KAAK;AAAA,EACvB,SAASA,GAAE,OAAO;AAAA,EAClB,WAAWA,GAAE,OAAO;AACtB,CAAC;AAIM,IAAM,gBAAgBA,GAAE,MAAM,CAAC,kBAAkB,gBAAgB,CAAC;AAMlE,IAAM,4BAA4BA,GAAE,YAAY,EAAE,WAAWA,GAAE,MAAM,aAAa,EAAE,CAAC;AAErF,IAAM,eAAe,kBAAkB;AAAA,EAC5C,QAAQ;AAAA,EACR,QAAQA,GAAE,OAAO,EAAE,SAASA,GAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS;AAAA,EAC9D,QAAQ;AACV,CAAC;;;AChED,SAAS,KAAAC,UAAS;AAIlB,IAAM,4BAA4BC,GAAE,OAAO;AAAA,EACzC,SAASA,GAAE,OAAO;AAAA,EAClB,kBAAkBA,GAAE,MAAMA,GAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EAC/C,UAAUA,GAAE,MAAM,CAACA,GAAE,QAAQ,QAAQ,GAAGA,GAAE,QAAQ,WAAW,CAAC,CAAC;AACjE,CAAC;AAEM,IAAM,UAAU,kBAAkB;AAAA,EACvC,QAAQ;AAAA,EACR,QAAQ;AACV,CAAC;;;ACbD,SAAS,KAAAC,UAAS;AAIX,IAAM,OAAO,kBAAkB;AAAA,EACpC,QAAQ;AAAA,EACR,QAAQC,GAAE,OAAO,EAAE,MAAMA,GAAE,KAAK,CAAC,YAAY,OAAO,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAAA,EACnF,QAAQA,GAAE,OAAO,EAAE,SAASA,GAAE,QAAQ,IAAI,EAAE,CAAC;AAC/C,CAAC;;;ACRD,SAAS,KAAAC,UAAS;AAIlB,IAAM,8BAA8BC,GAAE,OAAO;AAAA,EAC3C,MAAMA,GAAE,OAAO;AAAA,EACf,OAAOA,GAAE,OAAO;AAClB,CAAC;AAED,IAAM,6BAA6BA,GAAE,OAAO;AAAA,EAC1C,SAASA,GAAE,OAAO;AACpB,CAAC;AAEM,IAAM,WAAW,kBAAkB;AAAA,EACxC,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AACV,CAAC;;;ACjBD,SAAS,KAAAC,WAAS;;;ACAlB,SAAS,KAAAC,UAAS;AAEX,IAAM,iCAAiCA,GAAE,OAAO;AAAA,EACrD,MAAMA,GAAE,OAAO;AAAA,EACf,aAAaA,GAAE,OAAO;AACxB,CAAC;AAEM,IAAM,oCAAoCA,GAAE,OAAO;AAAA,EACxD,SAASA,GAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,SAASA,GACN,MAAM;AAAA,IACLA,GAAE,QAAQ,SAAS;AAAA,IACnBA,GAAE,QAAQ,SAAS;AAAA,IACnBA,GAAE,QAAQ,SAAS;AAAA,IACnBA,GAAE,QAAQ,QAAQ;AAAA,IAClBA,GAAE,QAAQ,SAAS;AAAA,IACnBA,GAAE,OAAO;AAAA,EACX,CAAC,EACA,SAAS;AAAA,EACZ,KAAKA,GAAE,OAAO,OAAO,EAAE,SAAS;AAAA,EAChC,OAAOA,GAAE,OAAO,OAAO,EAAE,SAAS;AAAA;AAAA,EAElC,gBAAgBA,GAAE,MAAMA,GAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EAC7C,mBAAmBA,GAAE,MAAM,CAACA,GAAE,QAAQ,OAAO,GAAGA,GAAE,QAAQ,MAAM,CAAC,CAAC,EAAE,SAAS;AAAA,EAC7E,WAAWA,GAAE,QAAQ,EAAE,SAAS;AAClC,CAAC;;;ADjBM,IAAM,kBAAkB,kBAAkB;AAAA,EAC/C,QAAQ;AAAA,EACR,QAAQC,IAAE;AAAA,IACRA,IAAE,OAAO;AAAA,MACP,UAAUA,IAAE,OAAO;AAAA,MACnB,cAAcA,IAAE,OAAO;AAAA,MACvB,cAAcA,IAAE,MAAMA,IAAE,OAAO,CAAC,EAAE,SAAS;AAAA,IAC7C,CAAC;AAAA,IACD;AAAA,EACF;AAAA,EACA,QAAQ;AACV,CAAC;;;AEnBD,SAAS,KAAAC,WAAS;AAElB,SAAS,6BAA6B;AAQ/B,IAAM,sCAAsC;AAE5C,IAAM,oBAAoB,kBAAkB;AAAA,EACjD,QAAQ;AAAA,EACR,QAAQC,IAAE;AAAA,IACRA,IAAE,OAAO;AAAA,MACP,MAAMA,IAAE,OAAO;AAAA,MACf,aAAa;AAAA,MACb,gBAAgBA,IAAE,OAAO,OAAO,EAAE,SAAS;AAAA,IAC7C,CAAC;AAAA,IACD;AAAA,EACF;AAAA,EACA,QAAQ;AACV,CAAC;;;ACvBD,SAAS,KAAAC,WAAS;AAIX,IAAM,uBAAuBC,IAAE,OAAO;AAAA,EAC3C,SAASA,IAAE,OAAO;AAAA,EAClB,WAAWA,IAAE,OAAO;AAAA,EACpB,gBAAgBA,IAAE,OAAO;AAC3B,CAAC;AAEM,IAAM,oCAAoCA,IAAE,MAAM,oBAAoB;AAEtE,IAAM,kBAAkB,kBAAkB;AAAA,EAC/C,QAAQ;AAAA,EACR,QAAQA,IAAE,OAAO,EAAE,SAASA,IAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS;AAAA,EAC9D,QAAQ;AACV,CAAC;;;AChBD,SAAS,KAAAC,WAAS;AAIX,IAAM,iBAAiB,kBAAkB;AAAA,EAC9C,QAAQ;AAAA,EACR,QAAQC,IAAE,OAAO;AAAA,IACf,QAAQA,IAAE,OAAO;AAAA,IACjB,UAAUA,IAAE;AAAA,MACVA,IAAE,OAAO;AAAA,QACP,IAAIA,IAAE,OAAO;AAAA,QACb,SAASA,IAAE,OAAO;AAAA,QAClB,oBAAoBA,IAAE,OAAO;AAAA,MAC/B,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH,CAAC;;;AChBD,SAAS,KAAAC,WAAS;AAKX,IAAM,2BAA2BC,IAAE,KAAK,CAAC,QAAQ,YAAY,CAAC;AAG9D,IAAM,kCAAkCA,IAAE,OAAO;AAAA,EACtD,aAAa,yBAAyB,SAAS,EAAE,QAAQ,MAAM;AAAA,EAC/D,SAASA,IAAE,SAASA,IAAE,KAAK,CAAC,WAAW,WAAW,UAAU,SAAS,CAAC,CAAC;AACzE,CAAC;AAGM,IAAM,kCAAkC,gCAAgC;AAAA,EAC7EA,IAAE,OAAO;AAAA,IACP,aAAaA,IAAE,QAAQ,MAAM,EAAE,QAAQ,MAAM;AAAA,IAC7C,SAASA,IAAE,OAAO;AAAA,EACpB,CAAC;AACH;AAGO,IAAM,wCAAwC,gCAAgC;AAAA,EACnFA,IAAE,OAAO;AAAA,IACP,aAAaA,IAAE,QAAQ,YAAY;AAAA,IACnC,QAAQA,IAAE,OAAO;AAAA,IACjB,SAASA,IAAE,OAAO;AAAA,EACpB,CAAC;AACH;AAKO,IAAM,iBAAiB,kBAAkB;AAAA,EAC9C,QAAQ;AAAA,EACR,QAAQA,IAAE,MAAM,CAAC,iCAAiC,qCAAqC,CAAC;AAAA,EACxF,QAAQA,IAAE,OAAO;AAAA,IACf,WAAWA,IAAE,OAAO;AAAA,IACpB,WAAWA,IAAE,OAAO;AAAA,EACtB,CAAC;AACH,CAAC;;;ACxCD,SAAS,KAAAC,WAAS;AAIX,IAAM,2BAA2B,kBAAkB;AAAA,EACxD,QAAQ;AAAA,EACR,QAAQC,IAAE,OAAO;AAAA,IACf,QAAQA,IAAE,OAAO;AAAA,IACjB,SAASA,IAAE,OAAO;AAAA,EACpB,CAAC;AAAA,EACD,QAAQA,IAAE,OAAO;AAAA,IACf,WAAWA,IAAE,OAAO;AAAA,IACpB,WAAWA,IAAE,OAAO;AAAA,EACtB,CAAC;AACH,CAAC;;;ACdD,SAAS,KAAAC,WAAS;AAMX,IAAM,kDAAkDC,IAAE,OAAO;AAAA,EACtE,OAAOA,IAAE,OAAO;AAAA,EAChB,YAAYA,IAAE,OAAO,EAAE,SAAS;AAAA,EAChC,YAAYA,IAAE,OAAO,EAAE,SAAS;AAAA,EAChC,cAAcA,IAAE,OAAO,EAAE,SAAS;AAAA,EAClC,SAASA,IAAE,OAAO,EAAE,SAAS;AAC/B,CAAC;AAGM,IAAM,6CAA6CA,IAAE,OAAO;AAAA,EACjE,aAAaA,IAAE,OAAO;AAAA,EACtB,SAASA,IAAE,OAAO,EAAE,SAAS;AAC/B,CAAC;AAEM,IAAM,qBAAqB,kBAAkB;AAAA,EAClD,QAAQ;AAAA,EACR,QAAQA,IAAE,MAAM;AAAA,IACd;AAAA,IACA;AAAA,EACF,CAAC;AAAA,EACD,QAAQA,IAAE,OAAO;AAAA,IACf,aAAaA,IAAE,OAAO;AAAA,IACtB,OAAOA,IAAE,OAAO;AAAA,EAClB,CAAC;AACH,CAAC;;;AC9BD,SAAS,KAAAC,WAAS;AAQX,IAAM,qBAAqB,kBAAkB;AAAA,EAClD,QAAQ;AAAA,EACR,QAAQC,IAAE;AAAA,IACRA,IAAE,YAAY;AAAA,MACZ,WAAWA,IAAE,OAAO;AAAA,MACpB,OAAOA,IAAE,OAAO;AAAA,MAChB,SAASA,IAAE,OAAO;AAAA,IACpB,CAAC;AAAA,IACD;AAAA,EACF;AAAA,EACA,QAAQ;AACV,CAAC;;;ACnBD,SAAS,KAAAC,WAAS;AAQX,IAAM,qBAAqB,kBAAkB;AAAA,EAClD,QAAQ;AAAA,EACR,QAAQC,IAAE;AAAA,IACRA,IAAE,YAAY;AAAA,MACZ,WAAWA,IAAE,OAAO;AAAA,MACpB,OAAOA,IAAE,OAAO;AAAA,MAChB,QAAQA,IAAE,OAAO,OAAO;AAAA,IAC1B,CAAC;AAAA,IACD;AAAA,EACF;AAAA,EACA,QAAQ;AACV,CAAC;;;ACnBD,SAAS,KAAAC,WAAS;AAQX,IAAM,iBAAiB,kBAAkB;AAAA,EAC9C,QAAQ;AAAA,EACR,QAAQC,IAAE;AAAA,IACRA,IAAE,OAAO;AAAA,MACP,WAAWA,IAAE,OAAO;AAAA,MACpB,QAAQA,IAAE,OAAO,OAAO,EAAE,IAAI,8CAA2C;AAAA,MACzE,MAAMA,IAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,CAAC;AAAA,IACD;AAAA,EACF;AAAA,EACA,QAAQ;AACV,CAAC;;;ACnBD,SAAS,KAAAC,WAAS;AAMX,IAAM,sCAAsCC,IAAE,OAAO;AAAA;AAAA,EAE1D,QAAQA,IAAE,YAAY,CAAC,CAAC;AAC1B,CAAC;AAEM,IAAM,qCAAqC;AAE3C,IAAM,mBAAmB,kBAAkB;AAAA,EAChD,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AACV,CAAC;;;ACjBD,SAAS,KAAAC,WAAS;AAIX,IAAM,wBAAwBC,IAAE,OAAO;AAAA,EAC5C,MAAMA,IAAE,OAAO;AAAA,EACf,SAASA,IAAE,MAAM,CAACA,IAAE,OAAO,GAAGA,IAAE,MAAMA,IAAE,OAAO,CAAC,CAAC,CAAC;AACpD,CAAC;AAEM,IAAM,mBAAmB,kBAAkB;AAAA,EAChD,QAAQ;AAAA,EACR,QAAQA,IAAE,OAAO;AAAA,IACf,eAAeA,IAAE,OAAO;AAAA,IACxB,SAASA,IAAE,MAAM,qBAAqB;AAAA,EACxC,CAAC;AACH,CAAC;;;ACGD,SAAS,KAAAC,WAAS;AAGX,IAAM,cAAgCA,IAAE,OAAO;AAAA,EACpD,MAAMA,IAAE,QAAQ,KAAK;AAAA,EACrB,OAAOA,IAAE,OAAO,OAAO;AACzB,CAAC;AAEM,IAAM,eAAkCA,IAAE,OAAO;AAAA,EACtD,MAAMA,IAAE,QAAQ,MAAM;AAAA,EACtB,OAAOA,IAAE,OAAO,OAAO;AACzB,CAAC;AAEM,IAAM,iBAAsCA,IAAE,OAAO;AAAA,EAC1D,MAAMA,IAAE,QAAQ,QAAQ;AAAA,EACxB,OAAOA,IAAE,OAAO;AAClB,CAAC;AAEM,IAAM,eAAkCA,IAAE,OAAO;AAAA,EACtD,MAAMA,IAAE,QAAQ,MAAM;AACxB,CAAC;AAEM,IAAM,gBAAoCA,IAAE,OAAO;AAAA,EACxD,MAAMA,IAAE,QAAQ,OAAO;AACzB,CAAC;AAEM,IAAM,kBAAkDA,IAAE,OAAO;AAAA,EACtE,MAAMA,IAAE,QAAQ,SAAS;AAAA,EACzB,OAAOA,IAAE,OAAO;AAClB,CAAC;AAEM,IAAM,mBAAmDA,IAAE,OAAO;AAAA,EACvE,MAAMA,IAAE,QAAQ,UAAU;AAAA,EAC1B,OAAOA,IAAE,OAAO,EAAE,OAAO,WAAS,MAAM,SAAS,GAAG,GAAG;AAAA,IACrD,SAAS;AAAA,EACX,CAAC;AACH,CAAC;AAEM,IAAM,gBAA0CA,IAAE,OAAO;AAAA,EAC9D,MAAMA,IAAE,QAAQ,OAAO;AAAA,EACvB,OAAOA,IAAE,OAAO;AAClB,CAAC;AAEM,IAAM,eAAwCA,IAAE,OAAO;AAAA,EAC5D,MAAMA,IAAE,QAAQ,MAAM;AAAA,EACtB,OAAOA,IAAE,OAAO;AAClB,CAAC;AAEM,IAAM,aAAsCA,IAChD,OAAO;AAAA,EACN,MAAMA,IAAE,QAAQ,IAAI;AAAA,EACpB,OAAOA,IAAE,KAAK,MAAM,kBAAkB;AACxC,CAAC,EACA,UAAU,WAAS,KAAqB;AAEpC,IAAM,cAA0CA,IAAE,OAAO;AAAA,EAC9D,MAAMA,IAAE,QAAQ,KAAK;AAAA,EACrB,OAAOA,IAAE,KAAK,MAAM,kBAAkB;AACxC,CAAC;AAEM,IAAM,eAAkCA,IAAE,OAAO;AAAA,EACtD,MAAMA,IAAE,QAAQ,MAAM;AACxB,CAAC;AAEM,IAAM,eAAkCA,IAAE,OAAO;AAAA,EACtD,MAAMA,IAAE,QAAQ,MAAM;AAAA,EACtB,OAAOA,IAAE,KAAK,MAAM,kBAAkB;AACxC,CAAC;AAEM,IAAM,eAAeA,IAAE,OAAO;AAAA,EACnC,MAAMA,IAAE,QAAQ,MAAM;AAAA,EACtB,OAAOA,IAAE,MAAMA,IAAE,KAAK,MAAM,kBAAkB,CAAC;AACjD,CAAC;AAEM,IAAM,gBAAgBA,IAAE,OAAO;AAAA,EACpC,MAAMA,IAAE,QAAQ,OAAO;AAAA,EACvB,OAAOA,IAAE;AAAA,IACPA,IAAE,OAAO;AAAA,IACTA,IAAE,KAAK,MAAM,kBAAkB;AAAA,EACjC;AACF,CAAC;AAEM,IAAM,qBAAqBA,IAAE,MAAM;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;;;ACpEM,IAAM,YAAY;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAuEO,SAAS,yBACd,SACA,UACA;AACA,SAAO,EAAE,SAAS,OAAO,GAAG,SAAS;AACvC;AAKO,SAAS,uBACd,SACA,OACA;AACA,SAAO,EAAE,SAAS,OAAO,GAAG,MAAM;AACpC;AAEO,SAAS,qBAAqB,MAAwC;AAC3E,QAAM,mBAAmB,OAAO,OAAO,SAAS,EAAE,IAAI,CAAAC,cAAYA,UAAS,OAAO;AAClF,QAAM,WAAW,iBAAiB,KAAK,SAAO,IAAI,UAAU,IAAI,EAAE,OAAO;AACzE,SAAO,UAAU,UAAU,IAAI,EAAE;AACnC;","names":["z","RpcErrorCode","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","endpoint"]}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@leather.io/rpc",
3
3
  "author": "leather-wallet",
4
4
  "description": "RPC types package for Leather",
5
- "version": "2.20.8",
5
+ "version": "2.20.9",
6
6
  "license": "MIT",
7
7
  "type": "module",
8
8
  "exports": {
@@ -18,7 +18,8 @@
18
18
  "@stacks/transactions": "7.0.5",
19
19
  "zod": "4.0.17",
20
20
  "@leather.io/models": "0.40.0",
21
- "@leather.io/utils": "0.44.0"
21
+ "@leather.io/utils": "0.44.0",
22
+ "@leather.io/stacks": "1.16.3"
22
23
  },
23
24
  "devDependencies": {
24
25
  "tsup": "8.4.0",