@dimes-dot-fi/sdk 1.0.0
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/chunk-BRANC7OH.mjs +283 -0
- package/dist/chunk-BRANC7OH.mjs.map +1 -0
- package/dist/chunk-JGK55KDX.cjs +283 -0
- package/dist/chunk-JGK55KDX.cjs.map +1 -0
- package/dist/chunk-LQ5LLBR6.mjs +312 -0
- package/dist/chunk-LQ5LLBR6.mjs.map +1 -0
- package/dist/chunk-XXTTXLCT.cjs +312 -0
- package/dist/chunk-XXTTXLCT.cjs.map +1 -0
- package/dist/contract/index.cjs +670 -0
- package/dist/contract/index.cjs.map +1 -0
- package/dist/contract/index.d.cts +83 -0
- package/dist/contract/index.d.ts +83 -0
- package/dist/contract/index.mjs +670 -0
- package/dist/contract/index.mjs.map +1 -0
- package/dist/dimes-client-BLIAuK4M.d.cts +1241 -0
- package/dist/dimes-client-BLIAuK4M.d.ts +1241 -0
- package/dist/dimes-error-BtDMi3Kv.d.ts +26 -0
- package/dist/dimes-error-DxzsfQo6.d.cts +26 -0
- package/dist/index.cjs +275 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +21 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.mjs +275 -0
- package/dist/index.mjs.map +1 -0
- package/dist/quote-ByZJRoPf.d.cts +29 -0
- package/dist/quote-CgmTKnIZ.d.ts +29 -0
- package/dist/react/index.cjs +166 -0
- package/dist/react/index.cjs.map +1 -0
- package/dist/react/index.d.cts +41 -0
- package/dist/react/index.d.ts +41 -0
- package/dist/react/index.mjs +166 -0
- package/dist/react/index.mjs.map +1 -0
- package/package.json +111 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/contract/vault-abi.json","../../src/contract/abi.ts","../../src/contract/evm.ts","../../src/contract/build-tx.ts","../../src/contract/verify-signature.ts","../../src/contract/error-messages.ts"],"sourcesContent":["{\n \"abi\": [\n {\n \"type\": \"function\",\n \"name\": \"createPosition\",\n \"inputs\": [\n {\n \"name\": \"positionSeed\",\n \"type\": \"bytes16\",\n \"internalType\": \"bytes16\"\n },\n {\n \"name\": \"marketId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"tokenId\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collateralUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"leverageBps\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"notionalUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"originationFeeBps\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"lifetimeFeeAprBps\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"liquidationFeeBps\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"venueFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"signature\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n },\n {\n \"name\": \"signatureExpiry\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"requestClose\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"event\",\n \"name\": \"CloseRequested\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"state\",\n \"type\": \"uint8\",\n \"indexed\": false,\n \"internalType\": \"uint8\"\n },\n {\n \"name\": \"timestamp\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"PositionCreated\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"positionSeed\",\n \"type\": \"bytes16\",\n \"indexed\": false,\n \"internalType\": \"bytes16\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"marketId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"tokenId\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collateralUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"leverageBps\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"notionalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"originationFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"venueFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"originationFeeBps\",\n \"type\": \"uint16\",\n \"indexed\": false,\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"lifetimeFeeAprBps\",\n \"type\": \"uint16\",\n \"indexed\": false,\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"liquidationFeeBps\",\n \"type\": \"uint16\",\n \"indexed\": false,\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"state\",\n \"type\": \"uint8\",\n \"indexed\": false,\n \"internalType\": \"uint8\"\n },\n {\n \"name\": \"timestamp\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"error\",\n \"name\": \"CancelDelayNotElapsed\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"CollateralBelowMinimum\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ECDSAInvalidSignature\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ECDSAInvalidSignatureLength\",\n \"inputs\": [\n {\n \"name\": \"length\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"ECDSAInvalidSignatureS\",\n \"inputs\": [\n {\n \"name\": \"s\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"EmergencyOnlyMode\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"EnforcedPause\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"FailedCall\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"FeeRateExceedsMaximum\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InsufficientCapital\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidLeverage\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidNotional\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidPositionState\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidSignature\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"MarketCapitalExceeded\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"NewPositionsPaused\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"NoTokensToClose\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"NotPositionOwner\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"PositionAlreadyExists\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"PositionNotFound\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"SafeERC20FailedOperation\",\n \"inputs\": [\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"ServerHalted\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"SignatureExpired\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"TokenCapitalExceeded\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"TotalCapitalExceeded\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"UserActionsPaused\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"UserCapitalExceeded\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ZeroAddress\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ZeroAmount\",\n \"inputs\": []\n }\n ]\n}\n","import type { Abi } from \"viem\";\nimport vaultAbiJson from \"./vault-abi.json\";\n\nexport const vaultAbi = (vaultAbiJson as { abi: Abi }).abi;\n\nexport const erc20Abi = [\n {\n name: \"approve\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"spender\", type: \"address\" },\n { name: \"amount\", type: \"uint256\" },\n ],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n name: \"allowance\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [\n { name: \"owner\", type: \"address\" },\n { name: \"spender\", type: \"address\" },\n ],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n] as const;\n","import { type Hex, type Address, isHex, isAddress, getAddress } from \"viem\";\nimport { DimesError } from \"../errors/dimes-error\";\n\nexport type { Hex, Address };\n\nexport function toHex(value: string): Hex {\n if (!isHex(value)) {\n const HEX_PREVIEW_LENGTH = 10;\n throw new DimesError(\n \"invalid_hex\",\n `Expected hex string starting with 0x, got: ${value.slice(0, HEX_PREVIEW_LENGTH)}`,\n );\n }\n\n return value;\n}\n\nexport function toAddress(value: string): Address {\n if (!isAddress(value)) {\n throw new DimesError(\"invalid_address\", `Invalid EVM address: ${value}`);\n }\n\n return getAddress(value);\n}\n","import type { Abi } from \"viem\";\nimport type { Offer } from \"../types\";\nimport { vaultAbi, erc20Abi } from \"./abi\";\nimport { toHex, toAddress } from \"./evm\";\n\nexport interface CreatePositionTxData {\n address: `0x${string}`;\n abi: Abi;\n functionName: \"createPosition\";\n args: readonly [\n `0x${string}`,\n `0x${string}`,\n bigint,\n bigint,\n number,\n bigint,\n number,\n number,\n number,\n bigint,\n `0x${string}`,\n bigint,\n ];\n}\n\nexport interface ApproveTxData {\n address: `0x${string}`;\n abi: typeof erc20Abi;\n functionName: \"approve\";\n args: readonly [`0x${string}`, bigint];\n}\n\nexport interface RequestCloseTxData {\n address: `0x${string}`;\n abi: Abi;\n functionName: \"requestClose\";\n args: readonly [`0x${string}`];\n}\n\nexport function buildCreatePositionTx(offer: Offer): CreatePositionTxData {\n return {\n address: toAddress(offer.polygonVaultContractAddress),\n abi: vaultAbi,\n functionName: \"createPosition\",\n args: [\n toHex(offer.positionSeedHex),\n toHex(offer.polymarketMarketId),\n BigInt(offer.polymarketTokenId),\n BigInt(offer.collateralUsdcUnits),\n offer.leverageBps,\n BigInt(offer.notionalUsdcUnits),\n offer.originationFeeBps,\n offer.lifetimeFeeAprBps,\n offer.liquidationFeeBps,\n BigInt(offer.expectedOpenTradingFeeUsdcUnits),\n toHex(offer.contractSignature),\n BigInt(offer.signatureExpiry),\n ],\n };\n}\n\nexport function buildApproveTx(usdcAddress: `0x${string}`, spender: `0x${string}`, amount: bigint): ApproveTxData {\n return {\n address: usdcAddress,\n abi: erc20Abi,\n functionName: \"approve\",\n args: [spender, amount],\n };\n}\n\nexport function buildRequestCloseTx(vaultAddress: `0x${string}`, positionKey: `0x${string}`): RequestCloseTxData {\n return {\n address: vaultAddress,\n abi: vaultAbi,\n functionName: \"requestClose\",\n args: [positionKey],\n };\n}\n","import { recoverTypedDataAddress, getAddress } from \"viem\";\nimport type { DimesClient } from \"../client/dimes-client\";\nimport { DimesContractError } from \"../errors/dimes-error\";\nimport type { ContractInfo, Offer } from \"../types\";\nimport { toHex, toAddress } from \"./evm\";\n\nconst createPositionTypes = {\n CreatePosition: [\n { name: \"positionSeed\", type: \"bytes16\" },\n { name: \"user\", type: \"address\" },\n { name: \"marketId\", type: \"bytes32\" },\n { name: \"tokenId\", type: \"uint256\" },\n { name: \"collateralUsdcUnits\", type: \"uint256\" },\n { name: \"leverageBps\", type: \"uint32\" },\n { name: \"notionalUsdcUnits\", type: \"uint256\" },\n { name: \"originationFeeBps\", type: \"uint16\" },\n { name: \"lifetimeFeeAprBps\", type: \"uint16\" },\n { name: \"liquidationFeeBps\", type: \"uint16\" },\n { name: \"venueFeeUsdcUnits\", type: \"uint256\" },\n { name: \"signatureExpiry\", type: \"uint256\" },\n ],\n} as const;\n\nexport async function recoverCreatePositionSigner(offer: Offer, userAddress: `0x${string}`): Promise<`0x${string}`> {\n return recoverTypedDataAddress({\n domain: {\n name: \"LeveragedPredictionVaultV1\",\n version: \"1\",\n chainId: Number(offer.evmChainId),\n verifyingContract: toAddress(offer.polygonVaultContractAddress),\n },\n types: createPositionTypes,\n primaryType: \"CreatePosition\",\n message: {\n positionSeed: toHex(offer.positionSeedHex),\n user: userAddress,\n marketId: toHex(offer.polymarketMarketId),\n tokenId: BigInt(offer.polymarketTokenId),\n collateralUsdcUnits: BigInt(offer.collateralUsdcUnits),\n leverageBps: offer.leverageBps,\n notionalUsdcUnits: BigInt(offer.notionalUsdcUnits),\n originationFeeBps: offer.originationFeeBps,\n lifetimeFeeAprBps: offer.lifetimeFeeAprBps,\n liquidationFeeBps: offer.liquidationFeeBps,\n venueFeeUsdcUnits: BigInt(offer.expectedOpenTradingFeeUsdcUnits),\n signatureExpiry: BigInt(offer.signatureExpiry),\n },\n signature: toHex(offer.contractSignature),\n });\n}\n\nexport function resolveExpectedSigner(apiSigner: string | undefined): `0x${string}` | undefined {\n return apiSigner ? getAddress(apiSigner) : undefined;\n}\n\nconst contractInfoCache = new WeakMap<DimesClient, ContractInfo>();\n\nexport async function verifyOfferSignature(\n client: DimesClient,\n offer: Offer,\n userAddress: `0x${string}`,\n): Promise<void> {\n let info = contractInfoCache.get(client);\n if (!info) {\n info = await client.getContractInfo();\n contractInfoCache.set(client, info);\n }\n\n const recoveredSigner = await recoverCreatePositionSigner(offer, userAddress);\n const expectedSigner = getAddress(info.polygonSignerAddress);\n\n if (recoveredSigner !== expectedSigner) {\n throw new DimesContractError(\n \"invalid_signer\",\n `Recovered signer ${recoveredSigner} does not match expected authority ${expectedSigner}`,\n );\n }\n}\n","import {\n BaseError,\n ContractFunctionRevertedError,\n ContractFunctionExecutionError,\n UserRejectedRequestError,\n formatUnits,\n} from \"viem\";\nimport { DimesContractError } from \"../errors/dimes-error\";\n\nconst USDC_DECIMALS = 6;\nconst BPS_PER_PCT = 100;\n\nconst fmtUsdc = (v: unknown): string => (typeof v === \"bigint\" ? `${formatUnits(v, USDC_DECIMALS)} USDC` : String(v));\n\nconst BPS_DECIMAL_PLACES = 2;\n\nconst fmtBps = (v: unknown): string => {\n if (typeof v === \"bigint\") {\n return `${(Number(v) / BPS_PER_PCT).toFixed(BPS_DECIMAL_PLACES)}%`;\n }\n if (typeof v === \"number\") {\n return `${(v / BPS_PER_PCT).toFixed(BPS_DECIMAL_PLACES)}%`;\n }\n return String(v);\n};\n\ntype Formatter = (args: readonly unknown[] | undefined) => string;\n\n/* eslint-disable no-magic-numbers -- array-length guards on contract error args */\nconst friendlyByErrorName: Record<string, Formatter> = {\n InvalidSignature: () => \"Quote signature is invalid. Refresh and try again.\",\n SignatureExpired: () => \"Quote has expired. Refresh and try again.\",\n TokenIdMismatch: () => \"Quote token mismatch. Refresh and try again.\",\n\n InsufficientCapital: () => \"Pool is short on capital right now. Try a smaller size.\",\n UserCapitalExceeded: (a) =>\n a && a.length >= 4\n ? `You'd exceed your account cap of ${fmtUsdc(a[3])} (current ${fmtUsdc(a[1])}, requested ${fmtUsdc(a[2])}).`\n : \"You'd exceed your account capital cap.\",\n MarketCapitalExceeded: (a) =>\n a && a.length >= 4\n ? `Market is at capacity (cap ${fmtUsdc(a[3])}, requested ${fmtUsdc(a[2])}).`\n : \"Market is at capacity.\",\n TotalCapitalExceeded: (a) =>\n a && a.length >= 3\n ? `Protocol is at capacity (cap ${fmtUsdc(a[2])}, requested ${fmtUsdc(a[1])}).`\n : \"Protocol is at capacity.\",\n TokenCapitalExceeded: () => \"This outcome is at capacity.\",\n\n InvalidLeverage: (a) => (a && a.length >= 1 ? `Invalid leverage (${fmtBps(a[0])}).` : \"Invalid leverage.\"),\n CollateralBelowMinimum: (a) =>\n a && a.length >= 2\n ? `Collateral ${fmtUsdc(a[0])} is below the minimum of ${fmtUsdc(a[1])}.`\n : \"Collateral is below the minimum.\",\n InvalidCollateral: (a) =>\n a && a.length >= 1 ? `Invalid collateral amount (${fmtUsdc(a[0])}).` : \"Invalid collateral amount.\",\n InvalidNotional: (a) => (a && a.length >= 1 ? `Invalid notional (${fmtUsdc(a[0])}).` : \"Invalid notional.\"),\n ZeroAmount: () => \"Amount cannot be zero.\",\n ZeroAddress: () => \"Address cannot be zero.\",\n\n PositionAlreadyExists: () => \"A position with this seed already exists.\",\n PositionNotFound: () => \"Position not found.\",\n PositionAlreadyFinalized: () => \"Position is already finalized.\",\n InvalidPositionState: () => \"Position is in the wrong state for this action.\",\n NotPositionOwner: () => \"You're not the owner of this position.\",\n\n NewPositionsPaused: () => \"New positions are paused.\",\n UserActionsPaused: () => \"User actions are temporarily paused.\",\n EmergencyOnlyMode: () => \"Protocol is in emergency-only mode.\",\n ServerHalted: () => \"Protocol is halted. Try again later.\",\n\n NoTokensToClose: () => \"Position has no tokens to close.\",\n InvalidProceeds: () => \"Invalid proceeds amount.\",\n InvalidMarketOutcome: () => \"Invalid market outcome.\",\n InvalidTokensToSell: () => \"Invalid token amount to sell.\",\n InvalidTargetLeverage: () => \"Target leverage must be lower than current.\",\n\n CancelDelayNotElapsed: () => \"Cancel delay has not elapsed yet.\",\n CancelDelayTooLong: () => \"Cancel delay exceeds the maximum allowed.\",\n\n SafeERC20FailedOperation: () => \"Token transfer failed.\",\n UnauthorizedTokenSender: () => \"Unauthorized token sender.\",\n CannotRescueOperationalToken: () => \"Cannot rescue operational tokens.\",\n\n ERC20InsufficientBalance: () => \"Insufficient USDC balance.\",\n ERC20InsufficientAllowance: () => \"Insufficient USDC allowance. Approve and try again.\",\n};\n/* eslint-enable no-magic-numbers */\n\nconst friendlyBySelector: Record<string, string> = {\n \"0xe450d38c\": \"Insufficient USDC balance.\",\n \"0xfb8f41b2\": \"Insufficient USDC allowance. Approve and try again.\",\n \"0x96c6fd1e\": \"Invalid token sender (zero address).\",\n \"0xec442f05\": \"Invalid token receiver (zero address).\",\n \"0xe602df05\": \"Invalid token approver (zero address).\",\n \"0x94280d62\": \"Invalid spender (zero address).\",\n \"0x03dee4c5\": \"Insufficient token balance for transfer.\",\n \"0x01a83514\": \"Invalid ERC-1155 sender (zero address).\",\n \"0x57f447ce\": \"Invalid ERC-1155 receiver.\",\n \"0xe237d922\": \"Missing ERC-1155 approval.\",\n \"0x3e31884e\": \"Invalid ERC-1155 approver (zero address).\",\n \"0xced3e100\": \"Invalid ERC-1155 operator (zero address).\",\n \"0x5b059991\": \"ERC-1155 array length mismatch.\",\n};\n\nconst HEX_SELECTOR_LENGTH = 10;\n\nfunction humanizeName(name: string): string {\n const spaced = name.replace(/([a-z0-9])([A-Z])/g, \"$1 $2\");\n return spaced.charAt(0).toUpperCase() + spaced.slice(1);\n}\n\nfunction firstLine(s: string): string {\n const i = s.indexOf(\"\\n\");\n return (i === -1 ? s : s.slice(0, i)).trim();\n}\n\n// eslint-disable-next-line complexity\nexport function formatContractError(err: unknown): DimesContractError {\n if (!err) {\n return new DimesContractError(\"unknown\", \"Transaction failed.\");\n }\n\n if (err instanceof BaseError) {\n const rejected = err.walk((e) => e instanceof UserRejectedRequestError);\n if (rejected) {\n return new DimesContractError(\"UserRejected\", \"Transaction rejected in wallet.\");\n }\n\n const reverted = err.walk(\n (e) => e instanceof ContractFunctionRevertedError,\n ) as ContractFunctionRevertedError | null;\n if (reverted) {\n const errorName = reverted.data?.errorName;\n const args = reverted.data?.args;\n if (errorName) {\n const fmt = friendlyByErrorName[errorName];\n const message = fmt ? fmt(args) : humanizeName(errorName);\n return new DimesContractError(errorName, message);\n }\n const raw = reverted.raw;\n const selector = raw && raw.length >= HEX_SELECTOR_LENGTH ? raw.slice(0, HEX_SELECTOR_LENGTH) : undefined;\n const selectorMessage = selector ? friendlyBySelector[selector] : undefined;\n return new DimesContractError(\n selector ?? \"unknown_revert\",\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n selectorMessage ?? reverted.shortMessage ?? \"Contract reverted.\",\n );\n }\n\n const exec = err.walk((e) => e instanceof ContractFunctionExecutionError) as ContractFunctionExecutionError | null;\n if (exec?.shortMessage) {\n return new DimesContractError(\"execution_error\", firstLine(exec.shortMessage));\n }\n\n if (err.shortMessage) {\n return new DimesContractError(\"base_error\", firstLine(err.shortMessage));\n }\n return new DimesContractError(\"base_error\", firstLine(err.message));\n }\n\n if (err instanceof Error) {\n return new DimesContractError(\"error\", firstLine(err.message));\n }\n return new DimesContractError(\"unknown\", \"Transaction failed.\");\n}\n"],"mappings":"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","names":["getAddress","getAddress"]}
|