@paxoslabs/amplify-sdk 0.4.3-alpha.1 → 0.5.1

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.
Files changed (48) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/{chain-utils-CpOJcWig.d.mts → chain-utils-D_b2LEEi.d.mts} +2 -0
  3. package/dist/{chain-utils-CpOJcWig.d.ts → chain-utils-D_b2LEEi.d.ts} +2 -0
  4. package/dist/{chunk-HV2LE2M6.mjs → chunk-3D6EDR3Z.mjs} +8 -8
  5. package/dist/{chunk-HV2LE2M6.mjs.map → chunk-3D6EDR3Z.mjs.map} +1 -1
  6. package/dist/{chunk-MB6HYA7R.js → chunk-AUDMOT6F.js} +22 -15
  7. package/dist/chunk-AUDMOT6F.js.map +1 -0
  8. package/dist/{chunk-PKGFLHZA.js → chunk-E5DH5YEE.js} +30 -13
  9. package/dist/chunk-E5DH5YEE.js.map +1 -0
  10. package/dist/{chunk-USF4CU2K.mjs → chunk-E6SBQNDA.mjs} +3 -3
  11. package/dist/{chunk-USF4CU2K.mjs.map → chunk-E6SBQNDA.mjs.map} +1 -1
  12. package/dist/{chunk-7JMQWERX.mjs → chunk-JLZL25CY.mjs} +29 -13
  13. package/dist/chunk-JLZL25CY.mjs.map +1 -0
  14. package/dist/{chunk-R35K46S5.js → chunk-L5XT67QZ.js} +111 -111
  15. package/dist/{chunk-R35K46S5.js.map → chunk-L5XT67QZ.js.map} +1 -1
  16. package/dist/{chunk-UM7S7U45.mjs → chunk-WJGSTAPB.mjs} +5 -5
  17. package/dist/{chunk-UM7S7U45.mjs.map → chunk-WJGSTAPB.mjs.map} +1 -1
  18. package/dist/{chunk-YEAWQB72.js → chunk-XVDK6J72.js} +62 -62
  19. package/dist/{chunk-YEAWQB72.js.map → chunk-XVDK6J72.js.map} +1 -1
  20. package/dist/{chunk-KXU3GSF4.mjs → chunk-Y6RXVDQN.mjs} +15 -8
  21. package/dist/chunk-Y6RXVDQN.mjs.map +1 -0
  22. package/dist/{chunk-JTURYJHV.js → chunk-YAYUSBC6.js} +12 -12
  23. package/dist/{chunk-JTURYJHV.js.map → chunk-YAYUSBC6.js.map} +1 -1
  24. package/dist/core.d.mts +2 -2
  25. package/dist/core.d.ts +2 -2
  26. package/dist/core.js +16 -16
  27. package/dist/core.mjs +4 -4
  28. package/dist/display.d.mts +1 -1
  29. package/dist/display.d.ts +1 -1
  30. package/dist/display.js +10 -10
  31. package/dist/display.mjs +4 -4
  32. package/dist/index.d.mts +21 -20
  33. package/dist/index.d.ts +21 -20
  34. package/dist/index.js +63 -63
  35. package/dist/index.mjs +5 -5
  36. package/dist/utils.d.mts +1 -1
  37. package/dist/utils.d.ts +1 -1
  38. package/dist/utils.js +7 -7
  39. package/dist/utils.mjs +2 -2
  40. package/dist/vaults.d.mts +1 -1
  41. package/dist/vaults.d.ts +1 -1
  42. package/dist/vaults.js +25 -25
  43. package/dist/vaults.mjs +4 -4
  44. package/package.json +1 -1
  45. package/dist/chunk-7JMQWERX.mjs.map +0 -1
  46. package/dist/chunk-KXU3GSF4.mjs.map +0 -1
  47. package/dist/chunk-MB6HYA7R.js.map +0 -1
  48. package/dist/chunk-PKGFLHZA.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkPKGFLHZA_js = require('./chunk-PKGFLHZA.js');
3
+ var chunkE5DH5YEE_js = require('./chunk-E5DH5YEE.js');
4
4
 
5
5
  // src/types/withdraw-errors.ts
