Files
lmsr-amm/deployment/11155111/v1/out/LMSRStabilized.sol/LMSRStabilized.json
2025-10-16 16:17:11 -04:00

1 line
16 KiB
JSON

{"abi":[{"type":"function","name":"computeKappaFromSlippage","inputs":[{"name":"nAssets","type":"uint256","internalType":"uint256"},{"name":"tradeFrac","type":"int128","internalType":"int128"},{"name":"targetSlippage","type":"int128","internalType":"int128"}],"outputs":[{"name":"","type":"int128","internalType":"int128"}],"stateMutability":"pure"}],"bytecode":{"object":"0x608080604052346019576107d0908161001e823930815050f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c63a6f1e61514610025575f80fd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610367576004356024359182600f0b808403610367576044359182600f0b8093036103675760018411156106c557505f81131561066757680100000000000000001315610609578068010000000000000000017fffffffffffffffffffffffffffffffff80000000000000000000000000000000811215806105ef575b1561036757600f0b906100da83610721565b927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019081116105c25761010e90610721565b600f0b0260401d7fffffffffffffffffffffffffffffffff80000000000000000000000000000000811215806105a8575b1561036757600f0b68010000000000000000037fffffffffffffffffffffffffffffffff800000000000000000000000000000008112158061058e575b1561036757600f90810b92900b811261051f575f8213156104c1576101a091610739565b600f0b5f811380806104af575b156104515715610367575f908068010000000000000000821215610444575b806401000000006002921215610438575b6201000081121561042c575b610100811215610420575b6010811215610414575b6004811215610409575b12156103ff575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0820160401b91607f031b90678000000000000000915b5f83136103e357836fb17217f7d1cf79abc9e3b39803f2f6af83600f0b0260801d907fffffffffffffffffffffffffffffffff8000000000000000000000000000000082600f0b14610367576102a0915f03600f0b610739565b600f0b5f81131561038557801561036757700100000000000000000000000000000000057fffffffffffffffffffffffffffffffff800000000000000000000000000000008112158061036b575b1561036757600f0b5f81131561030957602090604051908152f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4c4d53523a206b617070613c3d300000000000000000000000000000000000006044820152fd5b5f80fd5b506f7fffffffffffffffffffffffffffffff8113156102ee565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4c4d53523a20793c3d30000000000000000000000000000000000000000000006044820152fd5b8002908160ff1c9182607f011c918302019160011d9190610246565b906001019061020f565b92810192811d610208565b6004938401931d6101fe565b6008938401931d6101f4565b6010938401931d6101e9565b6020938401931d6101dd565b506040915080821d6101cc565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4c4d53523a20626164204520726174696f0000000000000000000000000000006044820152fd5b506801000000000000000082126101ad565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4c4d53523a207320746f6f206c6172676520666f72206e0000000000000000006044820152fd5b5f821315610530576101a091610739565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4c4d53523a2062616420736c697070616765206f72206e0000000000000000006044820152fd5b506f7fffffffffffffffffffffffffffffff81131561017c565b506f7fffffffffffffffffffffffffffffff81131561013f565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b506f7fffffffffffffffffffffffffffffff8113156100c8565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4c4d53523a20663e3d31000000000000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4c4d53523a20663d3000000000000000000000000000000000000000000000006044820152fd5b807f08c379a0000000000000000000000000000000000000000000000000000000006064925260206004820152601260248201527f4c4d53523a206e3e3120726571756972656400000000000000000000000000006044820152fd5b677fffffffffffffff81116103675760401b600f0b90565b90600f0b9081156103675760401b60170b057fffffffffffffffffffffffffffffffff8000000000000000000000000000000081121580610780575b1561036757600f0b90565b506f7fffffffffffffffffffffffffffffff81131561077556fea2646970667358221220b14c2ce603036d4073147304aeb741c300ea2d69e652cecf1bcedf54d46a20cf64736f6c634300081e0033","sourceMap":"552:44114:41:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f3560e01c63a6f1e61514610025575f80fd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610367576004356024359182600f0b808403610367576044359182600f0b8093036103675760018411156106c557505f81131561066757680100000000000000001315610609578068010000000000000000017fffffffffffffffffffffffffffffffff80000000000000000000000000000000811215806105ef575b1561036757600f0b906100da83610721565b927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019081116105c25761010e90610721565b600f0b0260401d7fffffffffffffffffffffffffffffffff80000000000000000000000000000000811215806105a8575b1561036757600f0b68010000000000000000037fffffffffffffffffffffffffffffffff800000000000000000000000000000008112158061058e575b1561036757600f90810b92900b811261051f575f8213156104c1576101a091610739565b600f0b5f811380806104af575b156104515715610367575f908068010000000000000000821215610444575b806401000000006002921215610438575b6201000081121561042c575b610100811215610420575b6010811215610414575b6004811215610409575b12156103ff575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0820160401b91607f031b90678000000000000000915b5f83136103e357836fb17217f7d1cf79abc9e3b39803f2f6af83600f0b0260801d907fffffffffffffffffffffffffffffffff8000000000000000000000000000000082600f0b14610367576102a0915f03600f0b610739565b600f0b5f81131561038557801561036757700100000000000000000000000000000000057fffffffffffffffffffffffffffffffff800000000000000000000000000000008112158061036b575b1561036757600f0b5f81131561030957602090604051908152f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4c4d53523a206b617070613c3d300000000000000000000000000000000000006044820152fd5b5f80fd5b506f7fffffffffffffffffffffffffffffff8113156102ee565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4c4d53523a20793c3d30000000000000000000000000000000000000000000006044820152fd5b8002908160ff1c9182607f011c918302019160011d9190610246565b906001019061020f565b92810192811d610208565b6004938401931d6101fe565b6008938401931d6101f4565b6010938401931d6101e9565b6020938401931d6101dd565b506040915080821d6101cc565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4c4d53523a20626164204520726174696f0000000000000000000000000000006044820152fd5b506801000000000000000082126101ad565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4c4d53523a207320746f6f206c6172676520666f72206e0000000000000000006044820152fd5b5f821315610530576101a091610739565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4c4d53523a2062616420736c697070616765206f72206e0000000000000000006044820152fd5b506f7fffffffffffffffffffffffffffffff81131561017c565b506f7fffffffffffffffffffffffffffffff81131561013f565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b506f7fffffffffffffffffffffffffffffff8113156100c8565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4c4d53523a20663e3d31000000000000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4c4d53523a20663d3000000000000000000000000000000000000000000000006044820152fd5b807f08c379a0000000000000000000000000000000000000000000000000000000006064925260206004820152601260248201527f4c4d53523a206e3e3120726571756972656400000000000000000000000000006044820152fd5b677fffffffffffffff81116103675760401b600f0b90565b90600f0b9081156103675760401b60170b057fffffffffffffffffffffffffffffffff8000000000000000000000000000000081121580610780575b1561036757600f0b90565b506f7fffffffffffffffffffffffffffffff81131561077556fea2646970667358221220b14c2ce603036d4073147304aeb741c300ea2d69e652cecf1bcedf54d46a20cf64736f6c634300081e0033","sourceMap":"552:44114:41:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38470:11;;552:44114;;;38583:13;552:44114;38583:13;;552:44114;;;43656:19;-1:-1:-1;43656:19:41;;;552:44114;43656:19;552:44114;805:35:0;3652:19;;;:42;;;552:44114:41;958:34:0;;;552:44114:41;;38726:31;;;;:::i;:::-;43656:19;;;;;;;;;38787:35;;;:::i;:::-;552:44114;;;;;805:35:0;4536:19;;;:42;;;552:44114:41;958:34:0;;;552:44114:41;;43656:19;552:44114;805:35:0;4084:19;;;:42;;;552:44114:41;958:34:0;;;552:44114:41;;;;;;;38918:15;;;;552:44114;39283:21;;43656:19;;;39562:26;39195:336;39562:26;:::i;:::-;552:44114;;;39606:23;;;;:44;;39195:336;43656:19;;;958:34:0;;;552:44114:41;14261:13:0;;43656:19:41;14286:25:0;;;14282:56;;39195:336:41;14349:17:0;14355:11;14599:3;14349:17;;;14345:48;;39195:336:41;14410:7:0;14404:13;;;14400:44;;39195:336:41;14461:5:0;14455:11;;;14451:40;;39195:336:41;14508:4:0;14502:10;;;14498:39;;39195:336:41;552:44114;14548:9:0;;;14544:38;;39195:336:41;14593:9:0;;14589:23;;39195:336:41;552:44114;;;;;;14737:3:0;552:44114:41;;14760:31:0;14773:18;14755:176;14793:7;552:44114:41;14793:7:0;;;;552:44114:41;15317:34:0;552:44114:41;;;;15355:3:0;552:44114:41;;805:35:0;552:44114:41;;;9170:14:0;958:34;;39759:16:41;552:44114;;;;;39759:16;:::i;:::-;552:44114;;;39793:13;;43656:19;;;7136:6:0;;958:34;;552:44114:41;;805:35:0;7206:19;;;:42;;;14755:176;958:34;;;552:44114:41;;;39944:17;;43656:19;;;552:44114;;;;;;;;43656:19;;552:44114;;43656:19;;;552:44114;;43656:19;;;;552:44114;43656:19;;552:44114;43656:19;552:44114;;;43656:19;;958:34:0;552:44114:41;958:34:0;;7206:42;7229:19;958:34;7229:19;;;7206:42;;43656:19:41;;552:44114;;43656:19;;;552:44114;;43656:19;;;;552:44114;43656:19;;552:44114;43656:19;552:44114;;;43656:19;;14802:9:0;552:44114:41;;;;;;;;14737:3:0;552:44114:41;;;;;;14802:9:0;552:44114:41;;14760:31:0;;;;14589:23;552:44114:41;;;14589:23:0;;;14544:38;552:44114:41;;;;;;14544:38:0;;14498:39;552:44114:41;;;;;;14498:39:0;;14451:40;14477:1;552:44114:41;;;;;14451:40:0;;14400:44;14428:2;552:44114:41;;;;;14400:44:0;;14345:48;552:44114:41;;;;;;14345:48:0;;14282:56;-1:-1:-1;552:44114:41;;-1:-1:-1;552:44114:41;;;14282:56:0;;43656:19:41;;552:44114;;43656:19;;;552:44114;;43656:19;;;;552:44114;43656:19;;552:44114;43656:19;552:44114;;;43656:19;;39606:44;39633:17;43656:19;39633:17;;39606:44;;43656:19;;552:44114;;43656:19;;;552:44114;;43656:19;;;;552:44114;43656:19;;552:44114;43656:19;552:44114;;;43656:19;;39195:336;552:44114;39471:21;;43656:19;;;39562:26;39195:336;39562:26;:::i;43656:19::-;;552:44114;;43656:19;;;552:44114;;43656:19;;;;552:44114;43656:19;;552:44114;43656:19;552:44114;;;43656:19;;4084:42:0;4107:19;958:34;4107:19;;;4084:42;;4536;4559:19;958:34;4559:19;;;4536:42;;43656:19:41;;552:44114;43656:19;;552:44114;43656:19;552:44114;;43656:19;3652:42:0;3675:19;958:34;3675:19;;;3652:42;;43656:19:41;;552:44114;;43656:19;;;552:44114;;43656:19;;;;552:44114;43656:19;;552:44114;43656:19;552:44114;;;43656:19;;552:44114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1958:169:0;2057:18;2052:23;;958:34;;2112:2;552:44114:41;;;1958:169:0;:::o;7038:252::-;;552:44114:41;;7136:6:0;;;958:34;;7182:2;552:44114:41;;;;805:35:0;7206:19;;;:42;;;7038:252;958:34;;;552:44114:41;;7038:252:0;:::o;7206:42::-;7229:19;958:34;7229:19;;;7206:42;","linkReferences":{}},"methodIdentifiers":{"computeKappaFromSlippage(uint256,int128,int128)":"a6f1e615"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nAssets\",\"type\":\"uint256\"},{\"internalType\":\"int128\",\"name\":\"tradeFrac\",\"type\":\"int128\"},{\"internalType\":\"int128\",\"name\":\"targetSlippage\",\"type\":\"int128\"}],\"name\":\"computeKappaFromSlippage\",\"outputs\":[{\"internalType\":\"int128\",\"name\":\"\",\"type\":\"int128\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"computeKappaFromSlippage(uint256,int128,int128)\":{\"details\":\"External wrapper that delegates to internal implementation.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"computeKappaFromSlippage(uint256,int128,int128)\":{\"notice\":\"Compute kappa from slippage parameters.\"}},\"notice\":\"Stabilized LMSR library with incremental exp(z) caching for gas efficiency. - Stores b (64.64), M (shift), Z = sum exp(z_i), z[i] = (q_i / b) - M - Caches e[i] = exp(z[i]) so we avoid recomputing exp() for every asset on each trade. - Provides closed-form \\u0394C on deposit, amount-out for asset->asset, and incremental applyDeposit/applyWithdraw that update e[i] and Z in O(1).\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/LMSRStabilized.sol\":\"LMSRStabilized\"},\"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\"]},\"src/LMSRStabilized.sol\":{\"keccak256\":\"0x497c2b786cc82dadecc47daf33849a4c3ad5080b68e0d4ca1a0107e519fbf74a\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://06d01d4d6f1f4958506c60d1514fa5da1493938c6ba0e0e3647aec58f44780e8\",\"dweb:/ipfs/QmXgTmXULcG1U4PeATq3P9i3xWkhe77DFdNpusGjvzy2Nr\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"nAssets","type":"uint256"},{"internalType":"int128","name":"tradeFrac","type":"int128"},{"internalType":"int128","name":"targetSlippage","type":"int128"}],"stateMutability":"pure","type":"function","name":"computeKappaFromSlippage","outputs":[{"internalType":"int128","name":"","type":"int128"}]}],"devdoc":{"kind":"dev","methods":{"computeKappaFromSlippage(uint256,int128,int128)":{"details":"External wrapper that delegates to internal implementation."}},"version":1},"userdoc":{"kind":"user","methods":{"computeKappaFromSlippage(uint256,int128,int128)":{"notice":"Compute kappa from slippage parameters."}},"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/LMSRStabilized.sol":"LMSRStabilized"},"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"},"src/LMSRStabilized.sol":{"keccak256":"0x497c2b786cc82dadecc47daf33849a4c3ad5080b68e0d4ca1a0107e519fbf74a","urls":["bzz-raw://06d01d4d6f1f4958506c60d1514fa5da1493938c6ba0e0e3647aec58f44780e8","dweb:/ipfs/QmXgTmXULcG1U4PeATq3P9i3xWkhe77DFdNpusGjvzy2Nr"],"license":"UNLICENSED"}},"version":1},"id":41}