@dimes-dot-fi/sdk 2.4.0 → 2.5.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.
Files changed (44) hide show
  1. package/README.md +10 -0
  2. package/dist/{aliases-Dne14KBa.d.cts → aliases-lNsFUKPA.d.cts} +147 -10
  3. package/dist/{aliases-Dne14KBa.d.ts → aliases-lNsFUKPA.d.ts} +147 -10
  4. package/dist/{chunk-KNGEIWFR.cjs → chunk-ERM4WP6D.cjs} +8 -4
  5. package/dist/chunk-ERM4WP6D.cjs.map +1 -0
  6. package/dist/{chunk-LXZAXWLO.mjs → chunk-GA7ZBK6W.mjs} +8 -4
  7. package/dist/chunk-GA7ZBK6W.mjs.map +1 -0
  8. package/dist/{chunk-Q34TMZ5J.mjs → chunk-HJ5EVO5A.mjs} +11 -6
  9. package/dist/chunk-HJ5EVO5A.mjs.map +1 -0
  10. package/dist/{chunk-IZI65LZF.cjs → chunk-L273PAD4.cjs} +14 -9
  11. package/dist/chunk-L273PAD4.cjs.map +1 -0
  12. package/dist/contract/index.cjs +557 -67
  13. package/dist/contract/index.cjs.map +1 -1
  14. package/dist/contract/index.d.cts +69 -8
  15. package/dist/contract/index.d.ts +69 -8
  16. package/dist/contract/index.mjs +544 -54
  17. package/dist/contract/index.mjs.map +1 -1
  18. package/dist/{dimes-client-DJ1d_p31.d.ts → dimes-client-BUAeOsgL.d.cts} +48 -3
  19. package/dist/{dimes-client-D9tohawC.d.cts → dimes-client-DDF-f8yA.d.ts} +48 -3
  20. package/dist/{dimes-error-hSoOierP.d.ts → dimes-error-CkcjExUy.d.ts} +1 -1
  21. package/dist/{dimes-error-E9yPAZb-.d.cts → dimes-error-I7lEZ2V5.d.cts} +1 -1
  22. package/dist/index.cjs +78 -8
  23. package/dist/index.cjs.map +1 -1
  24. package/dist/index.d.cts +10 -9
  25. package/dist/index.d.ts +10 -9
  26. package/dist/index.mjs +74 -4
  27. package/dist/index.mjs.map +1 -1
  28. package/dist/{quote-D4QunMtN.d.ts → quote-B_cMLw7P.d.cts} +7 -2
  29. package/dist/{quote-sWguOcoJ.d.cts → quote-Z88cryAN.d.ts} +7 -2
  30. package/dist/react/index.cjs +34 -33
  31. package/dist/react/index.cjs.map +1 -1
  32. package/dist/react/index.d.cts +12 -8
  33. package/dist/react/index.d.ts +12 -8
  34. package/dist/react/index.mjs +7 -6
  35. package/dist/react/index.mjs.map +1 -1
  36. package/dist/{types-BHU4Qq7e.d.ts → types-BvZf3uFL.d.ts} +1 -1
  37. package/dist/{types-Bvj_WDbX.d.cts → types-F2rHf2Qv.d.cts} +1 -1
  38. package/dist/ws/index.d.cts +3 -3
  39. package/dist/ws/index.d.ts +3 -3
  40. package/package.json +1 -1
  41. package/dist/chunk-IZI65LZF.cjs.map +0 -1
  42. package/dist/chunk-KNGEIWFR.cjs.map +0 -1
  43. package/dist/chunk-LXZAXWLO.mjs.map +0 -1
  44. package/dist/chunk-Q34TMZ5J.mjs.map +0 -1
