Files
lmsr-amm/deployment/1/v1/out/IPartyInfo.sol/IPartyInfo.json
2025-11-19 21:19:40 -04:00

1 line
25 KiB
JSON

{"abi":[{"type":"function","name":"burnAmounts","inputs":[{"name":"pool","type":"address","internalType":"contract IPartyPool"},{"name":"lpTokenAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"withdrawAmounts","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"burnSwapAmounts","inputs":[{"name":"pool","type":"address","internalType":"contract IPartyPool"},{"name":"lpAmount","type":"uint256","internalType":"uint256"},{"name":"outputTokenIndex","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amountOut","type":"uint256","internalType":"uint256"},{"name":"outFee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFee","inputs":[{"name":"pool","type":"address","internalType":"contract IPartyPool"},{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"maxFlashLoan","inputs":[{"name":"pool","type":"address","internalType":"contract IPartyPool"},{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"mintAmounts","inputs":[{"name":"pool","type":"address","internalType":"contract IPartyPool"},{"name":"lpTokenAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"depositAmounts","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"poolPrice","inputs":[{"name":"pool","type":"address","internalType":"contract IPartyPool"},{"name":"quoteTokenIndex","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"int128","internalType":"int128"}],"stateMutability":"view"},{"type":"function","name":"price","inputs":[{"name":"pool","type":"address","internalType":"contract IPartyPool"},{"name":"baseTokenIndex","type":"uint256","internalType":"uint256"},{"name":"quoteTokenIndex","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"int128","internalType":"int128"}],"stateMutability":"view"},{"type":"function","name":"swapMintAmounts","inputs":[{"name":"pool","type":"address","internalType":"contract IPartyPool"},{"name":"inputTokenIndex","type":"uint256","internalType":"uint256"},{"name":"maxAmountIn","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amountInUsed","type":"uint256","internalType":"uint256"},{"name":"lpMinted","type":"uint256","internalType":"uint256"},{"name":"inFee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"swapToLimitAmounts","inputs":[{"name":"pool","type":"address","internalType":"contract IPartyPool"},{"name":"inputTokenIndex","type":"uint256","internalType":"uint256"},{"name":"outputTokenIndex","type":"uint256","internalType":"uint256"},{"name":"limitPrice","type":"int128","internalType":"int128"}],"outputs":[{"name":"amountIn","type":"uint256","internalType":"uint256"},{"name":"amountOut","type":"uint256","internalType":"uint256"},{"name":"inFee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"working","inputs":[{"name":"pool","type":"address","internalType":"contract IPartyPool"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"burnAmounts(address,uint256)":"44e48a9c","burnSwapAmounts(address,uint256,uint256)":"97c64812","flashFee(address,address,uint256)":"ad844893","maxFlashLoan(address,address)":"0ab75fef","mintAmounts(address,uint256)":"bfb5cdc5","poolPrice(address,uint256)":"b9c0d204","price(address,uint256,uint256)":"3a06daa2","swapMintAmounts(address,uint256,uint256)":"0db4cdda","swapToLimitAmounts(address,uint256,uint256,int128)":"c63a9743","working(address)":"c757221b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IPartyPool\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lpTokenAmount\",\"type\":\"uint256\"}],\"name\":\"burnAmounts\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"withdrawAmounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IPartyPool\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lpAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"outputTokenIndex\",\"type\":\"uint256\"}],\"name\":\"burnSwapAmounts\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"outFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IPartyPool\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"flashFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IPartyPool\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"maxFlashLoan\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IPartyPool\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lpTokenAmount\",\"type\":\"uint256\"}],\"name\":\"mintAmounts\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"depositAmounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IPartyPool\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"quoteTokenIndex\",\"type\":\"uint256\"}],\"name\":\"poolPrice\",\"outputs\":[{\"internalType\":\"int128\",\"name\":\"\",\"type\":\"int128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IPartyPool\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"baseTokenIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quoteTokenIndex\",\"type\":\"uint256\"}],\"name\":\"price\",\"outputs\":[{\"internalType\":\"int128\",\"name\":\"\",\"type\":\"int128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IPartyPool\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"inputTokenIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxAmountIn\",\"type\":\"uint256\"}],\"name\":\"swapMintAmounts\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountInUsed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lpMinted\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"inFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IPartyPool\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"inputTokenIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"outputTokenIndex\",\"type\":\"uint256\"},{\"internalType\":\"int128\",\"name\":\"limitPrice\",\"type\":\"int128\"}],\"name\":\"swapToLimitAmounts\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"inFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IPartyPool\",\"name\":\"pool\",\"type\":\"address\"}],\"name\":\"working\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"burnSwapAmounts(address,uint256,uint256)\":{\"details\":\"This is a pure view function that computes burn swap amounts from provided state\",\"params\":{\"lpAmount\":\"amount of LP _tokens to burn\",\"outputTokenIndex\":\"index of target asset to receive\"}},\"flashFee(address,address,uint256)\":{\"details\":\"The fee to be charged for a given loan.\",\"params\":{\"amount\":\"The amount of _tokens lent.\"},\"returns\":{\"fee\":\"The amount of `token` to be charged for the loan, on top of the returned principal.\"}},\"maxFlashLoan(address,address)\":{\"details\":\"The amount of currency available to be lent.\",\"params\":{\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` that can be borrowed.\"}},\"mintAmounts(address,uint256)\":{\"details\":\"Returns the minimum token amounts (rounded up) that must be supplied to receive lpTokenAmount LP _tokens at current pool proportions. If the pool is empty (initial deposit) returns zeros because the initial deposit is handled by transferring _tokens then calling mint().\",\"params\":{\"lpTokenAmount\":\"The amount of LP _tokens desired\"},\"returns\":{\"depositAmounts\":\"Array of token amounts to deposit (rounded up)\"}},\"poolPrice(address,uint256)\":{\"details\":\"Computes LMSR poolPrice (quote per unit internal qTotal) and scales it to LP units: returns price_per_LP = poolPrice_quote * (totalSupply() / qTotal) in ABDK 64.64 format. The returned value is raw Q64.64 and represents quote units per one LP token unit.\",\"params\":{\"quoteTokenIndex\":\"index of the quote asset in which to denominate the LP price\"},\"returns\":{\"_0\":\"price Q64.64 value equal to quote per LP token unit\"}},\"price(address,uint256,uint256)\":{\"details\":\"Returns the LMSR marginal price p_quote / p_base in ABDK 64.64 fixed-point format. Useful for off-chain quoting; raw 64.64 value is returned (no scaling to token units).\",\"params\":{\"baseTokenIndex\":\"index of the base asset (e.g., ETH)\",\"quoteTokenIndex\":\"index of the quote asset (e.g., USD)\"},\"returns\":{\"_0\":\"price Q64.64 value equal to quote per base (p_quote / p_base)\"}},\"swapMintAmounts(address,uint256,uint256)\":{\"details\":\"This is a pure view function that computes swap mint amounts from provided state\",\"params\":{\"inputTokenIndex\":\"index of the input token\",\"maxAmountIn\":\"maximum amount of token to deposit (inclusive of fee)\"}},\"swapToLimitAmounts(address,uint256,uint256,int128)\":{\"params\":{\"inputTokenIndex\":\"index of input token\",\"limitPrice\":\"target marginal price to reach (must be > 0)\",\"outputTokenIndex\":\"index of output token\"},\"returns\":{\"amountIn\":\"gross input amount to transfer (includes fee), amountOut output amount user would receive, inFee fee taken from input amount\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"burnSwapAmounts(address,uint256,uint256)\":{\"notice\":\"Calculate the amounts for a burn swap operation\"},\"mintAmounts(address,uint256)\":{\"notice\":\"Calculate the proportional deposit amounts required for a given LP token amount\"},\"poolPrice(address,uint256)\":{\"notice\":\"Price of one LP token denominated in `quote` as Q64.64.\"},\"price(address,uint256,uint256)\":{\"notice\":\"Marginal price of `base` denominated in `quote` as Q64.64.\"},\"swapMintAmounts(address,uint256,uint256)\":{\"notice\":\"Calculate the amounts for a swap mint operation\"},\"swapToLimitAmounts(address,uint256,uint256,int128)\":{\"notice\":\"External view to quote swap-to-limit amounts (gross input incl. fee and output), matching swapToLimit() computations\"},\"working(address)\":{\"notice\":\"returns true iff the pool is not killed and has been initialized with liquidity.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/IPartyInfo.sol\":\"IPartyInfo\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100000000},\"remappings\":[\":@abdk/=lib/abdk-libraries-solidity/\",\":@openzeppelin/=lib/openzeppelin-contracts/\",\":abdk-libraries-solidity/=lib/abdk-libraries-solidity/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/abdk-libraries-solidity/ABDKMath64x64.sol\":{\"keccak256\":\"0x1364fdc24192b982f647c7fc68dcb2f6fc1b5e201843e773144bd23a76cb3b97\",\"license\":\"BSD-4-Clause\",\"urls\":[\"bzz-raw://490712cc07db32f274899b17aade9c975f06010848c21500b8a5ead6898e09c7\",\"dweb:/ipfs/QmZMPKjDgwCFSGdLWJW6g5E7hDLByA9hNjXzAwJ4GKTZvN\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x4e4b982b56b50290dd1dcaa2fef1178b1574dfc7c0f0a8ef9cb68a207d72582e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb7adc69bcb4d8ef0b001869b24e831edd411b6c5405e03c5e95ca109a7b7bcd\",\"dweb:/ipfs/QmWeXYWVPUuwVWPjLXn44PrEnv7bJg3JiVkFm7riDkgTVk\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"src/IOwnable.sol\":{\"keccak256\":\"0x7462267790c0d2312be1cbce077e5565aa86dac0789718c87ad0948174ecb990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7eca10ffa6a7985d11eb476a351b1c09701056b0bdf8146612173bb19764e3f1\",\"dweb:/ipfs/QmTPF85yFSL3jDt2atZDLT4RV3zs8ch8P3G7YzCUiU8gR9\"]},\"src/IPartyInfo.sol\":{\"keccak256\":\"0x80e88e8c29cdf12426f16b4bf2a088397fcc31c2664564f7f26117dc85009af7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b91392cbda8adfccf9bea2e584616c4b3359d7381a18f5f3e5c9c71618786051\",\"dweb:/ipfs/QmWtWb1gVs2pzFkjwDj4mcdoCnQLPbwq4Qxbh38VEdWwAW\"]},\"src/IPartyPool.sol\":{\"keccak256\":\"0xb62f64f2ac1b8bbf442b867fbd3302619c806cf7a20e8e845729e67df583dbf6\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://74e8c04c9ded7a25bf3c689d997976f3e64dab3cfeb29ae2d1da2a2be9bb8eda\",\"dweb:/ipfs/Qmeb2wVVvgfMhQ4qoFJXqRNmqYsxGLeJbpXCrVoW27fZFE\"]},\"src/LMSRStabilized.sol\":{\"keccak256\":\"0x1af03cca27fbfb2fdb47b4d31a497060e870041a4f9bb5cf3096f9394ff27dec\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://f5f2aae244d08f6599bd265642626050ca0c4b9576a31f4e8f09d7901f18bf8e\",\"dweb:/ipfs/QmPTMCQJStRkGeDtS3RswLP5pPpVEd7DBWY1eQZKGCxr15\"]},\"src/NativeWrapper.sol\":{\"keccak256\":\"0xca6c8828bbc6e45737dd881d9bcc4077bc058ddcc118189ed49b4ee331ab5579\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://ddb1604ad481e4c58d0f216c8b262515cb735c03fd93a5b36c4e69c81df5a238\",\"dweb:/ipfs/QmPhSjWsZksacUW8hR7tXNVRScoMSv6TQArbJBHcXJiRVB\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IPartyPool","name":"pool","type":"address"},{"internalType":"uint256","name":"lpTokenAmount","type":"uint256"}],"stateMutability":"view","type":"function","name":"burnAmounts","outputs":[{"internalType":"uint256[]","name":"withdrawAmounts","type":"uint256[]"}]},{"inputs":[{"internalType":"contract IPartyPool","name":"pool","type":"address"},{"internalType":"uint256","name":"lpAmount","type":"uint256"},{"internalType":"uint256","name":"outputTokenIndex","type":"uint256"}],"stateMutability":"view","type":"function","name":"burnSwapAmounts","outputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"uint256","name":"outFee","type":"uint256"}]},{"inputs":[{"internalType":"contract IPartyPool","name":"pool","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"flashFee","outputs":[{"internalType":"uint256","name":"fee","type":"uint256"}]},{"inputs":[{"internalType":"contract IPartyPool","name":"pool","type":"address"},{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function","name":"maxFlashLoan","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"contract IPartyPool","name":"pool","type":"address"},{"internalType":"uint256","name":"lpTokenAmount","type":"uint256"}],"stateMutability":"view","type":"function","name":"mintAmounts","outputs":[{"internalType":"uint256[]","name":"depositAmounts","type":"uint256[]"}]},{"inputs":[{"internalType":"contract IPartyPool","name":"pool","type":"address"},{"internalType":"uint256","name":"quoteTokenIndex","type":"uint256"}],"stateMutability":"view","type":"function","name":"poolPrice","outputs":[{"internalType":"int128","name":"","type":"int128"}]},{"inputs":[{"internalType":"contract IPartyPool","name":"pool","type":"address"},{"internalType":"uint256","name":"baseTokenIndex","type":"uint256"},{"internalType":"uint256","name":"quoteTokenIndex","type":"uint256"}],"stateMutability":"view","type":"function","name":"price","outputs":[{"internalType":"int128","name":"","type":"int128"}]},{"inputs":[{"internalType":"contract IPartyPool","name":"pool","type":"address"},{"internalType":"uint256","name":"inputTokenIndex","type":"uint256"},{"internalType":"uint256","name":"maxAmountIn","type":"uint256"}],"stateMutability":"view","type":"function","name":"swapMintAmounts","outputs":[{"internalType":"uint256","name":"amountInUsed","type":"uint256"},{"internalType":"uint256","name":"lpMinted","type":"uint256"},{"internalType":"uint256","name":"inFee","type":"uint256"}]},{"inputs":[{"internalType":"contract IPartyPool","name":"pool","type":"address"},{"internalType":"uint256","name":"inputTokenIndex","type":"uint256"},{"internalType":"uint256","name":"outputTokenIndex","type":"uint256"},{"internalType":"int128","name":"limitPrice","type":"int128"}],"stateMutability":"view","type":"function","name":"swapToLimitAmounts","outputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"uint256","name":"inFee","type":"uint256"}]},{"inputs":[{"internalType":"contract IPartyPool","name":"pool","type":"address"}],"stateMutability":"view","type":"function","name":"working","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"burnSwapAmounts(address,uint256,uint256)":{"details":"This is a pure view function that computes burn swap amounts from provided state","params":{"lpAmount":"amount of LP _tokens to burn","outputTokenIndex":"index of target asset to receive"}},"flashFee(address,address,uint256)":{"details":"The fee to be charged for a given loan.","params":{"amount":"The amount of _tokens lent."},"returns":{"fee":"The amount of `token` to be charged for the loan, on top of the returned principal."}},"maxFlashLoan(address,address)":{"details":"The amount of currency available to be lent.","params":{"token":"The loan currency."},"returns":{"_0":"The amount of `token` that can be borrowed."}},"mintAmounts(address,uint256)":{"details":"Returns the minimum token amounts (rounded up) that must be supplied to receive lpTokenAmount LP _tokens at current pool proportions. If the pool is empty (initial deposit) returns zeros because the initial deposit is handled by transferring _tokens then calling mint().","params":{"lpTokenAmount":"The amount of LP _tokens desired"},"returns":{"depositAmounts":"Array of token amounts to deposit (rounded up)"}},"poolPrice(address,uint256)":{"details":"Computes LMSR poolPrice (quote per unit internal qTotal) and scales it to LP units: returns price_per_LP = poolPrice_quote * (totalSupply() / qTotal) in ABDK 64.64 format. The returned value is raw Q64.64 and represents quote units per one LP token unit.","params":{"quoteTokenIndex":"index of the quote asset in which to denominate the LP price"},"returns":{"_0":"price Q64.64 value equal to quote per LP token unit"}},"price(address,uint256,uint256)":{"details":"Returns the LMSR marginal price p_quote / p_base in ABDK 64.64 fixed-point format. Useful for off-chain quoting; raw 64.64 value is returned (no scaling to token units).","params":{"baseTokenIndex":"index of the base asset (e.g., ETH)","quoteTokenIndex":"index of the quote asset (e.g., USD)"},"returns":{"_0":"price Q64.64 value equal to quote per base (p_quote / p_base)"}},"swapMintAmounts(address,uint256,uint256)":{"details":"This is a pure view function that computes swap mint amounts from provided state","params":{"inputTokenIndex":"index of the input token","maxAmountIn":"maximum amount of token to deposit (inclusive of fee)"}},"swapToLimitAmounts(address,uint256,uint256,int128)":{"params":{"inputTokenIndex":"index of input token","limitPrice":"target marginal price to reach (must be > 0)","outputTokenIndex":"index of output token"},"returns":{"amountIn":"gross input amount to transfer (includes fee), amountOut output amount user would receive, inFee fee taken from input amount"}}},"version":1},"userdoc":{"kind":"user","methods":{"burnSwapAmounts(address,uint256,uint256)":{"notice":"Calculate the amounts for a burn swap operation"},"mintAmounts(address,uint256)":{"notice":"Calculate the proportional deposit amounts required for a given LP token amount"},"poolPrice(address,uint256)":{"notice":"Price of one LP token denominated in `quote` as Q64.64."},"price(address,uint256,uint256)":{"notice":"Marginal price of `base` denominated in `quote` as Q64.64."},"swapMintAmounts(address,uint256,uint256)":{"notice":"Calculate the amounts for a swap mint operation"},"swapToLimitAmounts(address,uint256,uint256,int128)":{"notice":"External view to quote swap-to-limit amounts (gross input incl. fee and output), matching swapToLimit() computations"},"working(address)":{"notice":"returns true iff the pool is not killed and has been initialized with liquidity."}},"version":1}},"settings":{"remappings":["@abdk/=lib/abdk-libraries-solidity/","@openzeppelin/=lib/openzeppelin-contracts/","abdk-libraries-solidity/=lib/abdk-libraries-solidity/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":100000000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/IPartyInfo.sol":"IPartyInfo"},"evmVersion":"prague","libraries":{},"viaIR":true},"sources":{"lib/abdk-libraries-solidity/ABDKMath64x64.sol":{"keccak256":"0x1364fdc24192b982f647c7fc68dcb2f6fc1b5e201843e773144bd23a76cb3b97","urls":["bzz-raw://490712cc07db32f274899b17aade9c975f06010848c21500b8a5ead6898e09c7","dweb:/ipfs/QmZMPKjDgwCFSGdLWJW6g5E7hDLByA9hNjXzAwJ4GKTZvN"],"license":"BSD-4-Clause"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol":{"keccak256":"0x4e4b982b56b50290dd1dcaa2fef1178b1574dfc7c0f0a8ef9cb68a207d72582e","urls":["bzz-raw://eb7adc69bcb4d8ef0b001869b24e831edd411b6c5405e03c5e95ca109a7b7bcd","dweb:/ipfs/QmWeXYWVPUuwVWPjLXn44PrEnv7bJg3JiVkFm7riDkgTVk"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2","urls":["bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303","dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f","urls":["bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e","dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR"],"license":"MIT"},"src/IOwnable.sol":{"keccak256":"0x7462267790c0d2312be1cbce077e5565aa86dac0789718c87ad0948174ecb990","urls":["bzz-raw://7eca10ffa6a7985d11eb476a351b1c09701056b0bdf8146612173bb19764e3f1","dweb:/ipfs/QmTPF85yFSL3jDt2atZDLT4RV3zs8ch8P3G7YzCUiU8gR9"],"license":"MIT"},"src/IPartyInfo.sol":{"keccak256":"0x80e88e8c29cdf12426f16b4bf2a088397fcc31c2664564f7f26117dc85009af7","urls":["bzz-raw://b91392cbda8adfccf9bea2e584616c4b3359d7381a18f5f3e5c9c71618786051","dweb:/ipfs/QmWtWb1gVs2pzFkjwDj4mcdoCnQLPbwq4Qxbh38VEdWwAW"],"license":"UNLICENSED"},"src/IPartyPool.sol":{"keccak256":"0xb62f64f2ac1b8bbf442b867fbd3302619c806cf7a20e8e845729e67df583dbf6","urls":["bzz-raw://74e8c04c9ded7a25bf3c689d997976f3e64dab3cfeb29ae2d1da2a2be9bb8eda","dweb:/ipfs/Qmeb2wVVvgfMhQ4qoFJXqRNmqYsxGLeJbpXCrVoW27fZFE"],"license":"UNLICENSED"},"src/LMSRStabilized.sol":{"keccak256":"0x1af03cca27fbfb2fdb47b4d31a497060e870041a4f9bb5cf3096f9394ff27dec","urls":["bzz-raw://f5f2aae244d08f6599bd265642626050ca0c4b9576a31f4e8f09d7901f18bf8e","dweb:/ipfs/QmPTMCQJStRkGeDtS3RswLP5pPpVEd7DBWY1eQZKGCxr15"],"license":"UNLICENSED"},"src/NativeWrapper.sol":{"keccak256":"0xca6c8828bbc6e45737dd881d9bcc4077bc058ddcc118189ed49b4ee331ab5579","urls":["bzz-raw://ddb1604ad481e4c58d0f216c8b262515cb735c03fd93a5b36c4e69c81df5a238","dweb:/ipfs/QmPhSjWsZksacUW8hR7tXNVRScoMSv6TQArbJBHcXJiRVB"],"license":"UNLICENSED"}},"version":1},"id":37}