{"version":3,"file":"validators.cjs","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { isValidHexAddress } from '@metamask/controller-utils';\nimport type { Infer } from '@metamask/superstruct';\nimport {\n  any,\n  string,\n  boolean,\n  number,\n  type,\n  is,\n  record,\n  array,\n  nullable,\n  optional,\n  enums,\n  define,\n  union,\n  assert,\n  pattern,\n  intersection,\n} from '@metamask/superstruct';\nimport {\n  CaipAssetTypeStruct,\n  CaipChainIdStruct,\n  isStrictHexString,\n} from '@metamask/utils';\n\nexport enum FeeType {\n  METABRIDGE = 'metabridge',\n  REFUEL = 'refuel',\n  TX_FEE = 'txFee',\n}\n\nexport enum ActionTypes {\n  BRIDGE = 'bridge',\n  SWAP = 'swap',\n  REFUEL = 'refuel',\n}\n\nconst HexAddressSchema = define<`0x${string}`>('HexAddress', (value: unknown) =>\n  isValidHexAddress(value as string, { allowNonPrefixed: false }),\n);\n\nconst HexStringSchema = define<`0x${string}`>('HexString', isStrictHexString);\n\nconst NumberStringSchema = define<string>(\n  'NumberString',\n  (value: unknown) => typeof value === 'string' && /^\\d+$/u.test(value),\n);\n\nconst VersionStringSchema = define<string>(\n  'VersionString',\n  (value: unknown) =>\n    typeof value === 'string' &&\n    /^(\\d+\\.*){2}\\d+$/u.test(value) &&\n    value.split('.').length === 3,\n);\n\nexport const truthyString = (value: string): boolean => Boolean(value?.length);\nconst TruthyDigitStringSchema = pattern(string(), /^\\d+$/u);\n\nconst ChainIdSchema = number();\n\nexport const BridgeAssetSchema = type({\n  /**\n   * The chainId of the token\n   */\n  chainId: ChainIdSchema,\n  /**\n   * An address that the metaswap-api recognizes as the default token\n   */\n  address: string(),\n  /**\n   * The assetId of the token\n   */\n  assetId: CaipAssetTypeStruct,\n  /**\n   * The symbol of token object\n   */\n  symbol: string(),\n  /**\n   * The name for the network\n   */\n  name: string(),\n  decimals: number(),\n  /**\n   * URL for token icon\n   */\n  icon: optional(nullable(string())),\n  /**\n   * URL for token icon\n   */\n  iconUrl: optional(nullable(string())),\n});\n\nconst DefaultPairSchema = type({\n  /**\n   * The standard default pairs. Use this if the pair is only set once.\n   * The key is the CAIP asset type of the src token and the value is the CAIP asset type of the dest token.\n   */\n  standard: record(string(), string()),\n  /**\n   * The other default pairs. Use this if the dest token depends on the src token and can be set multiple times.\n   * The key is the CAIP asset type of the src token and the value is the CAIP asset type of the dest token.\n   */\n  other: record(string(), string()),\n});\n\nexport const ChainRankingItemSchema = type({\n  /**\n   * The CAIP-2 chain identifier (e.g., \"eip155:1\" for Ethereum mainnet)\n   */\n  chainId: CaipChainIdStruct,\n  /**\n   * The display name of the chain (e.g., \"Ethereum\")\n   */\n  name: string(),\n});\n\nexport const ChainRankingSchema = optional(array(ChainRankingItemSchema));\n\nexport const ChainConfigurationSchema = type({\n  isActiveSrc: boolean(),\n  isActiveDest: boolean(),\n  refreshRate: optional(number()),\n  topAssets: optional(array(string())),\n  stablecoins: optional(array(string())),\n  batchSellDestStablecoins: optional(array(CaipAssetTypeStruct)),\n  isUnifiedUIEnabled: optional(boolean()),\n  isSingleSwapBridgeButtonEnabled: optional(boolean()),\n  isGaslessSwapEnabled: optional(boolean()),\n  noFeeAssets: optional(array(string())),\n  defaultPairs: optional(DefaultPairSchema),\n});\n\nexport const PriceImpactThresholdSchema = type({\n  // TODO:\n  // We are moving into a unified approach where\n  // price impact thresholds will be segmented by\n  // importance rather than transaction type.\n  // The introduction of warning/danger will first be handled\n  // by mobile, followed by extension and then removal of gasless/normal\n  // from LD configs.\n  // To make the migration easier, we define all fields as optional for now.\n  // After the migration takes place, gasless/normal will be removed\n  // and warning/danger will be set as required fields.\n  gasless: number(), // Percentage value in decimal format (eg 0.02 is 2%)\n  normal: number(), // Percentage value in decimal format\n  warning: optional(number()), // Percentage value in decimal format\n  error: optional(number()), // Percentage value in decimal format\n});\n\nconst GenericQuoteRequestSchema = type({\n  aggIds: optional(array(string())),\n  bridgeIds: optional(array(string())),\n  fee: optional(number()),\n});\n\n/**\n * This is the schema for the feature flags response from the RemoteFeatureFlagController\n */\nexport const PlatformConfigSchema = type({\n  priceImpactThreshold: optional(PriceImpactThresholdSchema),\n  quoteRequestOverrides: optional(\n    record(string(), optional(GenericQuoteRequestSchema)),\n  ),\n  minimumVersion: string(),\n  refreshRate: number(),\n  maxRefreshCount: number(),\n  support: boolean(),\n  chains: record(string(), ChainConfigurationSchema),\n  /**\n   * The bip44 default pairs for the chains\n   * Key is the CAIP chainId namespace\n   */\n  bip44DefaultPairs: optional(record(string(), optional(DefaultPairSchema))),\n  sse: optional(\n    type({\n      enabled: boolean(),\n      /**\n       * The minimum version of the client required to enable SSE, for example 13.8.0\n       */\n      minimumVersion: VersionStringSchema,\n    }),\n  ),\n  /**\n   * Array of chain objects ordered by preference/ranking\n   */\n  chainRanking: ChainRankingSchema,\n  maxPendingHistoryItemAgeMs: optional(number()),\n});\n\nexport const validateFeatureFlagsResponse = (\n  data: unknown,\n): data is Infer<typeof PlatformConfigSchema> => {\n  return is(data, PlatformConfigSchema);\n};\n\nexport const validateSwapsTokenObject = (\n  data: unknown,\n): data is Infer<typeof BridgeAssetSchema> => {\n  return is(data, BridgeAssetSchema);\n};\n\nexport const FeeDataSchema = type({\n  amount: TruthyDigitStringSchema,\n  asset: BridgeAssetSchema,\n});\n\nexport const ProtocolSchema = type({\n  name: string(),\n  displayName: optional(string()),\n  icon: optional(string()),\n});\n\nexport const StepSchema = type({\n  action: enums(Object.values(ActionTypes)),\n  srcChainId: ChainIdSchema,\n  destChainId: optional(ChainIdSchema),\n  srcAsset: BridgeAssetSchema,\n  destAsset: BridgeAssetSchema,\n  srcAmount: string(),\n  destAmount: string(),\n  protocol: ProtocolSchema,\n});\n\nconst RefuelDataSchema = StepSchema;\n\n// Allow digit strings for amounts/validTo for flexibility across providers\nconst DigitStringOrNumberSchema = union([TruthyDigitStringSchema, number()]);\n\n/**\n * Identifier of the intent protocol used for order creation and submission.\n *\n * Examples:\n * - CoW Swap\n * - Other EIP-712–based intent protocols\n */\nconst IntentProtocolSchema = string();\n\n/**\n * Schema for an intent-based order used for EIP-712 signing and submission.\n *\n * This represents the minimal subset of fields required by intent-based\n * protocols (e.g. CoW Swap) to build, sign, and submit an order.\n */\nexport const IntentOrderSchema = type({\n  /**\n   * Address of the token being sold.\n   */\n  sellToken: HexAddressSchema,\n\n  /**\n   * Address of the token being bought.\n   */\n  buyToken: HexAddressSchema,\n\n  /**\n   * Optional receiver of the bought tokens.\n   * If omitted, defaults to the signer / order owner.\n   */\n  receiver: optional(HexAddressSchema),\n\n  /**\n   * Order expiration time.\n   *\n   * Can be provided as a UNIX timestamp in seconds, either as a number\n   * or as a digit string, depending on provider requirements.\n   */\n  validTo: DigitStringOrNumberSchema,\n\n  /**\n   * Arbitrary application-specific data attached to the order.\n   */\n  appData: string(),\n\n  /**\n   * Hash of the `appData` field, used for EIP-712 signing.\n   */\n  appDataHash: HexStringSchema,\n\n  /**\n   * Fee amount paid for order execution, expressed as a digit string.\n   */\n  feeAmount: TruthyDigitStringSchema,\n\n  /**\n   * Order kind.\n   *\n   * - `sell`: exact sell amount, variable buy amount\n   * - `buy`: exact buy amount, variable sell amount\n   */\n  kind: enums(['sell', 'buy']),\n\n  /**\n   * Whether the order can be partially filled.\n   */\n  partiallyFillable: boolean(),\n\n  /**\n   * Exact amount of the sell token.\n   *\n   * Required for `sell` orders.\n   */\n  sellAmount: optional(TruthyDigitStringSchema),\n\n  /**\n   * Exact amount of the buy token.\n   *\n   * Required for `buy` orders.\n   */\n  buyAmount: optional(TruthyDigitStringSchema),\n\n  /**\n   * Optional order owner / sender address.\n   *\n   * Provided for convenience when building the EIP-712 domain and message.\n   */\n  from: optional(HexAddressSchema),\n});\n\n/**\n * Schema representing an intent submission payload.\n *\n * Wraps the intent order along with protocol and optional routing metadata\n * required by the backend or relayer infrastructure.\n */\nexport const IntentSchema = type({\n  /**\n   * Identifier of the intent protocol used to interpret the order.\n   */\n  protocol: IntentProtocolSchema,\n\n  /**\n   * The intent order to be signed and submitted.\n   */\n  order: IntentOrderSchema,\n\n  /**\n   * Optional settlement contract address used for execution.\n   */\n  settlementContract: optional(HexAddressSchema),\n\n  /**\n   * Optional EIP-712 typed data payload for signing.\n   * Must be JSON-serializable and include required EIP-712 fields.\n   */\n  typedData: type({\n    // Keep values as `any()` here. Using `unknown()` in this record causes\n    // TS2321/TS2589 (excessive type instantiation depth) in bridge state\n    // inference during build.\n    types: record(\n      string(),\n      array(\n        type({\n          name: string(),\n          type: string(),\n        }),\n      ),\n    ),\n    primaryType: string(),\n    domain: record(string(), any()),\n    message: record(string(), any()),\n  }),\n});\n\nexport const TxFeeGasLimitsSchema = type({\n  maxFeePerGas: NumberStringSchema,\n  maxPriorityFeePerGas: NumberStringSchema,\n});\n\nexport const GaslessPropertiesSchema = type({\n  gasIncluded: optional(boolean()),\n  /**\n   * Whether the quote can use EIP-7702 delegated gasless execution\n   */\n  gasIncluded7702: optional(boolean()),\n  /**\n   * A third party sponsors the gas. If true, then gasIncluded7702 is also true.\n   */\n  gasSponsored: optional(boolean()),\n});\n\nexport const QuoteSchema = intersection([\n  GaslessPropertiesSchema,\n  type({\n    requestId: string(),\n    srcChainId: ChainIdSchema,\n    srcAsset: BridgeAssetSchema,\n    /**\n     * The amount sent, in atomic amount: amount sent - fees\n     * Some tokens have a fee of 0, so sometimes it's equal to amount sent\n     */\n    srcTokenAmount: string(),\n    destChainId: ChainIdSchema,\n    destAsset: BridgeAssetSchema,\n    /**\n     * The amount received, in atomic amount\n     */\n    destTokenAmount: string(),\n    /**\n     * The minimum amount that will be received, in atomic amount\n     */\n    minDestTokenAmount: string(),\n    feeData: type({\n      [FeeType.METABRIDGE]: FeeDataSchema,\n      /**\n       * This is the fee for the swap transaction taken from either the\n       * src or dest token if the quote has gas fees included or \"gasless\"\n       */\n      [FeeType.TX_FEE]: optional(\n        intersection([FeeDataSchema, TxFeeGasLimitsSchema]),\n      ),\n    }),\n    bridgeId: string(),\n    bridges: array(string()),\n    steps: array(StepSchema),\n    refuel: optional(RefuelDataSchema),\n    priceData: optional(\n      type({\n        totalFromAmountUsd: optional(string()),\n        totalToAmountUsd: optional(string()),\n        priceImpact: optional(string()),\n        totalFeeAmountUsd: optional(string()),\n      }),\n    ),\n    intent: optional(IntentSchema),\n  }),\n]);\n\nexport const TxDataSchema = type({\n  chainId: number(),\n  to: HexAddressSchema,\n  from: HexAddressSchema,\n  value: HexStringSchema,\n  data: HexStringSchema,\n  gasLimit: nullable(number()),\n  effectiveGas: optional(number()),\n});\n\nexport const BitcoinTradeDataSchema = type({\n  unsignedPsbtBase64: string(),\n  inputsToSign: nullable(array(type({}))),\n});\n\nexport const TronTradeDataSchema = type({\n  raw_data_hex: string(),\n  visible: optional(boolean()),\n  raw_data: optional(\n    nullable(\n      type({\n        contract: optional(\n          array(\n            type({\n              type: optional(string()),\n            }),\n          ),\n        ),\n        fee_limit: optional(number()),\n      }),\n    ),\n  ),\n});\n\nexport const QuoteResponseSchema = type({\n  quoteId: optional(string()),\n  quote: QuoteSchema,\n  estimatedProcessingTimeInSeconds: number(),\n  approval: optional(union([TxDataSchema, TronTradeDataSchema])),\n  trade: union([\n    TxDataSchema,\n    BitcoinTradeDataSchema,\n    TronTradeDataSchema,\n    string(),\n  ]),\n});\n\nexport const validateQuoteResponseV1 = (\n  data: unknown,\n): data is Infer<typeof QuoteResponseSchema> => {\n  assert(data, QuoteResponseSchema);\n  return true;\n};\n\nexport enum TokenFeatureType {\n  MALICIOUS = 'Malicious',\n  WARNING = 'Warning',\n  INFO = 'Info',\n  BENIGN = 'Benign',\n}\n\nexport const TokenFeatureSchema = type({\n  feature_id: string(),\n  type: enums(Object.values(TokenFeatureType)),\n  description: string(),\n});\n\nexport const validateTokenFeature = (\n  data: unknown,\n): data is Infer<typeof TokenFeatureSchema> => {\n  assert(data, TokenFeatureSchema);\n  return true;\n};\n\nexport enum QuoteStreamCompleteReason {\n  RETRY = 'RETRY',\n  AMOUNT_TOO_HIGH = 'AMOUNT_TOO_HIGH',\n  AMOUNT_TOO_LOW = 'AMOUNT_TOO_LOW',\n  SLIPPAGE_TOO_HIGH = 'SLIPPAGE_TOO_HIGH',\n  SLIPPAGE_TOO_LOW = 'SLIPPAGE_TOO_LOW',\n  TOKEN_NOT_SUPPORTED = 'TOKEN_NOT_SUPPORTED',\n  RWA_GEO_RESTRICTED = 'RWA_GEO_RESTRICTED',\n  RWA_NATIVE_TOKEN_UNSUPPORTED = 'RWA_NATIVE_TOKEN_UNSUPPORTED',\n  RWA_MARKET_UNAVAILABLE = 'RWA_MARKET_UNAVAILABLE',\n}\n\nexport const QuoteStreamCompleteSchema = type({\n  quoteCount: number(),\n  hasQuotes: boolean(),\n  reason: optional(enums(Object.values(QuoteStreamCompleteReason))),\n  context: optional(record(string(), any())),\n});\n\nexport const validateQuoteStreamComplete = (\n  data: unknown,\n): data is Infer<typeof QuoteStreamCompleteSchema> => {\n  assert(data, QuoteStreamCompleteSchema);\n  return true;\n};\n\nexport enum BatchSellTransactionType {\n  TRADE = 'trade',\n  APPROVAL = 'approval',\n  TRANSFER = 'transfer',\n}\n\nexport const SimulatedGasFeeLimitsSchema = type({\n  maxFeePerGas: HexStringSchema,\n  maxPriorityFeePerGas: HexStringSchema,\n});\n\nexport const BatchSellTradesResponseSchema = intersection([\n  type({\n    transactions: array(\n      intersection([\n        TxDataSchema,\n        SimulatedGasFeeLimitsSchema,\n        type({ type: enums(Object.values(BatchSellTransactionType)) }),\n      ]),\n    ),\n    fee: optional(\n      type({\n        asset: BridgeAssetSchema,\n        amount: NumberStringSchema,\n      }),\n    ),\n  }),\n  GaslessPropertiesSchema,\n]);\n\nexport const validateBatchSellTradesResponse = (\n  data: unknown,\n): data is Infer<typeof BatchSellTradesResponseSchema> => {\n  assert(data, BatchSellTradesResponseSchema);\n  return true;\n};\n"]}