@@ -1 +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/deposit-wallet.ts","../../src/contract/verify-signature.ts","../../src/contract/verified-build.ts","../../src/contract/error-messages.ts"],"sourcesContent":["{\n \"abi\": [\n {\n \"type\": \"constructor\",\n \"inputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"error\",\n \"name\": \"ActualNotionalExceedsRequested\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"AddTokensRequireDeleverage\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"AddressEmptyCode\",\n \"inputs\": [\n {\n \"name\": \"target\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"AdminPushDepositCtfDeltaMismatch\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"AdminPushDepositCtfMismatch\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"AdminPushDepositNotReserved\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"AdminPushDepositUsdcDeltaMismatch\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"AdminPushDepositUsdcMismatch\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"AdminPushFundedDisabled\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"AlreadyDeployed\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"CancelDelayNotElapsed\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"CancelDelayTooLong\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"CannotRescueOperationalToken\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"CapitalLimitTooLarge\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"CollateralAboveMaximum\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"CollateralBelowMinimum\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"DeleverageCapitalExceedsBorrowed\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"DuplicateAppAdmin\",\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\": \"ERC1967InvalidImplementation\",\n \"inputs\": [\n {\n \"name\": \"implementation\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"ERC1967NonPayable\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"EmergencyOnlyMode\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"EmptySelectorArray\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"EnforcedPause\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ExpectedPause\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"FacetNotFound\",\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\": \"InsufficientFees\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InsufficientVaultReserves\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidAdmin\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidExpectedAmount\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidFeeAdmin\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidInitialization\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidLeverage\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidMarketOutcome\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidNotional\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidPartialCloseAmount\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidPositionState\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidProceeds\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidSignature\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidTargetLeverage\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidTimelock\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidTokenUnits\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidTokensToSell\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"LockedByAdminPushDeposit\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"LockedByPushDeposit\",\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\": \"NonFullFillInLegacyPath\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"NotInitializing\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"NotPositionOwner\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"OverlappingAdminRoles\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"PartialCloseBelowMinCollateral\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"PartialCloseBelowMinSlice\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"PartialFillBelowMinCollateral\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"PositionAlreadyExists\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"PositionAlreadyFinalized\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"PositionNotFound\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"PushDepositAlreadyLocked\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"PushDepositAmountMismatch\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"PushDepositDeltaMismatch\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"PushDepositNotReserved\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ReentrancyGuardReentrantCall\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"SafeCastOverflowedUintDowncast\",\n \"inputs\": [\n {\n \"name\": \"bits\",\n \"type\": \"uint8\",\n \"internalType\": \"uint8\"\n },\n {\n \"name\": \"value\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\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\": \"SanityCheckFailed\",\n \"inputs\": []\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\": \"StaleRecoveryNonce\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"TimelockAlreadySet\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"TokenCapitalExceeded\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"TokenIdMismatch\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"TotalCapitalExceeded\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"UUPSUnauthorizedCallContext\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"UUPSUnsupportedProxiableUUID\",\n \"inputs\": [\n {\n \"name\": \"slot\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"UnauthorizedTokenSender\",\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\": \"VenueFeeExceedsWorstCase\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"VenueFeeOverspent\",\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 \"type\": \"event\",\n \"name\": \"AdminsUpdated\",\n \"inputs\": [\n {\n \"name\": \"newGlobalAdmin\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newEmergencyAdmin\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newAppAdmin1\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newAppAdmin2\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newAppAdmin3\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\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\": \"CancelDelayUpdated\",\n \"inputs\": [\n {\n \"name\": \"newCancelDelaySeconds\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"CapitalAdded\",\n \"inputs\": [\n {\n \"name\": \"amountUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"newTotalCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"CapitalWithdrawn\",\n \"inputs\": [\n {\n \"name\": \"amountUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"newTotalCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"ClosePositionAborted\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"returnedTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"ClosePositionFinalizedWithReturn\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"capitalRepaidUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collectedLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"userPayoutUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"returnedTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"remainingBorrowedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"remainingNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"newLeverageBps\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\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\": \"ClosePositionInitiated\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"tokenUnitsWithdrawn\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"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\": \"ContractUpgraded\",\n \"inputs\": [\n {\n \"name\": \"oldImplementation\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newImplementation\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\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\": \"EIP712DomainChanged\",\n \"inputs\": [],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"ERC1155Rescued\",\n \"inputs\": [\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"tokenId\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"amountUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"recipient\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\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\": \"ERC20Rescued\",\n \"inputs\": [\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amountUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"recipient\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\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\": \"EmergencyOnlyModeDisabled\",\n \"inputs\": [\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\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\": \"EmergencyOnlyModeEnabled\",\n \"inputs\": [\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\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\": \"FacetRegistered\",\n \"inputs\": [\n {\n \"name\": \"facet\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"selectorCount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"FeeAdminUpdated\",\n \"inputs\": [\n {\n \"name\": \"newFeeAdmin\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newFeeReceiver\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\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\": \"FeesWithdrawn\",\n \"inputs\": [\n {\n \"name\": \"caller\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeReceiver\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amountUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"remainingFeesUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"ForceUnwindAborted\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"returnedTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"ForceUnwindInitiated\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"targetLeverageBps\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"tokensToSellUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"Initialized\",\n \"inputs\": [\n {\n \"name\": \"version\",\n \"type\": \"uint64\",\n \"indexed\": false,\n \"internalType\": \"uint64\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"LimitsUpdated\",\n \"inputs\": [\n {\n \"name\": \"maxUserCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"maxMarketCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"maxTotalCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"maxTokenCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"LiquidatedPositionDebtRecovered\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"recoveredUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"protocolReturnUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collectedLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collectedLiquidationFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"surplusRetainedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"remainingBorrowedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"soldTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"remainingDrainedTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"recoveryNonce\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"LiquidatedPositionFinalizedWithReturn\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokensSoldUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"returnedTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"priceUsdPips\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\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\": \"LiquidatedPositionTokensDrained\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"tokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"drainedTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"LiquidatedPositionTokensReturned\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"tokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"drainedTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"LiquidationInitiated\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"priceUsdPips\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokenUnitsWithdrawn\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"NewPositionsPaused\",\n \"inputs\": [\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\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\": \"NewPositionsUnpaused\",\n \"inputs\": [\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\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\": \"OpenPositionInitiated\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"protocolCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"userTotalBorrowedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"marketTotalBorrowedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"totalProtocolBorrowedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"maxUserCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"maxMarketCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"maxTotalCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"PartialCloseAborted\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"returnedTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"PartialCloseFinalized\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"capitalRepaidUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"deleverageCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collectedLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"userPayoutUsdcUnits\",\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\": \"remainingNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"remainingPositionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"newLeverageBps\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\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\": \"PartialCloseFinalizedWithReturn\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"soldTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"returnedTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"capitalRepaidUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collectedLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"userPayoutUsdcUnits\",\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\": \"remainingNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"remainingPositionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"newLeverageBps\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\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\": \"PartialCloseFinalizedWithUnwind\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"capitalRepaidUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"deleverageCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collectedLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"userPayoutUsdcUnits\",\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\": \"remainingNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"remainingPositionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"newLeverageBps\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\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\": \"PartialCloseInitiated\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"sliceTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"sourceTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"PartialCloseRequested\",\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\": \"requestedTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"PartialCloseUnwindFlagged\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"deleverageCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"addTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingPartialCloseTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"Paused\",\n \"inputs\": [\n {\n \"name\": \"account\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"PositionCancelled\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"refundedCollateralUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"refundedOriginationFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"refundedVenueFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"PositionClosed\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"protocolReturnUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collectedLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"userPayoutUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingRefundIncludedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"badDebtUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokensSoldUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\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\": \"event\",\n \"name\": \"PositionForceUnwound\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newLeverageBps\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"remainingPositionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"remainingNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"protocolReturnUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collectedLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collectedLiquidationFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingLiquidationFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingRefundUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"userPayoutUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"badDebtUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokensSoldUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\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\": \"PositionLiquidated\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"priceUsdPips\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"protocolReturnUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collectedLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collectedLiquidationFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"uncollectedLiquidationFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"userPayoutUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingRefundIncludedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"badDebtUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokensSoldUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\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\": \"PositionOpened\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"tokenId\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"notionalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"entryPriceUsdPips\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"unusedUsdcUnits\",\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\": \"originationFeeRefundUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualLeverageBps\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\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\": \"PositionOpenedPartial\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"tokenId\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"entryPriceUsdPips\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"unusedCollateralUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"unusedBorrowedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"originalVenueFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualVenueFeeSpentUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"unusedVenueFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualOriginationFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"originationFeeRefundUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"originalLeverageBps\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"newLeverageBps\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"venueFeeWithinCeiling\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\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\": \"PositionOpenedPartialExtraFee\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"extraVenueFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"absorbedFromRefundUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"residualBorrowedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"newLeverageBps\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\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\": \"PositionReverted\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"reason\",\n \"type\": \"string\",\n \"indexed\": false,\n \"internalType\": \"string\"\n },\n {\n \"name\": \"refundedCollateralUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"refundedOriginationFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"refundedVenueFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"PositionSettled\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"marketOutcome\",\n \"type\": \"uint8\",\n \"indexed\": false,\n \"internalType\": \"uint8\"\n },\n {\n \"name\": \"settledInFavor\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"protocolReturnUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collectedLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"userPayoutUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingRefundIncludedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"badDebtUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokensSoldUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\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\": \"ProtocolInitialized\",\n \"inputs\": [\n {\n \"name\": \"globalAdmin\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"emergencyAdmin\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"appAdmin1\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"appAdmin2\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"appAdmin3\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"usdcToken\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"conditionalTokens\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"capitalPool\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAdmin\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeReceiver\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\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\": \"PushDepositReserved\",\n \"inputs\": [\n {\n \"name\": \"caller\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"snapshotBalanceUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"expectedAmountUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"ServerHalted\",\n \"inputs\": [\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\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\": \"ServerResumed\",\n \"inputs\": [\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\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\": \"SettlePositionInitiated\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"marketOutcome\",\n \"type\": \"uint8\",\n \"indexed\": false,\n \"internalType\": \"uint8\"\n },\n {\n \"name\": \"tokenUnitsWithdrawn\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"TimelockUpdated\",\n \"inputs\": [\n {\n \"name\": \"oldTimelock\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newTimelock\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\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\": \"Unpaused\",\n \"inputs\": [\n {\n \"name\": \"account\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"Upgraded\",\n \"inputs\": [\n {\n \"name\": \"implementation\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"UserActionsPaused\",\n \"inputs\": [\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\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\": \"UserActionsUnpaused\",\n \"inputs\": [\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"timestamp\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"fallback\",\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"UPGRADE_INTERFACE_VERSION\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"VERSION\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"abortClose\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"returnedTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"abortClosePushFunded\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"returnedTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"abortPartialClose\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"accumulatedFeesUsdcUnits\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"addCapital\",\n \"inputs\": [\n {\n \"name\": \"amountUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"appAdmin1\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"appAdmin2\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"appAdmin3\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"cancelDelaySeconds\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"cancelPosition\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"capitalPool\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"capitalPoolBalanceUsdcUnits\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"closePosition\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"conditionalTokens\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\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\": \"createPositionPushFunded\",\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\": \"disableEmergencyOnlyMode\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"drainLiquidatedPositionTokens\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"tokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"eip712Domain\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"fields\",\n \"type\": \"bytes1\",\n \"internalType\": \"bytes1\"\n },\n {\n \"name\": \"name\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n },\n {\n \"name\": \"version\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n },\n {\n \"name\": \"chainId\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"verifyingContract\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"salt\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"extensions\",\n \"type\": \"uint256[]\",\n \"internalType\": \"uint256[]\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"emergencyAdmin\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"emergencyOnlyMode\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"enableEmergencyOnlyMode\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"feeAdmin\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"feeReceiver\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeClose\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeClosePushFunded\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeCloseWithReturn\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"unsoldTokenUnitsReturned\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeForceUnwind\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeForceUnwindPushFunded\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeForceUnwindWithReturn\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"unsoldTokenUnitsReturned\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeForceUnwindWithReturnPushFunded\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"unsoldTokenUnitsReturned\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeLiquidate\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"priceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeLiquidatePushFunded\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"priceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeLiquidateWithReturn\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"priceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"unsoldTokenUnitsReturned\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeLiquidateWithReturnPushFunded\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"priceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"unsoldTokenUnitsReturned\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeOpen\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"tokenId\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"entryPriceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeOpenPartial\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"tokenId\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualVenueFeeSpentUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"entryPriceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeOpenPartialPushFunded\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"tokenId\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualVenueFeeSpentUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"entryPriceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeOpenPartialPushFundedWithExtraFee\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"tokenId\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualVenueFeeSpentUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"extraVenueFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"entryPriceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeOpenPartialWithExtraFee\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"tokenId\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualVenueFeeSpentUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"extraVenueFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"entryPriceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeOpenPushFunded\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"tokenId\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"entryPriceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizePartialClose\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizePartialCloseWithReturn\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"returnedTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizePartialCloseWithUnwind\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeSettle\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"marketOutcome\",\n \"type\": \"uint8\",\n \"internalType\": \"uint8\"\n },\n {\n \"name\": \"settledInFavor\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\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\": \"finalizeSettlePushFunded\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"marketOutcome\",\n \"type\": \"uint8\",\n \"internalType\": \"uint8\"\n },\n {\n \"name\": \"settledInFavor\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\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\": \"flagUnwindDuringPartialClose\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"deleverageCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"addTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"forceUnwind\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"targetLeverageBps\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"tokenUnitsToSell\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"globalAdmin\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"haltServer\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"initialize\",\n \"inputs\": [\n {\n \"name\": \"globalAdmin_\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"emergencyAdmin_\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"appAdmin1_\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"appAdmin2_\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"appAdmin3_\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"usdcToken_\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"conditionalTokens_\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"capitalPool_\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAdmin_\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeReceiver_\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"timelock_\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"initiatePartialClose\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"liquidateDuringPartialClose\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"priceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"liquidatePosition\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"priceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"marketTotalBorrowedUsdcUnits\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"maxMarketCapitalUsdcUnits\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"maxTokenCapitalUsdcUnits\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"maxTotalCapitalUsdcUnits\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"maxUserCapitalUsdcUnits\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"newPositionsPaused\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"onERC1155BatchReceived\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"uint256[]\",\n \"internalType\": \"uint256[]\"\n },\n {\n \"name\": \"\",\n \"type\": \"uint256[]\",\n \"internalType\": \"uint256[]\"\n },\n {\n \"name\": \"\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes4\",\n \"internalType\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"onERC1155Received\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes4\",\n \"internalType\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"openPosition\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"pauseNewPositions\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"pauseUserActions\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"paused\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"pendingOriginationFeesUsdcUnits\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"pendingVenueFeesUsdcUnits\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"positionStates\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint8\",\n \"internalType\": \"enum Types.PositionState\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"positionVaults\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"owner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"leverageBps\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\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\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collateralUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collateralBalanceUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"borrowedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"entryPriceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"notionalUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingLiquidationFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingRefundUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingUnwindTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualEntryPriceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"venueFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"createdAt\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"feeAccrualStartAt\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\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\": \"targetUnwindLeverageBps\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"preUnwindState\",\n \"type\": \"uint8\",\n \"internalType\": \"enum Types.PositionState\"\n },\n {\n \"name\": \"drainedTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"recoveryNonce\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"requestedPartialCloseTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingPartialCloseTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"partialCloseSliceTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"partialCloseSourceTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"partialCloseDeleverageCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"prePartialCloseState\",\n \"type\": \"uint8\",\n \"internalType\": \"enum Types.PositionState\"\n },\n {\n \"name\": \"originalPositionTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"proxiableUUID\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"recoverLiquidatedPositionDebt\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"expectedRecoveryNonce\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"recoveredUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"soldTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"registerFacet\",\n \"inputs\": [\n {\n \"name\": \"selectors\",\n \"type\": \"bytes4[]\",\n \"internalType\": \"bytes4[]\"\n },\n {\n \"name\": \"facet\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"reinitializeV3\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"bytes4[]\",\n \"internalType\": \"bytes4[]\"\n },\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"bytes4[]\",\n \"internalType\": \"bytes4[]\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"reinitializeV4\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"bytes4[]\",\n \"internalType\": \"bytes4[]\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"reinitializeV5\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"bytes4[]\",\n \"internalType\": \"bytes4[]\"\n },\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"bytes4[]\",\n \"internalType\": \"bytes4[]\"\n },\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"bytes4[]\",\n \"internalType\": \"bytes4[]\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"reinitializeV6\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"bytes4[]\",\n \"internalType\": \"bytes4[]\"\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\": \"function\",\n \"name\": \"requestPartialClose\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"closeTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"rescueERC1155\",\n \"inputs\": [\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"tokenId\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"amountUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"rescueERC20\",\n \"inputs\": [\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amountUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"reserveAdminDeposit\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"reserveDeposit\",\n \"inputs\": [\n {\n \"name\": \"expectedAmountUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"resumeServer\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"returnLiquidatedPositionTokens\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"tokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"revertOpen\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"reason\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"revertOpenPushFunded\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"reason\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"serverHalted\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"setTimelock\",\n \"inputs\": [\n {\n \"name\": \"timelock_\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"settleDuringPartialClose\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"marketOutcome\",\n \"type\": \"uint8\",\n \"internalType\": \"uint8\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"settlePosition\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"marketOutcome\",\n \"type\": \"uint8\",\n \"internalType\": \"uint8\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"supportsInterface\",\n \"inputs\": [\n {\n \"name\": \"interfaceId\",\n \"type\": \"bytes4\",\n \"internalType\": \"bytes4\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"pure\"\n },\n {\n \"type\": \"function\",\n \"name\": \"timelock\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"tokenTotalBorrowedUsdcUnits\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"tokenTotalPositionUnits\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"totalProtocolBorrowedUsdcUnits\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"unpauseNewPositions\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"unpauseUserActions\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"updateAdmins\",\n \"inputs\": [\n {\n \"name\": \"newGlobalAdmin\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newEmergencyAdmin\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newAppAdmin1\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newAppAdmin2\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newAppAdmin3\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"updateCancelDelay\",\n \"inputs\": [\n {\n \"name\": \"cancelDelaySeconds_\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"updateFeeAdmin\",\n \"inputs\": [\n {\n \"name\": \"newFeeAdmin\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newFeeReceiver\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"updateLimits\",\n \"inputs\": [\n {\n \"name\": \"maxUserCapitalUsdcUnits_\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"maxMarketCapitalUsdcUnits_\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"maxTotalCapitalUsdcUnits_\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"maxTokenCapitalUsdcUnits_\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"updateTimelock\",\n \"inputs\": [\n {\n \"name\": \"newTimelock\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"upgradeToAndCall\",\n \"inputs\": [\n {\n \"name\": \"newImplementation\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"data\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"payable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"usdcToken\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"userActionsPaused\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"userTotalBorrowedUsdcUnits\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"withdrawCapital\",\n \"inputs\": [\n {\n \"name\": \"amountUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"withdrawFees\",\n \"inputs\": [\n {\n \"name\": \"amountUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\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 { Quote } 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 interface RequestPartialCloseTxData {\n address: `0x${string}`;\n abi: Abi;\n functionName: \"requestPartialClose\";\n args: readonly [`0x${string}`, bigint];\n}\n\nexport function buildCreatePositionTx(quote: Quote): CreatePositionTxData {\n return {\n address: toAddress(quote.polygonVaultContractAddress),\n abi: vaultAbi,\n functionName: \"createPosition\",\n args: [\n toHex(quote.positionSeedHex),\n toHex(quote.polymarketMarketId),\n BigInt(quote.polymarketTokenId),\n BigInt(quote.collateralUsdcUnits),\n quote.leverageBps,\n BigInt(quote.notionalUsdcUnits),\n quote.originationFeeBps,\n quote.lifetimeFeeAprBps,\n quote.liquidationFeeBps,\n BigInt(quote.expectedOpenTradingFeeUsdcUnits),\n toHex(quote.contractSignature),\n BigInt(quote.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\nexport function buildRequestPartialCloseTx(\n vaultAddress: `0x${string}`,\n positionKey: `0x${string}`,\n closeTokenUnits: bigint,\n): RequestPartialCloseTxData {\n return {\n address: vaultAddress,\n abi: vaultAbi,\n functionName: \"requestPartialClose\",\n args: [positionKey, closeTokenUnits],\n };\n}\n","import { encodeFunctionData } from \"viem\";\nimport type { Quote } from \"../types\";\nimport { vaultAbi } from \"./abi\";\nimport { toAddress, toHex, type Address, type Hex } from \"./evm\";\n\n/**\n * Helpers for opening and closing positions from a Polymarket **deposit wallet** (DW).\n *\n * Deposit wallets cannot use the legacy `approve` + `createPosition` path: the Polymarket\n * relayer blocks `approve` to non-whitelisted spenders. Instead the DW submits an atomic\n * batch through Polymarket's deposit-wallet factory:\n *\n * 1. `vault.reserveDeposit(totalUserAmount)` — snapshot the vault pUSD balance\n * 2. `pUSD.transfer(vault, totalUserAmount)` — push the funds directly\n * 3. `vault.createPositionPushFunded(...)` — verify the balance delta + create\n *\n * Closing follows the same batch mechanics with a single inner call, `requestClose`.\n */\n\n/** Polymarket deposit-wallet factory (the `proxy` entrypoint), Polygon mainnet. */\nexport const depositWalletFactoryAddress: Address = \"0x00000000000Fb5C9ADea0298D729A0CB3823Cc07\";\n\n/** Base URL of Polymarket's v2 relayer. */\nexport const polymarketRelayerBaseUrl = \"https://relayer-v2.polymarket.com\";\n\n/** A single inner call inside a deposit-wallet batch. */\nexport interface DepositWalletCall {\n target: Address;\n value: bigint;\n data: Hex;\n}\n\n/** The EIP-712 `Batch` struct signed by the deposit-wallet owner. */\nexport interface DepositWalletBatch {\n wallet: Address;\n nonce: bigint;\n deadline: bigint;\n calls: DepositWalletCall[];\n}\n\n/** EIP-712 type definitions for the deposit-wallet `Batch` signature. */\nexport const depositWalletBatchTypes = {\n Batch: [\n { name: \"wallet\", type: \"address\" },\n { name: \"nonce\", type: \"uint256\" },\n { name: \"deadline\", type: \"uint256\" },\n { name: \"calls\", type: \"Call[]\" },\n ],\n Call: [\n { name: \"target\", type: \"address\" },\n { name: \"value\", type: \"uint256\" },\n { name: \"data\", type: \"bytes\" },\n ],\n} as const;\n\nconst reserveDepositAbi = [\n {\n type: \"function\",\n name: \"reserveDeposit\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"expectedAmountUsdcUnits\", type: \"uint256\" }],\n outputs: [],\n },\n] as const;\n\nconst createPositionPushFundedAbi = [\n {\n type: \"function\",\n name: \"createPositionPushFunded\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"positionSeed\", type: \"bytes16\" },\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: \"signature\", type: \"bytes\" },\n { name: \"signatureExpiry\", type: \"uint256\" },\n ],\n outputs: [],\n },\n] as const;\n\nconst erc20TransferAbi = [\n {\n type: \"function\",\n name: \"transfer\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"to\", type: \"address\" },\n { name: \"amount\", type: \"uint256\" },\n ],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n] as const;\n\n/**\n * Build the three inner calls for a push-funded `createPosition`.\n *\n * The relayer submits these atomically; `quote.totalUserAmountUsdcUnits` is the\n * contract-ready amount (collateral + fees) used for both the reservation and the transfer.\n *\n * @param quote - the signed quote returned by the quote endpoint\n * @param pUsdAddress - the pUSD (USDC) token address (from `GET /contract-info`)\n */\nexport function buildPushFundedCreateCalls(quote: Quote, pUsdAddress: string): DepositWalletCall[] {\n const vaultAddress = toAddress(quote.polygonVaultContractAddress);\n const totalUserAmountUsdcUnits = BigInt(quote.totalUserAmountUsdcUnits);\n\n const reserveDepositData = encodeFunctionData({\n abi: reserveDepositAbi,\n functionName: \"reserveDeposit\",\n args: [totalUserAmountUsdcUnits],\n });\n\n const transferData = encodeFunctionData({\n abi: erc20TransferAbi,\n functionName: \"transfer\",\n args: [vaultAddress, totalUserAmountUsdcUnits],\n });\n\n const createPositionData = encodeFunctionData({\n abi: createPositionPushFundedAbi,\n functionName: \"createPositionPushFunded\",\n args: [\n toHex(quote.positionSeedHex),\n toHex(quote.polymarketMarketId),\n BigInt(quote.polymarketTokenId),\n BigInt(quote.collateralUsdcUnits),\n quote.leverageBps,\n BigInt(quote.notionalUsdcUnits),\n quote.originationFeeBps,\n quote.lifetimeFeeAprBps,\n quote.liquidationFeeBps,\n BigInt(quote.expectedOpenTradingFeeUsdcUnits),\n toHex(quote.contractSignature),\n BigInt(quote.signatureExpiry),\n ],\n });\n\n return [\n { target: vaultAddress, value: 0n, data: reserveDepositData },\n { target: toAddress(pUsdAddress), value: 0n, data: transferData },\n { target: vaultAddress, value: 0n, data: createPositionData },\n ];\n}\n\n/**\n * Build the single inner call for a deposit-wallet `requestClose`.\n *\n * @param vaultAddress - the vault contract address\n * @param positionKey - the `on_chain_position_key` field from `GET /positions`\n */\nexport function buildRequestCloseCalls(vaultAddress: string, positionKey: string): DepositWalletCall[] {\n const closeData = encodeFunctionData({\n abi: vaultAbi,\n functionName: \"requestClose\",\n args: [toHex(positionKey)],\n });\n\n return [{ target: toAddress(vaultAddress), value: 0n, data: closeData }];\n}\n\n/**\n * Build the single inner call for a deposit-wallet `requestPartialClose`.\n *\n * @param vaultAddress - the vault contract address\n * @param positionKey - the `on_chain_position_key` field from `GET /positions`\n * @param closeTokenUnits - the slice to close, in token units (1000000 units = 1 token)\n */\nexport function buildRequestPartialCloseCalls(\n vaultAddress: string,\n positionKey: string,\n closeTokenUnits: bigint,\n): DepositWalletCall[] {\n const partialCloseData = encodeFunctionData({\n abi: vaultAbi,\n functionName: \"requestPartialClose\",\n args: [toHex(positionKey), closeTokenUnits],\n });\n\n return [{ target: toAddress(vaultAddress), value: 0n, data: partialCloseData }];\n}\n\ninterface BuildBatchParams {\n depositWalletAddress: string;\n /** Current `nonce()` read from the deposit wallet. */\n nonce: bigint;\n /** Unix-seconds deadline after which the relayer may no longer submit the batch. */\n deadline: bigint;\n calls: DepositWalletCall[];\n}\n\n/** Assemble a `DepositWalletBatch` ready for EIP-712 signing. */\nexport function buildDepositWalletBatch(params: BuildBatchParams): DepositWalletBatch {\n return {\n wallet: toAddress(params.depositWalletAddress),\n nonce: params.nonce,\n deadline: params.deadline,\n calls: params.calls,\n };\n}\n\n/** EIP-712 typed-data payload for a deposit-wallet `Batch` signature. */\nexport interface DepositWalletBatchTypedData {\n domain: { name: string; version: string; chainId: number; verifyingContract: Address };\n types: typeof depositWalletBatchTypes;\n primaryType: \"Batch\";\n message: DepositWalletBatch;\n}\n\n/**\n * Produce the EIP-712 typed-data object for a batch, ready to pass to a signer\n * (viem `signTypedData`, ethers `signTypedData`, etc.). The owner of the deposit\n * wallet must sign this.\n */\nexport function getDepositWalletBatchTypedData(batch: DepositWalletBatch): DepositWalletBatchTypedData {\n return {\n domain: {\n name: \"DepositWallet\",\n version: \"1\",\n chainId: 137,\n verifyingContract: batch.wallet,\n },\n types: depositWalletBatchTypes,\n primaryType: \"Batch\",\n message: batch,\n };\n}\n\ninterface RelayerSubmitPayload {\n type: \"WALLET\";\n from: Address;\n to: Address;\n nonce: string;\n signature: Hex;\n depositWalletParams: {\n depositWallet: Address;\n deadline: string;\n calls: { target: Address; value: string; data: Hex }[];\n };\n}\n\ninterface BuildRelayerPayloadParams {\n /** The deposit-wallet owner EOA that produced `signature`. */\n ownerAddress: string;\n batch: DepositWalletBatch;\n /** The EIP-712 signature over `getDepositWalletBatchTypedData(batch)`. */\n signature: Hex;\n}\n\n/**\n * Build the JSON body for `POST {polymarketRelayerBaseUrl}/submit`.\n *\n * Stringify the result and send it with headers from {@link buildRelayerAuthHeaders}.\n */\nexport function buildRelayerSubmitPayload(params: BuildRelayerPayloadParams): RelayerSubmitPayload {\n return {\n type: \"WALLET\",\n from: toAddress(params.ownerAddress),\n to: depositWalletFactoryAddress,\n nonce: params.batch.nonce.toString(),\n signature: params.signature,\n depositWalletParams: {\n depositWallet: params.batch.wallet,\n deadline: params.batch.deadline.toString(),\n calls: params.batch.calls.map((call) => ({\n target: call.target,\n value: call.value.toString(),\n data: call.data,\n })),\n },\n };\n}\n\ninterface BuildRelayerHeadersParams {\n /** Polymarket builder API key. */\n apiKey: string;\n /** Polymarket builder API secret (base64). */\n apiSecret: string;\n /** Polymarket builder API passphrase. */\n apiPassphrase: string;\n /** The exact request body string sent to `/submit` (the value passed to `fetch`). */\n body: string;\n /** Unix-seconds timestamp; defaults to now. Must match the request time. */\n timestamp?: string;\n}\n\nfunction base64ToBytes(value: string): ArrayBuffer {\n const binary = atob(value);\n const buffer = new ArrayBuffer(binary.length);\n const bytes = new Uint8Array(buffer);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return buffer;\n}\n\nfunction bytesToBase64Url(bytes: ArrayBuffer): string {\n let binary = \"\";\n const view = new Uint8Array(bytes);\n for (const byte of view) {\n binary += String.fromCharCode(byte);\n }\n return btoa(binary).replaceAll(\"+\", \"-\").replaceAll(\"/\", \"_\");\n}\n\n/**\n * Compute the HMAC-signed headers for a relayer `/submit` request.\n *\n * The relayer authenticates each call with an HMAC-SHA256 over\n * `timestamp + \"POST\" + \"/submit\" + body`, keyed by the base64-decoded API secret,\n * encoded as base64url. Uses the Web Crypto API (works in Node 20+ and browsers).\n */\nexport async function buildRelayerAuthHeaders(params: BuildRelayerHeadersParams): Promise<Record<string, string>> {\n const msPerSecond = 1000;\n const timestamp = params.timestamp ?? Math.floor(Date.now() / msPerSecond).toString();\n const key = await crypto.subtle.importKey(\n \"raw\",\n base64ToBytes(params.apiSecret),\n { name: \"HMAC\", hash: \"SHA-256\" },\n false,\n [\"sign\"],\n );\n const encoded = new TextEncoder().encode(`${timestamp}POST/submit${params.body}`);\n const message = new Uint8Array(encoded).buffer;\n const signature = await crypto.subtle.sign(\"HMAC\", key, message);\n\n return {\n \"Content-Type\": \"application/json\",\n POLY_BUILDER_API_KEY: params.apiKey,\n POLY_BUILDER_TIMESTAMP: timestamp,\n POLY_BUILDER_PASSPHRASE: params.apiPassphrase,\n POLY_BUILDER_SIGNATURE: bytesToBase64Url(signature),\n };\n}\n","import { recoverTypedDataAddress, getAddress } from \"viem\";\nimport type { DimesClient } from \"../client/dimes-client\";\nimport { DimesContractError } from \"../errors/dimes-error\";\nimport type { ContractInfo, Quote } 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(quote: Quote, userAddress: `0x${string}`): Promise<`0x${string}`> {\n return recoverTypedDataAddress({\n domain: {\n name: \"LeveragedPredictionVaultV1\",\n version: \"1\",\n chainId: Number(quote.evmChainId),\n verifyingContract: toAddress(quote.polygonVaultContractAddress),\n },\n types: createPositionTypes,\n primaryType: \"CreatePosition\",\n message: {\n positionSeed: toHex(quote.positionSeedHex),\n user: userAddress,\n marketId: toHex(quote.polymarketMarketId),\n tokenId: BigInt(quote.polymarketTokenId),\n collateralUsdcUnits: BigInt(quote.collateralUsdcUnits),\n leverageBps: quote.leverageBps,\n notionalUsdcUnits: BigInt(quote.notionalUsdcUnits),\n originationFeeBps: quote.originationFeeBps,\n lifetimeFeeAprBps: quote.lifetimeFeeAprBps,\n liquidationFeeBps: quote.liquidationFeeBps,\n venueFeeUsdcUnits: BigInt(quote.expectedOpenTradingFeeUsdcUnits),\n signatureExpiry: BigInt(quote.signatureExpiry),\n },\n signature: toHex(quote.contractSignature),\n });\n}\n\nexport function resolveExpectedSigner(apiSigner: string | undefined): `0x${string}` | undefined {\n return apiSigner ? getAddress(apiSigner) : undefined;\n}\n\n/**\n * Recover the quote's contract signer and assert it matches `expectedSigner`,\n * throwing `DimesContractError(\"invalid_signer\")` on mismatch.\n *\n * Use this when you already hold the authorized signer address (e.g. from a cached\n * `GET /contract-info` query) and don't want to plumb a {@link DimesClient} through.\n * {@link verifyQuoteSignature} is the client-based convenience that fetches and caches\n * the signer for you, then delegates here.\n */\nexport async function assertQuoteSigner(\n quote: Quote,\n userAddress: `0x${string}`,\n expectedSigner: `0x${string}`,\n): Promise<void> {\n const recoveredSigner = await recoverCreatePositionSigner(quote, userAddress);\n const expected = getAddress(expectedSigner);\n\n if (recoveredSigner !== expected) {\n throw new DimesContractError(\n \"invalid_signer\",\n `Recovered signer ${recoveredSigner} does not match expected authority ${expected}`,\n );\n }\n}\n\nconst contractInfoCache = new WeakMap<DimesClient, ContractInfo>();\n\n/**\n * Fetch `GET /contract-info` once per {@link DimesClient} and cache it. Use this to read\n * any on-chain config (signer, vault, pUSD token address) without re-hitting the API.\n */\nexport async function getCachedContractInfo(client: DimesClient): Promise<ContractInfo> {\n let info = contractInfoCache.get(client);\n if (!info) {\n info = await client.getContractInfo();\n contractInfoCache.set(client, info);\n }\n\n return info;\n}\n\nexport async function verifyQuoteSignature(\n client: DimesClient,\n quote: Quote,\n userAddress: `0x${string}`,\n): Promise<void> {\n const info = await getCachedContractInfo(client);\n\n await assertQuoteSigner(quote, userAddress, getAddress(info.polygonSignerAddress));\n}\n\n/** @deprecated Renamed to {@link verifyQuoteSignature}. Kept as an alias for backward compatibility. */\n// eslint-disable-next-line no-restricted-syntax -- intentional deprecated alias\nexport const verifyOfferSignature = verifyQuoteSignature;\n","import type { DimesClient } from \"../client/dimes-client\";\nimport type { Quote } from \"../types\";\nimport { buildCreatePositionTx, type CreatePositionTxData } from \"./build-tx\";\nimport { buildPushFundedCreateCalls, type DepositWalletCall } from \"./deposit-wallet\";\nimport { getCachedContractInfo, verifyQuoteSignature } from \"./verify-signature\";\n\n/**\n * Verify a quote's signature against the on-chain authority (using the client's\n * cached `/contract-info`) and then build the `createPosition` transaction.\n *\n * Prefer this over the raw {@link buildCreatePositionTx} so a tampered or stale\n * quote fails fast in the client instead of reverting on-chain. Throws\n * `DimesContractError(\"invalid_signer\")` if the signature does not verify.\n *\n * @param userAddress - the wallet that will submit the tx (the signed `user`,\n * bound to `msg.sender` by the contract).\n */\nexport async function buildVerifiedCreatePositionTx(\n client: DimesClient,\n quote: Quote,\n userAddress: `0x${string}`,\n): Promise<CreatePositionTxData> {\n await verifyQuoteSignature(client, quote, userAddress);\n return buildCreatePositionTx(quote);\n}\n\n/**\n * Verify a quote's signature (see {@link buildVerifiedCreatePositionTx}) and then\n * build the push-funded deposit-wallet calls. Prefer this over the raw\n * {@link buildPushFundedCreateCalls}: it resolves the correct pUSD token address from\n * the client's cached `GET /contract-info`, so the transfer can never target the wrong\n * stablecoin (e.g. USDC.e instead of pUSD).\n *\n * @param userAddress - the deposit wallet that will be `msg.sender` on-chain.\n * @param pUsdAddress - optional override for the pUSD (USDC) token address. Omit it to\n * use the canonical address from `GET /contract-info`; only pass it to force a\n * specific token.\n */\nexport async function buildVerifiedPushFundedCreateCalls(\n client: DimesClient,\n quote: Quote,\n userAddress: `0x${string}`,\n pUsdAddress?: string,\n): Promise<DepositWalletCall[]> {\n await verifyQuoteSignature(client, quote, userAddress);\n\n const resolvedPusdAddress = pUsdAddress ?? (await getCachedContractInfo(client)).polygonUsdcTokenAddress;\n\n return buildPushFundedCreateCalls(quote, resolvedPusdAddress);\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 // Solady SafeTransferLib — thrown by the vault's token transfers and not\n // present in its ABI, so they only decode by selector.\n \"0xf4d678b8\": \"Insufficient USDC balance to cover collateral and fees. Add USDC and try again.\",\n \"0x13be252b\": \"Insufficient USDC allowance. Approve and try again.\",\n \"0x7939f424\": \"USDC transfer failed. Check your balance and allowance.\",\n \"0x90b8ec18\": \"USDC transfer failed. Check your balance.\",\n \"0x3e3f8f73\": \"USDC approval failed.\",\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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U,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAA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,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,WAAa;AAAA,IACf;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,WAAa;AAAA,IACf;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,WAAa;AAAA,IACf;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,WAAa;AAAA,IACf;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,WAAa;AAAA,IACf;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,WAAa;AAAA,IACf;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,WAAa;AAAA,IACf;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,WAAa;AAAA,IACf;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,WAAa;AAAA,IACf;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,WAAa;AAAA,IACf;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,WAAa;AAAA,IACf;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,WAAa;AAAA,IACf;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,WAAa;AAAA,IACf;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,WAAa;AAAA,IACf;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,WAAa;AAAA,IACf;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,WAAa;AAAA,IACf;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,SAAW;AAAA,UACX,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,WAAa;AAAA,IACf;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW,CAAC;AAAA,MACZ,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,MACX,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,iBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,SAAW;AAAA,QACT;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR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","names":["getAddress","getAddress"]}
1
+ {"version":3,"sources":["../../src/contract/vault-abi.json","../../src/contract/abi.ts","../../src/contract/evm.ts","../../src/contract/risk-mode.ts","../../src/contract/build-tx.ts","../../src/contract/deposit-wallet.ts","../../src/contract/verify-signature.ts","../../src/contract/verified-build.ts","../../src/contract/error-messages.ts"],"sourcesContent":["{\n \"abi\": [\n {\n \"type\": \"constructor\",\n \"inputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"error\",\n \"name\": \"ActualNotionalExceedsRequested\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"AddTokensRequireDeleverage\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"AddressEmptyCode\",\n \"inputs\": [\n {\n \"name\": \"target\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"AdminPushDepositCtfDeltaMismatch\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"AdminPushDepositCtfMismatch\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"AdminPushDepositNotReserved\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"AdminPushDepositUsdcDeltaMismatch\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"AdminPushDepositUsdcMismatch\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"AdminPushFundedDisabled\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"AlreadyDeployed\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"CancelDelayNotElapsed\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"CancelDelayTooLong\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"CannotRescueOperationalToken\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"CapitalLimitTooLarge\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"CollateralAboveMaximum\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"CollateralBelowMinimum\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"DeleverageCapitalExceedsBorrowed\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"DuplicateAppAdmin\",\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\": \"ERC1967InvalidImplementation\",\n \"inputs\": [\n {\n \"name\": \"implementation\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"ERC1967NonPayable\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"EmergencyOnlyMode\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"EmptySelectorArray\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"EnforcedPause\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ExpectedPause\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"FacetNotFound\",\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\": \"InsufficientFees\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InsufficientVaultReserves\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidAdmin\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidExpectedAmount\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidFeeAdmin\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidInitialization\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidLeverage\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidMarketOutcome\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidNotional\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidPartialCloseAmount\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidPositionState\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidProceeds\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidSignature\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidTargetLeverage\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidTimelock\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidTokenUnits\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidTokensToSell\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"LockedByAdminPushDeposit\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"LockedByPushDeposit\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"MarginAboveMaximum\",\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\": \"NonFullFillInLegacyPath\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"NotInitializing\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"NotPositionOwner\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"OverlappingAdminRoles\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"PartialCloseBelowMinCollateral\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"PartialCloseBelowMinSlice\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"PartialFillBelowMinCollateral\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"PositionAlreadyExists\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"PositionAlreadyFinalized\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"PositionNotFound\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"PushDepositAlreadyLocked\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"PushDepositAmountMismatch\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"PushDepositDeltaMismatch\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"PushDepositNotReserved\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ReentrancyGuardReentrantCall\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"SafeCastOverflowedUintDowncast\",\n \"inputs\": [\n {\n \"name\": \"bits\",\n \"type\": \"uint8\",\n \"internalType\": \"uint8\"\n },\n {\n \"name\": \"value\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\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\": \"SanityCheckFailed\",\n \"inputs\": []\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\": \"StaleRecoveryNonce\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"TimelockAlreadySet\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"TokenCapitalExceeded\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"TokenIdMismatch\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"TotalCapitalExceeded\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"UUPSUnauthorizedCallContext\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"UUPSUnsupportedProxiableUUID\",\n \"inputs\": [\n {\n \"name\": \"slot\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"UnauthorizedTokenSender\",\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\": \"VenueFeeExceedsWorstCase\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"VenueFeeOverspent\",\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 \"type\": \"event\",\n \"name\": \"AdminsUpdated\",\n \"inputs\": [\n {\n \"name\": \"newGlobalAdmin\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newEmergencyAdmin\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newAppAdmin1\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newAppAdmin2\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newAppAdmin3\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\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\": \"CancelDelayUpdated\",\n \"inputs\": [\n {\n \"name\": \"newCancelDelaySeconds\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"CapitalAdded\",\n \"inputs\": [\n {\n \"name\": \"amountUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"newTotalCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"CapitalWithdrawn\",\n \"inputs\": [\n {\n \"name\": \"amountUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"newTotalCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"ClosePositionAborted\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"returnedTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"ClosePositionFinalizedWithReturn\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"capitalRepaidUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collectedLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"userPayoutUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"returnedTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"remainingBorrowedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"remainingNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"newLeverageBps\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\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\": \"ClosePositionInitiated\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"tokenUnitsWithdrawn\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"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\": \"ContractUpgraded\",\n \"inputs\": [\n {\n \"name\": \"oldImplementation\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newImplementation\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\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\": \"EIP712DomainChanged\",\n \"inputs\": [],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"ERC1155Rescued\",\n \"inputs\": [\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"tokenId\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"amountUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"recipient\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\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\": \"ERC20Rescued\",\n \"inputs\": [\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amountUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"recipient\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\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\": \"EmergencyOnlyModeDisabled\",\n \"inputs\": [\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\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\": \"EmergencyOnlyModeEnabled\",\n \"inputs\": [\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\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\": \"FacetRegistered\",\n \"inputs\": [\n {\n \"name\": \"facet\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"selectorCount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"FeeAdminUpdated\",\n \"inputs\": [\n {\n \"name\": \"newFeeAdmin\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newFeeReceiver\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\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\": \"FeesWithdrawn\",\n \"inputs\": [\n {\n \"name\": \"caller\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeReceiver\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amountUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"remainingFeesUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"ForceUnwindAborted\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"returnedTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"ForceUnwindInitiated\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"targetLeverageBps\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"tokensToSellUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"Initialized\",\n \"inputs\": [\n {\n \"name\": \"version\",\n \"type\": \"uint64\",\n \"indexed\": false,\n \"internalType\": \"uint64\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"LimitsUpdated\",\n \"inputs\": [\n {\n \"name\": \"maxUserCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"maxMarketCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"maxTotalCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"maxTokenCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"LiquidatedPositionDebtRecovered\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"recoveredUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"protocolReturnUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collectedLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collectedLiquidationFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"surplusRetainedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"remainingBorrowedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"soldTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"remainingDrainedTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"recoveryNonce\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"LiquidatedPositionFinalizedWithReturn\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokensSoldUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"returnedTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"priceUsdPips\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\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\": \"LiquidatedPositionTokensDrained\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"tokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"drainedTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"LiquidatedPositionTokensReturned\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"tokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"drainedTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"LiquidationInitiated\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"priceUsdPips\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokenUnitsWithdrawn\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"NewPositionsPaused\",\n \"inputs\": [\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\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\": \"NewPositionsUnpaused\",\n \"inputs\": [\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\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\": \"OpenPositionInitiated\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"protocolCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"userTotalBorrowedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"marketTotalBorrowedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"totalProtocolBorrowedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"maxUserCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"maxMarketCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"maxTotalCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"PartialCloseAborted\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"returnedTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"PartialCloseFinalized\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"capitalRepaidUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"deleverageCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collectedLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"userPayoutUsdcUnits\",\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\": \"remainingNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"remainingPositionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"newLeverageBps\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\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\": \"PartialCloseFinalizedWithReturn\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"soldTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"returnedTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"capitalRepaidUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collectedLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"userPayoutUsdcUnits\",\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\": \"remainingNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"remainingPositionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"newLeverageBps\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\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\": \"PartialCloseFinalizedWithUnwind\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"capitalRepaidUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"deleverageCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collectedLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"userPayoutUsdcUnits\",\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\": \"remainingNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"remainingPositionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"newLeverageBps\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\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\": \"PartialCloseInitiated\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"sliceTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"sourceTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"PartialCloseRequested\",\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\": \"requestedTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"PartialCloseUnwindFlagged\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"deleverageCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"addTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingPartialCloseTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"Paused\",\n \"inputs\": [\n {\n \"name\": \"account\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"PositionCancelled\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"refundedCollateralUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"refundedOriginationFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"refundedVenueFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"PositionClosed\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"protocolReturnUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collectedLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"userPayoutUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingRefundIncludedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"badDebtUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokensSoldUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\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\": \"event\",\n \"name\": \"PositionForceUnwound\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newLeverageBps\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"remainingPositionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"remainingNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"protocolReturnUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collectedLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collectedLiquidationFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingLiquidationFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingRefundUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"userPayoutUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"badDebtUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokensSoldUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\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\": \"PositionLiquidated\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"priceUsdPips\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"protocolReturnUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collectedLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collectedLiquidationFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"uncollectedLiquidationFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"userPayoutUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingRefundIncludedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"badDebtUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokensSoldUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\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\": \"PositionMarginLocked\",\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\": \"marginUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"totalLockedMarginUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"PositionMarginReleased\",\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\": \"marginUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"foldedIntoWaterfall\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"totalLockedMarginUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"PositionOpened\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"tokenId\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"notionalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"entryPriceUsdPips\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"unusedUsdcUnits\",\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\": \"originationFeeRefundUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualLeverageBps\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\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\": \"PositionOpenedPartial\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"tokenId\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"entryPriceUsdPips\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"unusedCollateralUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"unusedBorrowedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"originalVenueFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualVenueFeeSpentUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"unusedVenueFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualOriginationFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"originationFeeRefundUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"originalLeverageBps\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"newLeverageBps\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"venueFeeWithinCeiling\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\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\": \"PositionOpenedPartialExtraFee\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"extraVenueFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"absorbedFromRefundUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"residualBorrowedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"newLeverageBps\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\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\": \"PositionReverted\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"reason\",\n \"type\": \"string\",\n \"indexed\": false,\n \"internalType\": \"string\"\n },\n {\n \"name\": \"refundedCollateralUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"refundedOriginationFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"refundedVenueFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"PositionSettled\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"marketOutcome\",\n \"type\": \"uint8\",\n \"indexed\": false,\n \"internalType\": \"uint8\"\n },\n {\n \"name\": \"settledInFavor\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"protocolReturnUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collectedLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"userPayoutUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingRefundIncludedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"badDebtUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokensSoldUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\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\": \"ProtocolInitialized\",\n \"inputs\": [\n {\n \"name\": \"globalAdmin\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"emergencyAdmin\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"appAdmin1\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"appAdmin2\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"appAdmin3\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"usdcToken\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"conditionalTokens\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"capitalPool\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAdmin\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeReceiver\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\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\": \"PushDepositReserved\",\n \"inputs\": [\n {\n \"name\": \"caller\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"snapshotBalanceUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"expectedAmountUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"ServerHalted\",\n \"inputs\": [\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\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\": \"ServerResumed\",\n \"inputs\": [\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\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\": \"SettlePositionFinalizedWithReturn\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokensSoldUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"returnedTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"marketOutcome\",\n \"type\": \"uint8\",\n \"indexed\": false,\n \"internalType\": \"uint8\"\n },\n {\n \"name\": \"settledInFavor\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"sanityCheckPassed\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\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\": \"SettlePositionInitiated\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"marketOutcome\",\n \"type\": \"uint8\",\n \"indexed\": false,\n \"internalType\": \"uint8\"\n },\n {\n \"name\": \"tokenUnitsWithdrawn\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\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\": \"TimelockUpdated\",\n \"inputs\": [\n {\n \"name\": \"oldTimelock\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newTimelock\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\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\": \"Unpaused\",\n \"inputs\": [\n {\n \"name\": \"account\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"Upgraded\",\n \"inputs\": [\n {\n \"name\": \"implementation\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"UserActionsPaused\",\n \"inputs\": [\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\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\": \"UserActionsUnpaused\",\n \"inputs\": [\n {\n \"name\": \"signer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"timestamp\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"fallback\",\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"UPGRADE_INTERFACE_VERSION\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"VERSION\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"abortClose\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"returnedTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"abortClosePushFunded\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"returnedTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"abortPartialClose\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"accumulatedFeesUsdcUnits\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"addCapital\",\n \"inputs\": [\n {\n \"name\": \"amountUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"appAdmin1\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"appAdmin2\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"appAdmin3\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"cancelDelaySeconds\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"cancelPosition\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"capitalPool\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"capitalPoolBalanceUsdcUnits\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"closePosition\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"conditionalTokens\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\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\": \"createPositionPushFunded\",\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\": \"createPositionPushFundedWithMargin\",\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\": \"marginUsdcUnits\",\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\": \"createPositionWithMargin\",\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\": \"marginUsdcUnits\",\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\": \"disableEmergencyOnlyMode\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"drainLiquidatedPositionTokens\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"tokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"eip712Domain\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"fields\",\n \"type\": \"bytes1\",\n \"internalType\": \"bytes1\"\n },\n {\n \"name\": \"name\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n },\n {\n \"name\": \"version\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n },\n {\n \"name\": \"chainId\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"verifyingContract\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"salt\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"extensions\",\n \"type\": \"uint256[]\",\n \"internalType\": \"uint256[]\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"emergencyAdmin\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"emergencyOnlyMode\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"enableEmergencyOnlyMode\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"feeAdmin\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"feeReceiver\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeClose\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeClosePushFunded\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeCloseWithReturn\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"unsoldTokenUnitsReturned\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeForceUnwind\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeForceUnwindPushFunded\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeForceUnwindWithReturn\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"unsoldTokenUnitsReturned\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeForceUnwindWithReturnPushFunded\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"unsoldTokenUnitsReturned\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeLiquidate\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"priceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeLiquidatePushFunded\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"priceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeLiquidateWithReturn\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"priceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"unsoldTokenUnitsReturned\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeLiquidateWithReturnPushFunded\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"priceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"unsoldTokenUnitsReturned\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeOpen\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"tokenId\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"entryPriceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeOpenPartial\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"tokenId\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualVenueFeeSpentUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"entryPriceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeOpenPartialPushFunded\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"tokenId\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualVenueFeeSpentUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"entryPriceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeOpenPartialPushFundedWithExtraFee\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"tokenId\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualVenueFeeSpentUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"extraVenueFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"entryPriceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeOpenPartialWithExtraFee\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"tokenId\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualVenueFeeSpentUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"extraVenueFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"entryPriceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeOpenPushFunded\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"tokenId\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"entryPriceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizePartialClose\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizePartialCloseWithReturn\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"returnedTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizePartialCloseWithUnwind\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"finalizeSettle\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"marketOutcome\",\n \"type\": \"uint8\",\n \"internalType\": \"uint8\"\n },\n {\n \"name\": \"settledInFavor\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\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\": \"finalizeSettlePushFunded\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"marketOutcome\",\n \"type\": \"uint8\",\n \"internalType\": \"uint8\"\n },\n {\n \"name\": \"settledInFavor\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\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\": \"finalizeSettleWithReturn\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"marketOutcome\",\n \"type\": \"uint8\",\n \"internalType\": \"uint8\"\n },\n {\n \"name\": \"settledInFavor\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"returnedTokenUnits\",\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\": \"finalizeSettleWithReturnPushFunded\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"saleReceivedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"marketOutcome\",\n \"type\": \"uint8\",\n \"internalType\": \"uint8\"\n },\n {\n \"name\": \"settledInFavor\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"returnedTokenUnits\",\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\": \"flagUnwindDuringPartialClose\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"deleverageCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"addTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"forceUnwind\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"targetLeverageBps\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"tokenUnitsToSell\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"globalAdmin\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"haltServer\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"initialize\",\n \"inputs\": [\n {\n \"name\": \"globalAdmin_\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"emergencyAdmin_\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"appAdmin1_\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"appAdmin2_\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"appAdmin3_\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"usdcToken_\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"conditionalTokens_\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"capitalPool_\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAdmin_\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeReceiver_\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"timelock_\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"initiatePartialClose\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"liquidateDuringPartialClose\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"priceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"liquidatePosition\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"priceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"marketTotalBorrowedUsdcUnits\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"maxMarketCapitalUsdcUnits\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"maxTokenCapitalUsdcUnits\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"maxTotalCapitalUsdcUnits\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"maxUserCapitalUsdcUnits\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"newPositionsPaused\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"onERC1155BatchReceived\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"uint256[]\",\n \"internalType\": \"uint256[]\"\n },\n {\n \"name\": \"\",\n \"type\": \"uint256[]\",\n \"internalType\": \"uint256[]\"\n },\n {\n \"name\": \"\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes4\",\n \"internalType\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"onERC1155Received\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes4\",\n \"internalType\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"openPosition\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"pauseNewPositions\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"pauseUserActions\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"paused\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"pendingOriginationFeesUsdcUnits\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"pendingVenueFeesUsdcUnits\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"positionStates\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint8\",\n \"internalType\": \"enum Types.PositionState\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"positionVaults\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"owner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"leverageBps\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\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\": \"positionTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collateralUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"collateralBalanceUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"borrowedUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"entryPriceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"notionalUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingLifetimeFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingLiquidationFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingRefundUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingUnwindTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualNotionalUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"actualEntryPriceUsdPips\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"venueFeeUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"createdAt\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"feeAccrualStartAt\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\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\": \"targetUnwindLeverageBps\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"preUnwindState\",\n \"type\": \"uint8\",\n \"internalType\": \"enum Types.PositionState\"\n },\n {\n \"name\": \"drainedTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"recoveryNonce\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"requestedPartialCloseTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"pendingPartialCloseTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"partialCloseSliceTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"partialCloseSourceTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"partialCloseDeleverageCapitalUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"prePartialCloseState\",\n \"type\": \"uint8\",\n \"internalType\": \"enum Types.PositionState\"\n },\n {\n \"name\": \"originalPositionTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"lockedMarginUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"proxiableUUID\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"recoverLiquidatedPositionDebt\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"expectedRecoveryNonce\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"recoveredUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"soldTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"registerFacet\",\n \"inputs\": [\n {\n \"name\": \"selectors\",\n \"type\": \"bytes4[]\",\n \"internalType\": \"bytes4[]\"\n },\n {\n \"name\": \"facet\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"reinitializeV3\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"bytes4[]\",\n \"internalType\": \"bytes4[]\"\n },\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"bytes4[]\",\n \"internalType\": \"bytes4[]\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"reinitializeV4\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"bytes4[]\",\n \"internalType\": \"bytes4[]\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"reinitializeV5\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"bytes4[]\",\n \"internalType\": \"bytes4[]\"\n },\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"bytes4[]\",\n \"internalType\": \"bytes4[]\"\n },\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"bytes4[]\",\n \"internalType\": \"bytes4[]\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"reinitializeV6\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"bytes4[]\",\n \"internalType\": \"bytes4[]\"\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\": \"function\",\n \"name\": \"requestPartialClose\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"closeTokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"rescueERC1155\",\n \"inputs\": [\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"tokenId\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"amountUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"rescueERC20\",\n \"inputs\": [\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amountUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"reserveAdminDeposit\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"reserveDeposit\",\n \"inputs\": [\n {\n \"name\": \"expectedAmountUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"resumeServer\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"returnLiquidatedPositionTokens\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"tokenUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"revertOpen\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"reason\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"revertOpenPushFunded\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"reason\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"serverHalted\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"setTimelock\",\n \"inputs\": [\n {\n \"name\": \"timelock_\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"settleDuringPartialClose\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"marketOutcome\",\n \"type\": \"uint8\",\n \"internalType\": \"uint8\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"settlePosition\",\n \"inputs\": [\n {\n \"name\": \"positionKey\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"marketOutcome\",\n \"type\": \"uint8\",\n \"internalType\": \"uint8\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"supportsInterface\",\n \"inputs\": [\n {\n \"name\": \"interfaceId\",\n \"type\": \"bytes4\",\n \"internalType\": \"bytes4\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"pure\"\n },\n {\n \"type\": \"function\",\n \"name\": \"timelock\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"tokenTotalBorrowedUsdcUnits\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"tokenTotalPositionUnits\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"totalLockedMarginUsdcUnits\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"totalProtocolBorrowedUsdcUnits\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"unpauseNewPositions\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"unpauseUserActions\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"updateAdmins\",\n \"inputs\": [\n {\n \"name\": \"newGlobalAdmin\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newEmergencyAdmin\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newAppAdmin1\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newAppAdmin2\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newAppAdmin3\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"updateCancelDelay\",\n \"inputs\": [\n {\n \"name\": \"cancelDelaySeconds_\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"updateFeeAdmin\",\n \"inputs\": [\n {\n \"name\": \"newFeeAdmin\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newFeeReceiver\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"updateLimits\",\n \"inputs\": [\n {\n \"name\": \"maxUserCapitalUsdcUnits_\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"maxMarketCapitalUsdcUnits_\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"maxTotalCapitalUsdcUnits_\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"maxTokenCapitalUsdcUnits_\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"updateTimelock\",\n \"inputs\": [\n {\n \"name\": \"newTimelock\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"upgradeToAndCall\",\n \"inputs\": [\n {\n \"name\": \"newImplementation\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"data\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"payable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"usdcToken\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"userActionsPaused\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"userTotalBorrowedUsdcUnits\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"withdrawCapital\",\n \"inputs\": [\n {\n \"name\": \"amountUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"withdrawFees\",\n \"inputs\": [\n {\n \"name\": \"amountUsdcUnits\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\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 { Quote } from \"../types\";\n\n/**\n * Whether this quote opens in committed mode — a fixed ladder of price-triggered unwinds,\n * backed by extra margin locked in the vault.\n *\n * Read from `riskMode`, the quote's own statement of the mode it was issued in, so a quote\n * issued before committed mode existed reads as adaptive. Asking for committed mode does not\n * guarantee getting it: when the market, price or leverage rules it out the request is rejected\n * with `quote_committed_risk_mode_unavailable`, and a partner without the beta feature enabled\n * is rejected with `beta_feature_not_enabled`.\n */\nexport function isCommittedQuote(quote: Quote): boolean {\n return quote.riskMode === \"committed\";\n}\n","import type { Abi } from \"viem\";\nimport type { Quote } from \"../types\";\nimport { vaultAbi, erc20Abi } from \"./abi\";\nimport { toHex, toAddress } from \"./evm\";\nimport { isCommittedQuote } from \"./risk-mode\";\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 CreatePositionWithMarginTxData {\n address: `0x${string}`;\n abi: Abi;\n functionName: \"createPositionWithMargin\";\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 bigint,\n `0x${string}`,\n bigint,\n ];\n}\n\n/**\n * What {@link buildCreatePositionTx} returns: the plain call for an adaptive quote, the\n * margin-bearing call for a committed one.\n */\nexport type OpenPositionTxData = CreatePositionTxData | CreatePositionWithMarginTxData;\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 interface RequestPartialCloseTxData {\n address: `0x${string}`;\n abi: Abi;\n functionName: \"requestPartialClose\";\n args: readonly [`0x${string}`, bigint];\n}\n\n/**\n * Build the vault call that opens the position this quote was signed for.\n *\n * The quote names its own mode in `riskMode`: a committed-mode quote\n * is signed over a different EIP-712 type and opens through `createPositionWithMargin`, which\n * pulls `marginUsdcUnits` on top of collateral and fees. Submitting one quote's signature to\n * the other entry point always reverts, so the mode is read off the quote rather than left to\n * the caller.\n *\n * `quote.totalUserAmountUsdcUnits` already includes the margin — approve that amount.\n */\nexport function buildCreatePositionTx(quote: Quote): OpenPositionTxData {\n const address = toAddress(quote.polygonVaultContractAddress);\n\n const commonArgs = [\n toHex(quote.positionSeedHex),\n toHex(quote.polymarketMarketId),\n BigInt(quote.polymarketTokenId),\n BigInt(quote.collateralUsdcUnits),\n quote.leverageBps,\n BigInt(quote.notionalUsdcUnits),\n quote.originationFeeBps,\n quote.lifetimeFeeAprBps,\n quote.liquidationFeeBps,\n BigInt(quote.expectedOpenTradingFeeUsdcUnits),\n ] as const;\n\n if (isCommittedQuote(quote)) {\n return {\n address,\n abi: vaultAbi,\n functionName: \"createPositionWithMargin\",\n args: [\n ...commonArgs,\n BigInt(quote.marginUsdcUnits),\n toHex(quote.contractSignature),\n BigInt(quote.signatureExpiry),\n ],\n };\n }\n\n return {\n address,\n abi: vaultAbi,\n functionName: \"createPosition\",\n args: [...commonArgs, toHex(quote.contractSignature), BigInt(quote.signatureExpiry)],\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\nexport function buildRequestPartialCloseTx(\n vaultAddress: `0x${string}`,\n positionKey: `0x${string}`,\n closeTokenUnits: bigint,\n): RequestPartialCloseTxData {\n return {\n address: vaultAddress,\n abi: vaultAbi,\n functionName: \"requestPartialClose\",\n args: [positionKey, closeTokenUnits],\n };\n}\n","import { encodeFunctionData } from \"viem\";\nimport type { Quote } from \"../types\";\nimport { vaultAbi } from \"./abi\";\nimport { toAddress, toHex, type Address, type Hex } from \"./evm\";\nimport { isCommittedQuote } from \"./risk-mode\";\n\n/**\n * Helpers for opening and closing positions from a Polymarket **deposit wallet** (DW).\n *\n * Deposit wallets cannot use the legacy `approve` + `createPosition` path: the Polymarket\n * relayer blocks `approve` to non-whitelisted spenders. Instead the DW submits an atomic\n * batch through Polymarket's deposit-wallet factory:\n *\n * 1. `vault.reserveDeposit(totalUserAmount)` — snapshot the vault pUSD balance\n * 2. `pUSD.transfer(vault, totalUserAmount)` — push the funds directly\n * 3. `vault.createPositionPushFunded(...)` — verify the balance delta + create\n *\n * Closing follows the same batch mechanics with a single inner call, `requestClose`.\n */\n\n/** Polymarket deposit-wallet factory (the `proxy` entrypoint), Polygon mainnet. */\nexport const depositWalletFactoryAddress: Address = \"0x00000000000Fb5C9ADea0298D729A0CB3823Cc07\";\n\n/** Base URL of Polymarket's v2 relayer. */\nexport const polymarketRelayerBaseUrl = \"https://relayer-v2.polymarket.com\";\n\n/** A single inner call inside a deposit-wallet batch. */\nexport interface DepositWalletCall {\n target: Address;\n value: bigint;\n data: Hex;\n}\n\n/** The EIP-712 `Batch` struct signed by the deposit-wallet owner. */\nexport interface DepositWalletBatch {\n wallet: Address;\n nonce: bigint;\n deadline: bigint;\n calls: DepositWalletCall[];\n}\n\n/** EIP-712 type definitions for the deposit-wallet `Batch` signature. */\nexport const depositWalletBatchTypes = {\n Batch: [\n { name: \"wallet\", type: \"address\" },\n { name: \"nonce\", type: \"uint256\" },\n { name: \"deadline\", type: \"uint256\" },\n { name: \"calls\", type: \"Call[]\" },\n ],\n Call: [\n { name: \"target\", type: \"address\" },\n { name: \"value\", type: \"uint256\" },\n { name: \"data\", type: \"bytes\" },\n ],\n} as const;\n\nconst reserveDepositAbi = [\n {\n type: \"function\",\n name: \"reserveDeposit\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"expectedAmountUsdcUnits\", type: \"uint256\" }],\n outputs: [],\n },\n] as const;\n\nconst createPositionPushFundedAbi = [\n {\n type: \"function\",\n name: \"createPositionPushFunded\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"positionSeed\", type: \"bytes16\" },\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: \"signature\", type: \"bytes\" },\n { name: \"signatureExpiry\", type: \"uint256\" },\n ],\n outputs: [],\n },\n] as const;\n\nconst createPositionPushFundedWithMarginAbi = [\n {\n type: \"function\",\n name: \"createPositionPushFundedWithMargin\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"positionSeed\", type: \"bytes16\" },\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: \"marginUsdcUnits\", type: \"uint256\" },\n { name: \"signature\", type: \"bytes\" },\n { name: \"signatureExpiry\", type: \"uint256\" },\n ],\n outputs: [],\n },\n] as const;\n\nconst erc20TransferAbi = [\n {\n type: \"function\",\n name: \"transfer\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"to\", type: \"address\" },\n { name: \"amount\", type: \"uint256\" },\n ],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n] as const;\n\nfunction buildPushFundedCreateData(quote: Quote): Hex {\n const commonArgs = [\n toHex(quote.positionSeedHex),\n toHex(quote.polymarketMarketId),\n BigInt(quote.polymarketTokenId),\n BigInt(quote.collateralUsdcUnits),\n quote.leverageBps,\n BigInt(quote.notionalUsdcUnits),\n quote.originationFeeBps,\n quote.lifetimeFeeAprBps,\n quote.liquidationFeeBps,\n BigInt(quote.expectedOpenTradingFeeUsdcUnits),\n ] as const;\n\n if (isCommittedQuote(quote)) {\n return encodeFunctionData({\n abi: createPositionPushFundedWithMarginAbi,\n functionName: \"createPositionPushFundedWithMargin\",\n args: [\n ...commonArgs,\n BigInt(quote.marginUsdcUnits),\n toHex(quote.contractSignature),\n BigInt(quote.signatureExpiry),\n ],\n });\n }\n\n return encodeFunctionData({\n abi: createPositionPushFundedAbi,\n functionName: \"createPositionPushFunded\",\n args: [...commonArgs, toHex(quote.contractSignature), BigInt(quote.signatureExpiry)],\n });\n}\n\n/**\n * Build the three inner calls for a push-funded `createPosition`.\n *\n * The relayer submits these atomically; `quote.totalUserAmountUsdcUnits` is the\n * contract-ready amount (collateral + fees + committed-mode margin) used for both the\n * reservation and the transfer. The vault checks the pushed amount for exact equality, so\n * a committed quote whose margin was left out of the transfer reverts the whole batch.\n *\n * A committed quote is opened through `createPositionPushFundedWithMargin`, chosen from the\n * quote itself — see {@link isCommittedQuote}.\n *\n * @param quote - the signed quote returned by the quote endpoint\n * @param pUsdAddress - the pUSD (USDC) token address (from `GET /contract-info`)\n */\nexport function buildPushFundedCreateCalls(quote: Quote, pUsdAddress: string): DepositWalletCall[] {\n const vaultAddress = toAddress(quote.polygonVaultContractAddress);\n const totalUserAmountUsdcUnits = BigInt(quote.totalUserAmountUsdcUnits);\n\n const reserveDepositData = encodeFunctionData({\n abi: reserveDepositAbi,\n functionName: \"reserveDeposit\",\n args: [totalUserAmountUsdcUnits],\n });\n\n const transferData = encodeFunctionData({\n abi: erc20TransferAbi,\n functionName: \"transfer\",\n args: [vaultAddress, totalUserAmountUsdcUnits],\n });\n\n const createPositionData = buildPushFundedCreateData(quote);\n\n return [\n { target: vaultAddress, value: 0n, data: reserveDepositData },\n { target: toAddress(pUsdAddress), value: 0n, data: transferData },\n { target: vaultAddress, value: 0n, data: createPositionData },\n ];\n}\n\n/**\n * Build the single inner call for a deposit-wallet `requestClose`.\n *\n * @param vaultAddress - the vault contract address\n * @param positionKey - the `on_chain_position_key` field from `GET /positions`\n */\nexport function buildRequestCloseCalls(vaultAddress: string, positionKey: string): DepositWalletCall[] {\n const closeData = encodeFunctionData({\n abi: vaultAbi,\n functionName: \"requestClose\",\n args: [toHex(positionKey)],\n });\n\n return [{ target: toAddress(vaultAddress), value: 0n, data: closeData }];\n}\n\n/**\n * Build the single inner call for a deposit-wallet `requestPartialClose`.\n *\n * @param vaultAddress - the vault contract address\n * @param positionKey - the `on_chain_position_key` field from `GET /positions`\n * @param closeTokenUnits - the slice to close, in token units (1000000 units = 1 token)\n */\nexport function buildRequestPartialCloseCalls(\n vaultAddress: string,\n positionKey: string,\n closeTokenUnits: bigint,\n): DepositWalletCall[] {\n const partialCloseData = encodeFunctionData({\n abi: vaultAbi,\n functionName: \"requestPartialClose\",\n args: [toHex(positionKey), closeTokenUnits],\n });\n\n return [{ target: toAddress(vaultAddress), value: 0n, data: partialCloseData }];\n}\n\ninterface BuildBatchParams {\n depositWalletAddress: string;\n /** Current `nonce()` read from the deposit wallet. */\n nonce: bigint;\n /** Unix-seconds deadline after which the relayer may no longer submit the batch. */\n deadline: bigint;\n calls: DepositWalletCall[];\n}\n\n/** Assemble a `DepositWalletBatch` ready for EIP-712 signing. */\nexport function buildDepositWalletBatch(params: BuildBatchParams): DepositWalletBatch {\n return {\n wallet: toAddress(params.depositWalletAddress),\n nonce: params.nonce,\n deadline: params.deadline,\n calls: params.calls,\n };\n}\n\n/** EIP-712 typed-data payload for a deposit-wallet `Batch` signature. */\nexport interface DepositWalletBatchTypedData {\n domain: { name: string; version: string; chainId: number; verifyingContract: Address };\n types: typeof depositWalletBatchTypes;\n primaryType: \"Batch\";\n message: DepositWalletBatch;\n}\n\n/**\n * Produce the EIP-712 typed-data object for a batch, ready to pass to a signer\n * (viem `signTypedData`, ethers `signTypedData`, etc.). The owner of the deposit\n * wallet must sign this.\n */\nexport function getDepositWalletBatchTypedData(batch: DepositWalletBatch): DepositWalletBatchTypedData {\n return {\n domain: {\n name: \"DepositWallet\",\n version: \"1\",\n chainId: 137,\n verifyingContract: batch.wallet,\n },\n types: depositWalletBatchTypes,\n primaryType: \"Batch\",\n message: batch,\n };\n}\n\ninterface RelayerSubmitPayload {\n type: \"WALLET\";\n from: Address;\n to: Address;\n nonce: string;\n signature: Hex;\n depositWalletParams: {\n depositWallet: Address;\n deadline: string;\n calls: { target: Address; value: string; data: Hex }[];\n };\n}\n\ninterface BuildRelayerPayloadParams {\n /** The deposit-wallet owner EOA that produced `signature`. */\n ownerAddress: string;\n batch: DepositWalletBatch;\n /** The EIP-712 signature over `getDepositWalletBatchTypedData(batch)`. */\n signature: Hex;\n}\n\n/**\n * Build the JSON body for `POST {polymarketRelayerBaseUrl}/submit`.\n *\n * Stringify the result and send it with headers from {@link buildRelayerAuthHeaders}.\n */\nexport function buildRelayerSubmitPayload(params: BuildRelayerPayloadParams): RelayerSubmitPayload {\n return {\n type: \"WALLET\",\n from: toAddress(params.ownerAddress),\n to: depositWalletFactoryAddress,\n nonce: params.batch.nonce.toString(),\n signature: params.signature,\n depositWalletParams: {\n depositWallet: params.batch.wallet,\n deadline: params.batch.deadline.toString(),\n calls: params.batch.calls.map((call) => ({\n target: call.target,\n value: call.value.toString(),\n data: call.data,\n })),\n },\n };\n}\n\ninterface BuildRelayerHeadersParams {\n /** Polymarket builder API key. */\n apiKey: string;\n /** Polymarket builder API secret (base64). */\n apiSecret: string;\n /** Polymarket builder API passphrase. */\n apiPassphrase: string;\n /** The exact request body string sent to `/submit` (the value passed to `fetch`). */\n body: string;\n /** Unix-seconds timestamp; defaults to now. Must match the request time. */\n timestamp?: string;\n}\n\nfunction base64ToBytes(value: string): ArrayBuffer {\n const binary = atob(value);\n const buffer = new ArrayBuffer(binary.length);\n const bytes = new Uint8Array(buffer);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return buffer;\n}\n\nfunction bytesToBase64Url(bytes: ArrayBuffer): string {\n let binary = \"\";\n const view = new Uint8Array(bytes);\n for (const byte of view) {\n binary += String.fromCharCode(byte);\n }\n return btoa(binary).replaceAll(\"+\", \"-\").replaceAll(\"/\", \"_\");\n}\n\n/**\n * Compute the HMAC-signed headers for a relayer `/submit` request.\n *\n * The relayer authenticates each call with an HMAC-SHA256 over\n * `timestamp + \"POST\" + \"/submit\" + body`, keyed by the base64-decoded API secret,\n * encoded as base64url. Uses the Web Crypto API (works in Node 20+ and browsers).\n */\nexport async function buildRelayerAuthHeaders(params: BuildRelayerHeadersParams): Promise<Record<string, string>> {\n const msPerSecond = 1000;\n const timestamp = params.timestamp ?? Math.floor(Date.now() / msPerSecond).toString();\n const key = await crypto.subtle.importKey(\n \"raw\",\n base64ToBytes(params.apiSecret),\n { name: \"HMAC\", hash: \"SHA-256\" },\n false,\n [\"sign\"],\n );\n const encoded = new TextEncoder().encode(`${timestamp}POST/submit${params.body}`);\n const message = new Uint8Array(encoded).buffer;\n const signature = await crypto.subtle.sign(\"HMAC\", key, message);\n\n return {\n \"Content-Type\": \"application/json\",\n POLY_BUILDER_API_KEY: params.apiKey,\n POLY_BUILDER_TIMESTAMP: timestamp,\n POLY_BUILDER_PASSPHRASE: params.apiPassphrase,\n POLY_BUILDER_SIGNATURE: bytesToBase64Url(signature),\n };\n}\n","import { recoverTypedDataAddress, getAddress } from \"viem\";\nimport type { DimesClient } from \"../client/dimes-client\";\nimport { DimesContractError } from \"../errors/dimes-error\";\nimport type { ContractInfo, Quote } from \"../types\";\nimport { toHex, toAddress } from \"./evm\";\nimport { isCommittedQuote } from \"./risk-mode\";\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\nconst createPositionWithMarginTypes = {\n CreatePositionWithMargin: [\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: \"marginUsdcUnits\", type: \"uint256\" },\n { name: \"signatureExpiry\", type: \"uint256\" },\n ],\n} as const;\n\ninterface Eip712Domain {\n name: string;\n version: string;\n chainId: number;\n verifyingContract: `0x${string}`;\n}\n\ninterface CreatePositionMessage {\n positionSeed: `0x${string}`;\n user: `0x${string}`;\n marketId: `0x${string}`;\n tokenId: bigint;\n collateralUsdcUnits: bigint;\n leverageBps: number;\n notionalUsdcUnits: bigint;\n originationFeeBps: number;\n lifetimeFeeAprBps: number;\n liquidationFeeBps: number;\n venueFeeUsdcUnits: bigint;\n signatureExpiry: bigint;\n}\n\nfunction buildDomain(quote: Quote): Eip712Domain {\n return {\n name: \"LeveragedPredictionVaultV1\",\n version: \"1\",\n chainId: Number(quote.evmChainId),\n verifyingContract: toAddress(quote.polygonVaultContractAddress),\n };\n}\n\nfunction buildMessage(quote: Quote, userAddress: `0x${string}`): CreatePositionMessage {\n return {\n positionSeed: toHex(quote.positionSeedHex),\n user: userAddress,\n marketId: toHex(quote.polymarketMarketId),\n tokenId: BigInt(quote.polymarketTokenId),\n collateralUsdcUnits: BigInt(quote.collateralUsdcUnits),\n leverageBps: quote.leverageBps,\n notionalUsdcUnits: BigInt(quote.notionalUsdcUnits),\n originationFeeBps: quote.originationFeeBps,\n lifetimeFeeAprBps: quote.lifetimeFeeAprBps,\n liquidationFeeBps: quote.liquidationFeeBps,\n venueFeeUsdcUnits: BigInt(quote.expectedOpenTradingFeeUsdcUnits),\n signatureExpiry: BigInt(quote.signatureExpiry),\n };\n}\n\n/**\n * Recover the address that signed this quote.\n *\n * A committed-mode quote is signed over `CreatePositionWithMargin`, a separate EIP-712 type\n * carrying `marginUsdcUnits`; recovering it against the adaptive type would yield a garbage\n * address, so the type is chosen from the quote itself.\n */\nexport async function recoverCreatePositionSigner(quote: Quote, userAddress: `0x${string}`): Promise<`0x${string}`> {\n if (isCommittedQuote(quote)) {\n return recoverTypedDataAddress({\n domain: buildDomain(quote),\n types: createPositionWithMarginTypes,\n primaryType: \"CreatePositionWithMargin\",\n message: { ...buildMessage(quote, userAddress), marginUsdcUnits: BigInt(quote.marginUsdcUnits) },\n signature: toHex(quote.contractSignature),\n });\n }\n\n return recoverTypedDataAddress({\n domain: buildDomain(quote),\n types: createPositionTypes,\n primaryType: \"CreatePosition\",\n message: buildMessage(quote, userAddress),\n signature: toHex(quote.contractSignature),\n });\n}\n\nexport function resolveExpectedSigner(apiSigner: string | undefined): `0x${string}` | undefined {\n return apiSigner ? getAddress(apiSigner) : undefined;\n}\n\n/**\n * Recover the quote's contract signer and assert it matches `expectedSigner`,\n * throwing `DimesContractError(\"invalid_signer\")` on mismatch.\n *\n * Use this when you already hold the authorized signer address (e.g. from a cached\n * `GET /contract-info` query) and don't want to plumb a {@link DimesClient} through.\n * {@link verifyQuoteSignature} is the client-based convenience that fetches and caches\n * the signer for you, then delegates here.\n */\nexport async function assertQuoteSigner(\n quote: Quote,\n userAddress: `0x${string}`,\n expectedSigner: `0x${string}`,\n): Promise<void> {\n const recoveredSigner = await recoverCreatePositionSigner(quote, userAddress);\n const expected = getAddress(expectedSigner);\n\n if (recoveredSigner !== expected) {\n throw new DimesContractError(\n \"invalid_signer\",\n `Recovered signer ${recoveredSigner} does not match expected authority ${expected}`,\n );\n }\n}\n\nconst contractInfoCache = new WeakMap<DimesClient, ContractInfo>();\n\n/**\n * Fetch `GET /contract-info` once per {@link DimesClient} and cache it. Use this to read\n * any on-chain config (signer, vault, pUSD token address) without re-hitting the API.\n */\nexport async function getCachedContractInfo(client: DimesClient): Promise<ContractInfo> {\n let info = contractInfoCache.get(client);\n if (!info) {\n info = await client.getContractInfo();\n contractInfoCache.set(client, info);\n }\n\n return info;\n}\n\nexport async function verifyQuoteSignature(\n client: DimesClient,\n quote: Quote,\n userAddress: `0x${string}`,\n): Promise<void> {\n const info = await getCachedContractInfo(client);\n\n await assertQuoteSigner(quote, userAddress, getAddress(info.polygonSignerAddress));\n}\n\n/** @deprecated Renamed to {@link verifyQuoteSignature}. Kept as an alias for backward compatibility. */\n// eslint-disable-next-line no-restricted-syntax -- intentional deprecated alias\nexport const verifyOfferSignature = verifyQuoteSignature;\n","import type { DimesClient } from \"../client/dimes-client\";\nimport type { Quote } from \"../types\";\nimport { buildCreatePositionTx, type OpenPositionTxData } from \"./build-tx\";\nimport { buildPushFundedCreateCalls, type DepositWalletCall } from \"./deposit-wallet\";\nimport { getCachedContractInfo, verifyQuoteSignature } from \"./verify-signature\";\n\n/**\n * Verify a quote's signature against the on-chain authority (using the client's\n * cached `/contract-info`) and then build the transaction that opens the position —\n * `createPosition`, or `createPositionWithMargin` for a committed-mode quote.\n *\n * Prefer this over the raw {@link buildCreatePositionTx} so a tampered or stale\n * quote fails fast in the client instead of reverting on-chain. Throws\n * `DimesContractError(\"invalid_signer\")` if the signature does not verify.\n *\n * @param userAddress - the wallet that will submit the tx (the signed `user`,\n * bound to `msg.sender` by the contract).\n */\nexport async function buildVerifiedCreatePositionTx(\n client: DimesClient,\n quote: Quote,\n userAddress: `0x${string}`,\n): Promise<OpenPositionTxData> {\n await verifyQuoteSignature(client, quote, userAddress);\n return buildCreatePositionTx(quote);\n}\n\n/**\n * Verify a quote's signature (see {@link buildVerifiedCreatePositionTx}) and then\n * build the push-funded deposit-wallet calls. Prefer this over the raw\n * {@link buildPushFundedCreateCalls}: it resolves the correct pUSD token address from\n * the client's cached `GET /contract-info`, so the transfer can never target the wrong\n * stablecoin (e.g. USDC.e instead of pUSD).\n *\n * @param userAddress - the deposit wallet that will be `msg.sender` on-chain.\n * @param pUsdAddress - optional override for the pUSD (USDC) token address. Omit it to\n * use the canonical address from `GET /contract-info`; only pass it to force a\n * specific token.\n */\nexport async function buildVerifiedPushFundedCreateCalls(\n client: DimesClient,\n quote: Quote,\n userAddress: `0x${string}`,\n pUsdAddress?: string,\n): Promise<DepositWalletCall[]> {\n await verifyQuoteSignature(client, quote, userAddress);\n\n const resolvedPusdAddress = pUsdAddress ?? (await getCachedContractInfo(client)).polygonUsdcTokenAddress;\n\n return buildPushFundedCreateCalls(quote, resolvedPusdAddress);\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 // Solady SafeTransferLib — thrown by the vault's token transfers and not\n // present in its ABI, so they only decode by selector.\n \"0xf4d678b8\": \"Insufficient USDC balance to cover collateral and fees. Add USDC and try again.\",\n \"0x13be252b\": \"Insufficient USDC allowance. Approve and try again.\",\n \"0x7939f424\": \"USDC transfer failed. Check your balance and allowance.\",\n \"0x90b8ec18\": \"USDC transfer failed. Check your balance.\",\n \"0x3e3f8f73\": \"USDC approval failed.\",\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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U,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,QAAU,CAAC;AAAA,IACb;AAA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ClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;AAAA,QAClB;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,UACR,cAAgB;A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","names":["getAddress","getAddress"]}