6
6
  var WithdrawError = class _WithdrawError extends Error {
@@ -43,19 +43,19 @@ function isVaultNotFoundByNameError(error) {
43
43
  // src/client/resolve-vault.ts
44
44
  async function resolveVault(params) {
45
45
  const { vaultName, assetAddress, chainId, callerEndpoint } = params;
46
- if (!chunkPKGFLHZA_js.isValidAddress(assetAddress)) {
47
- throw new chunkPKGFLHZA_js.APIError(
46
+ if (!chunkE5DH5YEE_js.isValidAddress(assetAddress)) {
47
+ throw new chunkE5DH5YEE_js.APIError(
48
48
  `Invalid assetAddress: ${assetAddress}. Must be a valid Ethereum address.`,
49
49
  { endpoint: callerEndpoint }
50
50
  );
51
51
  }
52
- if (!chunkPKGFLHZA_js.isValidChainId(chainId)) {
53
- throw new chunkPKGFLHZA_js.APIError(
52
+ if (!chunkE5DH5YEE_js.isValidChainId(chainId)) {
53
+ throw new chunkE5DH5YEE_js.APIError(
54
54
  `Invalid chainId: ${chainId}. Must be a positive integer.`,
55
55
  { endpoint: callerEndpoint }
56
56
  );
57
57
  }
58
- const cache = chunkPKGFLHZA_js.getCache();
58
+ const cache = chunkE5DH5YEE_js.getCache();
59
59
  if (cache.isEmpty() || cache.isExpired()) {
60
60
  await cache.refresh();
61
61
  }
@@ -66,19 +66,26 @@ async function resolveVault(params) {
66
66
  { vaultName, endpoint: callerEndpoint }
67
67
  );
68
68
  }
69
- if (vault.chainId !== chainId) {
70
- throw new chunkPKGFLHZA_js.APIError(
71
- `Vault "${vaultName}" is on chain ${vault.chainId}, but chainId ${chainId} was requested.`,
69
+ const supportedChainIds = /* @__PURE__ */ new Set([vault.chainId]);
70
+ for (const a of vault.supportedAssets) {
71
+ if (a.chainId != null) {
72
+ supportedChainIds.add(a.chainId);
73
+ }
74
+ }
75
+ if (!supportedChainIds.has(chainId)) {
76
+ const chains = Array.from(supportedChainIds).join(", ");
77
+ throw new chunkE5DH5YEE_js.APIError(
78
+ `Vault "${vaultName}" supports chains [${chains}], but ${chunkE5DH5YEE_js.getChainNameById(chainId)} (${chainId}) was requested.`,
72
79
  { endpoint: callerEndpoint }
73
80
  );
74
81
  }
75
82
  const matchedAsset = vault.supportedAssets.find(
76
- (a) => a.address.toLowerCase() === assetAddress.toLowerCase()
83
+ (a) => a.address.toLowerCase() === assetAddress.toLowerCase() && (a.chainId == null || a.chainId === chainId)
77
84
  );
78
85
  if (!matchedAsset) {
79
- const supported = vault.supportedAssets.map((a) => `${a.address} (${a.symbol})`).join(", ");
80
- throw new chunkPKGFLHZA_js.APIError(
81
- `Vault "${vaultName}" supports assets [${supported}], but asset ${assetAddress} was requested.`,
86
+ const supported = vault.supportedAssets.filter((a) => a.chainId == null || a.chainId === chainId).map((a) => `${a.address} (${a.symbol})`).join(", ");
87
+ throw new chunkE5DH5YEE_js.APIError(
88
+ `Vault "${vaultName}" supports assets [${supported}] on chain ${chainId}, but asset ${assetAddress} was requested.`,
82
89
  { endpoint: callerEndpoint }
83
90
  );
84
91
  }
@@ -1219,5 +1226,5 @@ exports.WithdrawQueueAbi = WithdrawQueueAbi;
1219
1226
  exports.isVaultNotFoundByAddressError = isVaultNotFoundByAddressError;
1220
1227
  exports.isVaultNotFoundByNameError = isVaultNotFoundByNameError;
1221
1228
  exports.resolveVault = resolveVault;
1222
- //# sourceMappingURL=chunk-MB6HYA7R.js.map
1223
- //# sourceMappingURL=chunk-MB6HYA7R.js.map
1229
+ //# sourceMappingURL=chunk-AUDMOT6F.js.map
1230
+ //# sourceMappingURL=chunk-AUDMOT6F.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/withdraw-errors.ts","../src/client/resolve-vault.ts","../src/abi/withdraw-queue-abi.ts"],"names":["isValidAddress","APIError","isValidChainId","getCache","getChainNameById"],"mappings":"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","file":"chunk-AUDMOT6F.js","sourcesContent":["/**\n * Withdraw operation error types\n *\n * Defines all error classes and error scenarios specific to the withdraw flow.\n * Provides type-safe error handling with clear error messages for different failure modes.\n *\n * @module types/withdraw-errors\n */\n\n/**\n * Base class for all withdraw-related errors\n *\n * Extends Error with additional context information for better error handling\n * and debugging in consuming applications.\n */\nexport class WithdrawError extends Error {\n /**\n * Error code for programmatic handling\n * @example \"VAULT_NOT_FOUND\", \"INVALID_ADDRESS\", \"INSUFFICIENT_BALANCE\"\n */\n readonly code: string;\n\n /**\n * Additional context data for debugging\n */\n readonly context?: Record<string, unknown>;\n\n constructor(\n message: string,\n code: string,\n context?: Record<string, unknown>\n ) {\n super(message);\n this.name = \"WithdrawError\";\n this.code = code;\n this.context = context;\n\n // Maintain proper prototype chain for instanceof checks\n Object.setPrototypeOf(this, WithdrawError.prototype);\n }\n}\n\n/**\n * Thrown when vault lookup fails\n *\n * Occurs when no vault matches the provided (yieldType, wantToken, chainId)\n * combination in the vault cache.\n *\n * @example\n * ```typescript\n * throw new VaultNotFoundError(\n * \"No vault found matching yieldType 'UNKNOWN', token '0x...', and chain 1\",\n * { yieldType: \"UNKNOWN\", token: \"0x...\", chainId: 1 }\n * );\n * ```\n */\nexport class VaultNotFoundError extends WithdrawError {\n constructor(message: string, context?: Record<string, unknown>) {\n super(message, \"VAULT_NOT_FOUND\", context);\n this.name = \"VaultNotFoundError\";\n Object.setPrototypeOf(this, VaultNotFoundError.prototype);\n }\n}\n\n/**\n * Thrown when multiple vaults match the lookup criteria\n *\n * Data integrity error indicating vault cache is corrupted or misconfigured.\n * Should not occur in production with well-formed vault data.\n *\n * @example\n * ```typescript\n * throw new MultipleVaultsFoundError(\n * \"Data integrity error: multiple vaults match yieldType 'CORE', token '0x...', chain 1\",\n * { count: 2, yieldType: \"CORE\" }\n * );\n * ```\n */\nexport class MultipleVaultsFoundError extends WithdrawError {\n constructor(message: string, context?: Record<string, unknown>) {\n super(message, \"MULTIPLE_VAULTS_FOUND\", context);\n this.name = \"MultipleVaultsFoundError\";\n Object.setPrototypeOf(this, MultipleVaultsFoundError.prototype);\n }\n}\n\n/**\n * Thrown when recipient address is invalid\n *\n * Occurs when recipientAddress is:\n * - Not a valid Ethereum address format (0x + 40 hex chars)\n * - The zero address (0x0000...)\n * - Missing or empty\n *\n * @example\n * ```typescript\n * throw new InvalidAddressError(\n * \"Invalid recipient address: must be valid Ethereum address\",\n * { address: \"0xinvalid\", reason: \"not hex format\" }\n * );\n * ```\n */\nexport class InvalidAddressError extends WithdrawError {\n constructor(message: string, context?: Record<string, unknown>) {\n super(message, \"INVALID_ADDRESS\", context);\n this.name = \"InvalidAddressError\";\n Object.setPrototypeOf(this, InvalidAddressError.prototype);\n }\n}\n\n/**\n * Thrown when share amount is invalid\n *\n * Occurs when shareAmount is:\n * - Not a valid number string\n * - Zero or negative\n * - Cannot be converted to BigInt\n *\n * @example\n * ```typescript\n * throw new InvalidShareAmountError(\n * \"Share amount must be greater than zero\",\n * { amount: \"0\", reason: \"zero not allowed\" }\n * );\n * ```\n */\nexport class InvalidShareAmountError extends WithdrawError {\n constructor(message: string, context?: Record<string, unknown>) {\n super(message, \"INVALID_SHARE_AMOUNT\", context);\n this.name = \"InvalidShareAmountError\";\n Object.setPrototypeOf(this, InvalidShareAmountError.prototype);\n }\n}\n\n/**\n * Thrown when slippage value is invalid\n *\n * Occurs when slippage is:\n * - Negative\n * - Greater than 10000 (100%)\n * - Not an integer\n *\n * @example\n * ```typescript\n * throw new InvalidSlippageError(\n * \"Invalid slippage value: must be 0-10000 basis points\",\n * { slippage: -100, reason: \"negative not allowed\" }\n * );\n * ```\n */\nexport class InvalidSlippageError extends WithdrawError {\n constructor(message: string, context?: Record<string, unknown>) {\n super(message, \"INVALID_SLIPPAGE\", context);\n this.name = \"InvalidSlippageError\";\n Object.setPrototypeOf(this, InvalidSlippageError.prototype);\n }\n}\n\n/**\n * Thrown when yield type is invalid\n *\n * Occurs when yieldType is:\n * - Not defined in YieldType enum\n * - Empty or null\n * - Case-sensitive mismatch\n *\n * @example\n * ```typescript\n * throw new InvalidYieldTypeError(\n * \"Invalid yield type: 'UNKNOWN' is not supported\",\n * { yieldType: \"UNKNOWN\", supportedTypes: [\"CORE\", \"TREASURY\", \"FRONTIER\"] }\n * );\n * ```\n */\nexport class InvalidYieldTypeError extends WithdrawError {\n constructor(message: string, context?: Record<string, unknown>) {\n super(message, \"INVALID_YIELD_TYPE\", context);\n this.name = \"InvalidYieldTypeError\";\n Object.setPrototypeOf(this, InvalidYieldTypeError.prototype);\n }\n}\n\n/**\n * Thrown when chain ID is invalid\n *\n * Occurs when chainId is:\n * - Not a positive integer\n * - Not in list of supported chains\n * - Mismatches vault's supported networks\n *\n * @example\n * ```typescript\n * throw new InvalidChainIdError(\n * \"Chain ID 999999 is not supported\",\n * { chainId: 999999, supportedChains: [1, 288, 1329] }\n * );\n * ```\n */\nexport class InvalidChainIdError extends WithdrawError {\n constructor(message: string, context?: Record<string, unknown>) {\n super(message, \"INVALID_CHAIN_ID\", context);\n this.name = \"InvalidChainIdError\";\n Object.setPrototypeOf(this, InvalidChainIdError.prototype);\n }\n}\n\n/**\n * Thrown when transaction data cannot be constructed\n *\n * Occurs during transaction data assembly if:\n * - Required vault addresses are missing\n * - ABI is unavailable\n * - Function encoding fails\n *\n * @example\n * ```typescript\n * throw new TransactionDataError(\n * \"Failed to construct transaction data: missing Teller address\",\n * { reason: \"missing address\", field: \"tellerAddress\" }\n * );\n * ```\n */\nexport class TransactionDataError extends WithdrawError {\n constructor(message: string, context?: Record<string, unknown>) {\n super(message, \"TRANSACTION_DATA_ERROR\", context);\n this.name = \"TransactionDataError\";\n Object.setPrototypeOf(this, TransactionDataError.prototype);\n }\n}\n\n/**\n * Thrown when vault cache is empty or uninitialized\n *\n * Occurs when attempting to lookup vaults before cache is populated.\n * Consumer should call getVaults() or getSupportedAssets() first.\n *\n * @example\n * ```typescript\n * throw new VaultCacheEmptyError(\n * \"Vault cache is empty. Call getVaults() or getSupportedAssets() first.\",\n * { reason: \"cache not initialized\" }\n * );\n * ```\n */\nexport class VaultCacheEmptyError extends WithdrawError {\n constructor(message: string, context?: Record<string, unknown>) {\n super(message, \"VAULT_CACHE_EMPTY\", context);\n this.name = \"VaultCacheEmptyError\";\n Object.setPrototypeOf(this, VaultCacheEmptyError.prototype);\n }\n}\n\n/**\n * Type guard for WithdrawError\n *\n * Safely check if an error is a WithdrawError\n *\n * @example\n * ```typescript\n * try {\n * await prepareWithdrawOrderTxData(params);\n * } catch (error) {\n * if (isWithdrawError(error)) {\n * console.error(`Withdraw error [${error.code}]: ${error.message}`);\n * }\n * }\n * ```\n */\nexport function isWithdrawError(error: unknown): error is WithdrawError {\n return error instanceof WithdrawError;\n}\n\n/**\n * Type guard for vault not found errors\n */\nexport function isVaultNotFoundError(\n error: unknown\n): error is VaultNotFoundError {\n return error instanceof VaultNotFoundError;\n}\n\n/**\n * Type guard for invalid address errors\n */\nexport function isInvalidAddressError(\n error: unknown\n): error is InvalidAddressError {\n return error instanceof InvalidAddressError;\n}\n\n/**\n * Type guard for invalid share amount errors\n */\nexport function isInvalidShareAmountError(\n error: unknown\n): error is InvalidShareAmountError {\n return error instanceof InvalidShareAmountError;\n}\n\n/**\n * Type guard for invalid slippage errors\n */\nexport function isInvalidSlippageError(\n error: unknown\n): error is InvalidSlippageError {\n return error instanceof InvalidSlippageError;\n}\n\nexport class VaultNotFoundByAddressError extends WithdrawError {\n constructor(message: string, context?: Record<string, unknown>) {\n super(message, \"VAULT_NOT_FOUND_BY_ADDRESS\", context);\n this.name = \"VaultNotFoundByAddressError\";\n Object.setPrototypeOf(this, VaultNotFoundByAddressError.prototype);\n }\n}\n\nexport class VaultNotFoundByNameError extends WithdrawError {\n constructor(message: string, context?: Record<string, unknown>) {\n super(message, \"VAULT_NOT_FOUND_BY_NAME\", context);\n this.name = \"VaultNotFoundByNameError\";\n Object.setPrototypeOf(this, VaultNotFoundByNameError.prototype);\n }\n}\n\nexport class UnauthorizedVaultAccessError extends WithdrawError {\n constructor(message: string, context?: Record<string, unknown>) {\n super(message, \"UNAUTHORIZED_VAULT_ACCESS\", context);\n this.name = \"UnauthorizedVaultAccessError\";\n Object.setPrototypeOf(this, UnauthorizedVaultAccessError.prototype);\n }\n}\n\nexport function isVaultNotFoundByAddressError(\n error: unknown\n): error is VaultNotFoundByAddressError {\n return error instanceof VaultNotFoundByAddressError;\n}\n\nexport function isVaultNotFoundByNameError(\n error: unknown\n): error is VaultNotFoundByNameError {\n return error instanceof VaultNotFoundByNameError;\n}\n\n/**\n * Helper to format error message for logging\n *\n * @param error - Any error to format\n * @returns Human-readable error message with context if available\n */\nexport function formatWithdrawError(error: unknown): string {\n if (isWithdrawError(error)) {\n const context =\n error.context && Object.keys(error.context).length > 0\n ? ` | context: ${JSON.stringify(error.context)}`\n : \"\";\n return `[${error.code}] ${error.message}${context}`;\n }\n if (error instanceof Error) {\n return error.message;\n }\n return String(error);\n}\n","import type { Address } from \"viem\";\nimport type { AmplifyVault } from \"../types/amplify-sdk-api\";\nimport {\n APIError,\n isValidAddress,\n isValidChainId,\n} from \"../types/amplify-sdk-api\";\nimport { VaultNotFoundByNameError } from \"../types/withdraw-errors\";\nimport { getChainNameById } from \"../utils/chain-utils\";\nimport { getCache } from \"./amplify-sdk-client\";\n\n/**\n * Parameters for resolving a vault by name, chain, and asset.\n *\n * All three fields are required and validated against the resolved vault\n * to ensure the calldata is unambiguous — wrong chain or wrong asset will\n * throw an `APIError` before any transaction is prepared.\n *\n * @property {string} vaultName - Human-readable vault name (e.g. \"Amplify USDC Core\")\n * @property {Address} assetAddress - Token contract address for the deposit or want asset\n * @property {number} chainId - Chain ID where the vault is deployed\n * @property {string} callerEndpoint - Caller name included in error messages for tracing\n */\nexport interface ResolveVaultParams {\n vaultName: string;\n assetAddress: Address;\n chainId: number;\n callerEndpoint: string;\n}\n\n/**\n * Resolves a vault by name and validates it against the provided chain ID\n * and asset address.\n *\n * Throws an `APIError` when:\n * - `assetAddress` or `chainId` fail basic format validation\n * - No vault exists with the given `vaultName`\n * - The resolved vault is on a different chain than `chainId`\n * - The resolved vault's supported asset does not match `assetAddress`\n */\nexport async function resolveVault(\n params: ResolveVaultParams\n): Promise<AmplifyVault> {\n const { vaultName, assetAddress, chainId, callerEndpoint } = params;\n\n if (!isValidAddress(assetAddress)) {\n throw new APIError(\n `Invalid assetAddress: ${assetAddress}. Must be a valid Ethereum address.`,\n { endpoint: callerEndpoint }\n );\n }\n\n if (!isValidChainId(chainId)) {\n throw new APIError(\n `Invalid chainId: ${chainId}. Must be a positive integer.`,\n { endpoint: callerEndpoint }\n );\n }\n\n const cache = getCache();\n if (cache.isEmpty() || cache.isExpired()) {\n await cache.refresh();\n }\n\n const vault = cache.getVaultByName(vaultName);\n if (!vault) {\n throw new VaultNotFoundByNameError(\n `No vault found with name \"${vaultName}\". The vault may not exist or may not be available for your organization.`,\n { vaultName, endpoint: callerEndpoint }\n );\n }\n\n const supportedChainIds = new Set<number>([vault.chainId]);\n for (const a of vault.supportedAssets) {\n if (a.chainId != null) {\n supportedChainIds.add(a.chainId);\n }\n }\n\n if (!supportedChainIds.has(chainId)) {\n const chains = Array.from(supportedChainIds).join(\", \");\n throw new APIError(\n `Vault \"${vaultName}\" supports chains [${chains}], but ${getChainNameById(chainId)} (${chainId}) was requested.`,\n { endpoint: callerEndpoint }\n );\n }\n\n const matchedAsset = vault.supportedAssets.find(\n (a) =>\n a.address.toLowerCase() === assetAddress.toLowerCase() &&\n (a.chainId == null || a.chainId === chainId)\n );\n if (!matchedAsset) {\n const supported = vault.supportedAssets\n .filter((a) => a.chainId == null || a.chainId === chainId)\n .map((a) => `${a.address} (${a.symbol})`)\n .join(\", \");\n throw new APIError(\n `Vault \"${vaultName}\" supports assets [${supported}] on chain ${chainId}, but asset ${assetAddress} was requested.`,\n { endpoint: callerEndpoint }\n );\n }\n\n return vault;\n}\n","export const WithdrawQueueAbi = [\n {\n inputs: [\n { internalType: \"string\", name: \"_name\", type: \"string\" },\n { internalType: \"string\", name: \"_symbol\", type: \"string\" },\n { internalType: \"address\", name: \"_feeRecipient\", type: \"address\" },\n {\n internalType: \"contract TellerWithMultiAssetSupport\",\n name: \"_tellerWithMultiAssetSupport\",\n type: \"address\",\n },\n {\n internalType: \"contract IFeeModule\",\n name: \"_feeModule\",\n type: \"address\",\n },\n { internalType: \"uint256\", name: \"_minimumOrderSize\", type: \"uint256\" },\n { internalType: \"address\", name: \"_owner\", type: \"address\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n { inputs: [], name: \"ECDSAInvalidSignature\", type: \"error\" },\n {\n inputs: [{ internalType: \"uint256\", name: \"length\", type: \"uint256\" }],\n name: \"ECDSAInvalidSignatureLength\",\n type: \"error\",\n },\n {\n inputs: [{ internalType: \"bytes32\", name: \"s\", type: \"bytes32\" }],\n name: \"ECDSAInvalidSignatureS\",\n type: \"error\",\n },\n { inputs: [], name: \"ERC721EnumerableForbiddenBatchMint\", type: \"error\" },\n {\n inputs: [\n { internalType: \"address\", name: \"sender\", type: \"address\" },\n { internalType: \"uint256\", name: \"tokenId\", type: \"uint256\" },\n { internalType: \"address\", name: \"owner\", type: \"address\" },\n ],\n name: \"ERC721IncorrectOwner\",\n type: \"error\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"operator\", type: \"address\" },\n { internalType: \"uint256\", name: \"tokenId\", type: \"uint256\" },\n ],\n name: \"ERC721InsufficientApproval\",\n type: \"error\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"approver\", type: \"address\" }],\n name: \"ERC721InvalidApprover\",\n type: \"error\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"operator\", type: \"address\" }],\n name: \"ERC721InvalidOperator\",\n type: \"error\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"owner\", type: \"address\" }],\n name: \"ERC721InvalidOwner\",\n type: \"error\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"receiver\", type: \"address\" }],\n name: \"ERC721InvalidReceiver\",\n type: \"error\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"sender\", type: \"address\" }],\n name: \"ERC721InvalidSender\",\n type: \"error\",\n },\n {\n inputs: [{ internalType: \"uint256\", name: \"tokenId\", type: \"uint256\" }],\n name: \"ERC721NonexistentToken\",\n type: \"error\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"owner\", type: \"address\" },\n { internalType: \"uint256\", name: \"index\", type: \"uint256\" },\n ],\n name: \"ERC721OutOfBoundsIndex\",\n type: \"error\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"token\", type: \"address\" }],\n name: \"SafeERC20FailedOperation\",\n type: \"error\",\n },\n { inputs: [], name: \"Unauthorized\", type: \"error\" },\n { inputs: [], name: \"ZeroAddress\", type: \"error\" },\n {\n inputs: [{ internalType: \"uint256\", name: \"orderIndex\", type: \"uint256\" }],\n name: \"OrderAlreadyProcessed\",\n type: \"error\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"orderIndex\", type: \"uint256\" },\n {\n internalType: \"enum WithdrawQueue.OrderType\",\n name: \"currentStatus\",\n type: \"uint8\",\n },\n ],\n name: \"InvalidOrderType\",\n type: \"error\",\n },\n {\n inputs: [{ internalType: \"uint256\", name: \"orderIndex\", type: \"uint256\" }],\n name: \"InvalidOrderIndex\",\n type: \"error\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"minimum\", type: \"uint256\" },\n ],\n name: \"AmountBelowMinimum\",\n type: \"error\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"currentTimestamp\", type: \"uint256\" },\n ],\n name: \"SignatureExpired\",\n type: \"error\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"ordersToProcess\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"latestOrder\", type: \"uint256\" },\n ],\n name: \"NotEnoughOrdersToProcess\",\n type: \"error\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"ordersToProcess\", type: \"uint256\" },\n ],\n name: \"InvalidOrdersCount\",\n type: \"error\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"intendedDepositor\", type: \"address\" },\n { internalType: \"address\", name: \"depositor\", type: \"address\" },\n ],\n name: \"InvalidEip2612Signature\",\n type: \"error\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"intendedDepositor\", type: \"address\" },\n { internalType: \"address\", name: \"depositor\", type: \"address\" },\n ],\n name: \"InvalidDepositor\",\n type: \"error\",\n },\n { inputs: [], name: \"PermitFailedAndAllowanceTooLow\", type: \"error\" },\n { inputs: [], name: \"TellerVaultMissmatch\", type: \"error\" },\n {\n inputs: [\n { internalType: \"address\", name: \"attemptedToCancel\", type: \"address\" },\n { internalType: \"address\", name: \"orderOwner\", type: \"address\" },\n ],\n name: \"OnlyOrderOwnerCanCancel\",\n type: \"error\",\n },\n { inputs: [], name: \"QueueMustBeEmpty\", type: \"error\" },\n {\n inputs: [\n { internalType: \"contract IERC20\", name: \"asset\", type: \"address\" },\n ],\n name: \"AssetNotSupported\",\n type: \"error\",\n },\n { inputs: [], name: \"InvalidAssetsOut\", type: \"error\" },\n { inputs: [], name: \"EmptyArray\", type: \"error\" },\n {\n inputs: [\n { internalType: \"contract IERC20\", name: \"wantAsset\", type: \"address\" },\n { internalType: \"uint256\", name: \"expectedAssetsOut\", type: \"uint256\" },\n {\n internalType: \"uint256\",\n name: \"vaultBalanceOfWantAsset\",\n type: \"uint256\",\n },\n ],\n name: \"VaultInsufficientBalance\",\n type: \"error\",\n },\n { inputs: [], name: \"TellerIsPaused\", type: \"error\" },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"approved\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"uint256\",\n name: \"tokenId\",\n type: \"uint256\",\n },\n ],\n name: \"Approval\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"operator\",\n type: \"address\",\n },\n { indexed: false, internalType: \"bool\", name: \"approved\", type: \"bool\" },\n ],\n name: \"ApprovalForAll\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"newAuthority\",\n type: \"address\",\n },\n ],\n name: \"AuthorityUpdated\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"contract IFeeModule\",\n name: \"oldFeeModule\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"contract IFeeModule\",\n name: \"newFeeModule\",\n type: \"address\",\n },\n ],\n name: \"FeeModuleUpdated\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"oldFeeRecipient\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"newFeeRecipient\",\n type: \"address\",\n },\n ],\n name: \"FeeRecipientUpdated\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldMinimum\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newMinimum\",\n type: \"uint256\",\n },\n ],\n name: \"MinimumOrderSizeUpdated\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"uint256\",\n name: \"orderIndex\",\n type: \"uint256\",\n },\n {\n components: [\n { internalType: \"uint256\", name: \"amountOffer\", type: \"uint256\" },\n {\n internalType: \"contract IERC20\",\n name: \"wantAsset\",\n type: \"address\",\n },\n { internalType: \"address\", name: \"refundReceiver\", type: \"address\" },\n {\n internalType: \"enum WithdrawQueue.OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"bool\",\n name: \"didOrderFailTransfer\",\n type: \"bool\",\n },\n ],\n indexed: false,\n internalType: \"struct WithdrawQueue.Order\",\n name: \"order\",\n type: \"tuple\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"receiver\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"depositor\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"bool\",\n name: \"isSubmittedViaSignature\",\n type: \"bool\",\n },\n ],\n name: \"OrderSubmitted\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"uint256\",\n name: \"startIndex\",\n type: \"uint256\",\n },\n {\n indexed: true,\n internalType: \"uint256\",\n name: \"endIndex\",\n type: \"uint256\",\n },\n ],\n name: \"OrdersProcessedInRange\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"uint256\",\n name: \"orderIndex\",\n type: \"uint256\",\n },\n {\n components: [\n { internalType: \"uint256\", name: \"amountOffer\", type: \"uint256\" },\n {\n internalType: \"contract IERC20\",\n name: \"wantAsset\",\n type: \"address\",\n },\n { internalType: \"address\", name: \"refundReceiver\", type: \"address\" },\n {\n internalType: \"enum WithdrawQueue.OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"bool\",\n name: \"didOrderFailTransfer\",\n type: \"bool\",\n },\n ],\n indexed: false,\n internalType: \"struct WithdrawQueue.Order\",\n name: \"order\",\n type: \"tuple\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"receiver\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"bool\",\n name: \"isForceProcessed\",\n type: \"bool\",\n },\n ],\n name: \"OrderProcessed\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"uint256\",\n name: \"orderIndex\",\n type: \"uint256\",\n },\n {\n components: [\n { internalType: \"uint256\", name: \"amountOffer\", type: \"uint256\" },\n {\n internalType: \"contract IERC20\",\n name: \"wantAsset\",\n type: \"address\",\n },\n { internalType: \"address\", name: \"refundReceiver\", type: \"address\" },\n {\n internalType: \"enum WithdrawQueue.OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"bool\",\n name: \"didOrderFailTransfer\",\n type: \"bool\",\n },\n ],\n indexed: false,\n internalType: \"struct WithdrawQueue.Order\",\n name: \"order\",\n type: \"tuple\",\n },\n ],\n name: \"OrderRefunded\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"uint256\",\n name: \"orderIndex\",\n type: \"uint256\",\n },\n {\n indexed: true,\n internalType: \"bool\",\n name: \"isMarkedByUser\",\n type: \"bool\",\n },\n ],\n name: \"OrderMarkedForRefund\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\",\n },\n ],\n name: \"OwnershipTransferred\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"contract TellerWithMultiAssetSupport\",\n name: \"oldTeller\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"contract TellerWithMultiAssetSupport\",\n name: \"newTeller\",\n type: \"address\",\n },\n ],\n name: \"TellerUpdated\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n { indexed: true, internalType: \"address\", name: \"to\", type: \"address\" },\n {\n indexed: true,\n internalType: \"uint256\",\n name: \"tokenId\",\n type: \"uint256\",\n },\n ],\n name: \"Transfer\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"CANCEL_ORDER_TYPEHASH\",\n outputs: [{ internalType: \"bytes32\", name: \"\", type: \"bytes32\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"authority\",\n outputs: [\n { internalType: \"contract Authority\", name: \"\", type: \"address\" },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"owner\", type: \"address\" }],\n name: \"balanceOf\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"uint256\", name: \"tokenId\", type: \"uint256\" }],\n name: \"ownerOf\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"uint256\", name: \"orderIndex\", type: \"uint256\" }],\n name: \"cancelOrder\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"orderIndex\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bytes\", name: \"cancelSignature\", type: \"bytes\" },\n ],\n name: \"cancelOrderWithSignature\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"feeModule\",\n outputs: [\n { internalType: \"contract IFeeModule\", name: \"\", type: \"address\" },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"feeRecipient\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"uint256\", name: \"orderIndex\", type: \"uint256\" }],\n name: \"forceProcess\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256[]\", name: \"orderIndices\", type: \"uint256[]\" },\n ],\n name: \"forceProcessOrders\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"uint256\", name: \"orderIndex\", type: \"uint256\" }],\n name: \"getOrderStatus\",\n outputs: [\n {\n internalType: \"enum WithdrawQueue.OrderStatus\",\n name: \"\",\n type: \"uint8\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"uint256\", name: \"tokenId\", type: \"uint256\" }],\n name: \"getApproved\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"lastProcessedOrder\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"latestOrder\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"contract IERC20\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { internalType: \"address\", name: \"receiver\", type: \"address\" },\n ],\n name: \"manageERC20\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"minimumOrderSize\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"name\",\n outputs: [{ internalType: \"string\", name: \"\", type: \"string\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n name: \"nonces\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"offerAsset\",\n outputs: [{ internalType: \"contract IERC20\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"owner\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n name: \"orderAtQueueIndex\",\n outputs: [\n {\n components: [\n { internalType: \"uint256\", name: \"amountOffer\", type: \"uint256\" },\n {\n internalType: \"contract IERC20\",\n name: \"wantAsset\",\n type: \"address\",\n },\n { internalType: \"address\", name: \"refundReceiver\", type: \"address\" },\n {\n internalType: \"enum WithdrawQueue.OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"bool\",\n name: \"didOrderFailTransfer\",\n type: \"bool\",\n },\n ],\n internalType: \"struct WithdrawQueue.Order\",\n name: \"\",\n type: \"tuple\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"owner\", type: \"address\" },\n { internalType: \"address\", name: \"operator\", type: \"address\" },\n ],\n name: \"isApprovedForAll\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"uint256\", name: \"orderIndex\", type: \"uint256\" }],\n name: \"refundOrder\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256[]\", name: \"orderIndices\", type: \"uint256[]\" },\n ],\n name: \"refundOrders\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"ordersToProcess\", type: \"uint256\" },\n ],\n name: \"processOrders\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"uint256\", name: \"amountOffer\", type: \"uint256\" },\n {\n internalType: \"contract IERC20\",\n name: \"wantAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"intendedDepositor\",\n type: \"address\",\n },\n { internalType: \"address\", name: \"receiver\", type: \"address\" },\n { internalType: \"address\", name: \"refundReceiver\", type: \"address\" },\n {\n components: [\n {\n internalType: \"enum WithdrawQueue.ApprovalMethod\",\n name: \"approvalMethod\",\n type: \"uint8\",\n },\n { internalType: \"uint8\", name: \"approvalV\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"approvalR\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"approvalS\", type: \"bytes32\" },\n {\n internalType: \"bool\",\n name: \"submitWithSignature\",\n type: \"bool\",\n },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n {\n internalType: \"bytes\",\n name: \"eip2612Signature\",\n type: \"bytes\",\n },\n ],\n internalType: \"struct WithdrawQueue.SignatureParams\",\n name: \"signatureParams\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct WithdrawQueue.SubmitOrderParams\",\n name: \"params\",\n type: \"tuple\",\n },\n ],\n name: \"submitOrder\",\n outputs: [{ internalType: \"uint256\", name: \"orderIndex\", type: \"uint256\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"uint256\", name: \"amountOffer\", type: \"uint256\" },\n {\n internalType: \"contract IERC20\",\n name: \"wantAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"intendedDepositor\",\n type: \"address\",\n },\n { internalType: \"address\", name: \"receiver\", type: \"address\" },\n { internalType: \"address\", name: \"refundReceiver\", type: \"address\" },\n {\n components: [\n {\n internalType: \"enum WithdrawQueue.ApprovalMethod\",\n name: \"approvalMethod\",\n type: \"uint8\",\n },\n { internalType: \"uint8\", name: \"approvalV\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"approvalR\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"approvalS\", type: \"bytes32\" },\n {\n internalType: \"bool\",\n name: \"submitWithSignature\",\n type: \"bool\",\n },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n {\n internalType: \"bytes\",\n name: \"eip2612Signature\",\n type: \"bytes\",\n },\n ],\n internalType: \"struct WithdrawQueue.SignatureParams\",\n name: \"signatureParams\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct WithdrawQueue.SubmitOrderParams\",\n name: \"params\",\n type: \"tuple\",\n },\n { internalType: \"uint256\", name: \"ordersToProcess\", type: \"uint256\" },\n ],\n name: \"submitOrderAndProcess\",\n outputs: [{ internalType: \"uint256\", name: \"orderIndex\", type: \"uint256\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"uint256\", name: \"amountOffer\", type: \"uint256\" },\n {\n internalType: \"contract IERC20\",\n name: \"wantAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"intendedDepositor\",\n type: \"address\",\n },\n { internalType: \"address\", name: \"receiver\", type: \"address\" },\n { internalType: \"address\", name: \"refundReceiver\", type: \"address\" },\n {\n components: [\n {\n internalType: \"enum WithdrawQueue.ApprovalMethod\",\n name: \"approvalMethod\",\n type: \"uint8\",\n },\n { internalType: \"uint8\", name: \"approvalV\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"approvalR\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"approvalS\", type: \"bytes32\" },\n {\n internalType: \"bool\",\n name: \"submitWithSignature\",\n type: \"bool\",\n },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n {\n internalType: \"bytes\",\n name: \"eip2612Signature\",\n type: \"bytes\",\n },\n ],\n internalType: \"struct WithdrawQueue.SignatureParams\",\n name: \"signatureParams\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct WithdrawQueue.SubmitOrderParams\",\n name: \"params\",\n type: \"tuple\",\n },\n ],\n name: \"submitOrderAndProcessAll\",\n outputs: [{ internalType: \"uint256\", name: \"orderIndex\", type: \"uint256\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"symbol\",\n outputs: [{ internalType: \"string\", name: \"\", type: \"string\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"bytes4\", name: \"interfaceId\", type: \"bytes4\" }],\n name: \"supportsInterface\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"tellerWithMultiAssetSupport\",\n outputs: [\n {\n internalType: \"contract TellerWithMultiAssetSupport\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"uint256\", name: \"tokenId\", type: \"uint256\" }],\n name: \"tokenByIndex\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"owner\", type: \"address\" },\n { internalType: \"uint256\", name: \"index\", type: \"uint256\" },\n ],\n name: \"tokenOfOwnerByIndex\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"uint256\", name: \"tokenId\", type: \"uint256\" }],\n name: \"tokenURI\",\n outputs: [{ internalType: \"string\", name: \"\", type: \"string\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"totalSupply\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"from\", type: \"address\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"tokenId\", type: \"uint256\" },\n ],\n name: \"transferFrom\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"from\", type: \"address\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"tokenId\", type: \"uint256\" },\n ],\n name: \"safeTransferFrom\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"from\", type: \"address\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"tokenId\", type: \"uint256\" },\n { internalType: \"bytes\", name: \"_data\", type: \"bytes\" },\n ],\n name: \"safeTransferFrom\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"operator\", type: \"address\" },\n { internalType: \"bool\", name: \"approved\", type: \"bool\" },\n ],\n name: \"setApprovalForAll\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"contract IFeeModule\",\n name: \"_feeModule\",\n type: \"address\",\n },\n ],\n name: \"setFeeModule\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"_feeRecipient\", type: \"address\" },\n ],\n name: \"setFeeRecipient\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"contract TellerWithMultiAssetSupport\",\n name: \"_newTeller\",\n type: \"address\",\n },\n ],\n name: \"setTellerWithMultiAssetSupport\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"newOwner\", type: \"address\" }],\n name: \"setOwner\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"contract Authority\",\n name: \"newAuthority\",\n type: \"address\",\n },\n ],\n name: \"setAuthority\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"uint256\", name: \"_newMinimum\", type: \"uint256\" }],\n name: \"updateAssetMinimumOrderSize\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"tokenId\", type: \"uint256\" },\n ],\n name: \"approve\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n] as const;\n"]}
@@ -89,7 +89,7 @@ function setLogLevel(level) {
89
89
  }
90
90
 
91
91
  // src/constants/environment.ts
92
- var BASE_URL = "https://paxos-labs-monorepo.onrender.com";
92
+ var BASE_URL = "https://api.paxoslabs.com";
93
93
  function getGraphQLEndpoint() {
94
94
  return `${BASE_URL}/graphql`;
95
95
  }
@@ -735,6 +735,7 @@ function mapGraphQLConfigToVault(config) {
735
735
  const { vault, depositTokenAddress } = config;
736
736
  const indexerAssets = vault.supportedAssets && vault.supportedAssets.length > 0 ? vault.supportedAssets.map((a) => ({
737
737
  address: a.address,
738
+ chainId: a.chainId,
738
739
  symbol: a.symbol ?? a.address,
739
740
  name: a.tokenName ?? a.symbol ?? a.address,
740
741
  decimals: a.decimals ?? 0,
@@ -923,7 +924,7 @@ function applyAssetFilters(assets, options) {
923
924
  }
924
925
  return filtered;
925
926
  }
926
- async function fetchVaults(options) {
927
+ async function getVaults(options) {
927
928
  validateVaultFilterOptions(options);
928
929
  const cache = getCache();
929
930
  if (cache.isEmpty() || cache.isExpired()) {
@@ -931,7 +932,7 @@ async function fetchVaults(options) {
931
932
  }
932
933
  return applyVaultFilters(cache.getAllVaults(), options);
933
934
  }
934
- async function fetchSupportedAssets(options) {
935
+ async function getSupportedAssets(options) {
935
936
  validateAssetFilterOptions(options);
936
937
  const cache = getCache();
937
938
  if (cache.isEmpty() || cache.isExpired()) {
@@ -959,7 +960,7 @@ function clearCache() {
959
960
  cache.clear();
960
961
  }
961
962
  async function getAssetsFromCache(options) {
962
- return fetchSupportedAssets(options);
963
+ return getSupportedAssets(options);
963
964
  }
964
965
  async function findVaultByConfig(params) {
965
966
  if (!isValidAddress(params.assetAddress)) {
@@ -1165,6 +1166,7 @@ var stableTestnet = viem.defineChain({
1165
1166
  var CHAIN_ID_TO_CHAIN_MAP = {
1166
1167
  [chains.mainnet.id]: chains.mainnet,
1167
1168
  [chains.sepolia.id]: chains.sepolia,
1169
+ [chains.base.id]: chains.base,
1168
1170
  [hyperEvm.id]: hyperEvm,
1169
1171
  [stableTestnet.id]: stableTestnet
1170
1172
  };
@@ -1181,9 +1183,11 @@ async function getChainFromConfig(chainId, config) {
1181
1183
  return chain2;
1182
1184
  }
1183
1185
  }
1184
- const vaults = config ?? await fetchVaults();
1185
- const vault = vaults.find((v) => v.chainId === chainId);
1186
- if (!vault) {
1186
+ const vaults = config ?? await getVaults();
1187
+ const numericChainId = Number(chainId);
1188
+ const knownChain = CHAIN_ID_TO_CHAIN_MAP[numericChainId];
1189
+ const vaultForChain = vaults.find((v) => v.chainId === numericChainId);
1190
+ if (!knownChain && !vaultForChain) {
1187
1191
  throw new Error(`Vault not found for ID: ${chainId}`);
1188
1192
  }
1189
1193
  if (config && !chainsCache) {
@@ -1201,14 +1205,26 @@ async function getChainFromConfig(chainId, config) {
1201
1205
  contracts: chainConfig.contracts
1202
1206
  });
1203
1207
  }
1208
+ if (knownChain && !cache.has(numericChainId)) {
1209
+ cache.set(numericChainId, {
1210
+ id: numericChainId,
1211
+ name: knownChain.name,
1212
+ nativeCurrency: knownChain.nativeCurrency,
1213
+ rpcUrls: knownChain.rpcUrls,
1214
+ contracts: knownChain.contracts
1215
+ });
1216
+ }
1204
1217
  chainsCache = cache;
1205
1218
  }
1206
- const chain = chainsCache ? chainsCache.get(chainId) : void 0;
1219
+ const chain = chainsCache ? chainsCache.get(numericChainId) : void 0;
1207
1220
  if (!chain) {
1208
1221
  throw new Error(`Chain not found for ID: ${chainId}`);
1209
1222
  }
1210
1223
  return chain;
1211
1224
  }
1225
+ function getChainNameById(chainId) {
1226
+ return CHAIN_ID_TO_CHAIN_MAP[chainId]?.name || null;
1227
+ }
1212
1228
  function clearChainsCache() {
1213
1229
  chainsCache = null;
1214
1230
  }
@@ -1224,7 +1240,7 @@ var getClient = async (chainId) => {
1224
1240
  if (!clients.has(numericChainId)) {
1225
1241
  const chain = await getChainFromConfig(
1226
1242
  numericChainId,
1227
- await fetchVaults()
1243
+ await getVaults()
1228
1244
  );
1229
1245
  const customRpcUrl = getRpcUrls()[numericChainId];
1230
1246
  if (!customRpcUrl && !warnedChains.has(numericChainId)) {
@@ -1442,16 +1458,17 @@ exports.LogLevel = LogLevel;
1442
1458
  exports.YieldType = YieldType;
1443
1459
  exports.clearChainsCache = clearChainsCache;
1444
1460
  exports.createTimeoutSignal = createTimeoutSignal;
1445
- exports.fetchSupportedAssets = fetchSupportedAssets;
1446
- exports.fetchVaults = fetchVaults;
1447
1461
  exports.findVaultByConfig = findVaultByConfig;
1448
1462
  exports.getAssetsFromCache = getAssetsFromCache;
1449
1463
  exports.getCache = getCache;
1450
1464
  exports.getChainFromConfig = getChainFromConfig;
1465
+ exports.getChainNameById = getChainNameById;
1451
1466
  exports.getClient = getClient;
1452
1467
  exports.getLogger = getLogger;
1453
1468
  exports.getRequestHeaders = getRequestHeaders;
1454
1469
  exports.getRestV2BaseURL = getRestV2BaseURL;
1470
+ exports.getSupportedAssets = getSupportedAssets;
1471
+ exports.getVaults = getVaults;
1455
1472
  exports.getVaultsByConfig = getVaultsByConfig;
1456
1473
  exports.getWithdrawSupportedAssets = getWithdrawSupportedAssets;
1457
1474
  exports.initAmplifySDK = initAmplifySDK;
@@ -1464,5 +1481,5 @@ exports.setLogLevel = setLogLevel;
1464
1481
  exports.setLogger = setLogger;
1465
1482
  exports.toChainId = toChainId;
1466
1483
  exports.waitForCacheReady = waitForCacheReady;
1467
- //# sourceMappingURL=chunk-PKGFLHZA.js.map
1468
- //# sourceMappingURL=chunk-PKGFLHZA.js.map
1484
+ //# sourceMappingURL=chunk-E5DH5YEE.js.map
1485
+ //# sourceMappingURL=chunk-E5DH5YEE.js.map