Skip to content

Commit 9a80bbb

Browse files
authored
Merge pull request #12 from xdecentralix/3-clp
3 clp
2 parents 5fb78f1 + d2aa8a0 commit 9a80bbb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+5478
-98
lines changed

crates/contracts/artifacts/BalancerV2Gyro2CLPPool.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

crates/contracts/artifacts/BalancerV2Gyro2CLPPoolFactory.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

crates/contracts/artifacts/BalancerV2Gyro3CLPPool.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

crates/contracts/artifacts/BalancerV2Gyro3CLPPoolFactory.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"abi":[{"inputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"sqrtAlpha","type":"uint256"},{"internalType":"uint256","name":"sqrtBeta","type":"uint256"},{"internalType":"string","name":"version","type":"string"}],"internalType":"struct IGyro2CLPPool.GyroParams","name":"params","type":"tuple"},{"internalType":"contract IVault","name":"vault","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AssetBoundsExceeded","type":"error"},{"inputs":[],"name":"ECDSAInvalidSignature","type":"error"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"name":"ECDSAInvalidSignatureLength","type":"error"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"ECDSAInvalidSignatureS","type":"error"},{"inputs":[{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"ERC2612ExpiredSignature","type":"error"},{"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC2612InvalidSigner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"currentNonce","type":"uint256"}],"name":"InvalidAccountNonce","type":"error"},{"inputs":[],"name":"InvalidShortString","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"SenderIsNotVault","type":"error"},{"inputs":[],"name":"SqrtParamsWrong","type":"error"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"name":"StringTooLong","type":"error"},{"inputs":[],"name":"ZeroDivision","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[],"name":"EIP712DomainChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"balancesLiveScaled18","type":"uint256[]"},{"internalType":"uint256","name":"tokenInIndex","type":"uint256"},{"internalType":"uint256","name":"invariantRatio","type":"uint256"}],"name":"computeBalance","outputs":[{"internalType":"uint256","name":"newBalance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"balancesLiveScaled18","type":"uint256[]"},{"internalType":"enum Rounding","name":"rounding","type":"uint8"}],"name":"computeInvariant","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"emitApproval","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"emitTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getAggregateFeePercentages","outputs":[{"internalType":"uint256","name":"aggregateSwapFeePercentage","type":"uint256"},{"internalType":"uint256","name":"aggregateYieldFeePercentage","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentLiveBalances","outputs":[{"internalType":"uint256[]","name":"balancesLiveScaled18","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGyro2CLPPoolDynamicData","outputs":[{"components":[{"internalType":"uint256[]","name":"balancesLiveScaled18","type":"uint256[]"},{"internalType":"uint256[]","name":"tokenRates","type":"uint256[]"},{"internalType":"uint256","name":"staticSwapFeePercentage","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"bptRate","type":"uint256"},{"internalType":"bool","name":"isPoolInitialized","type":"bool"},{"internalType":"bool","name":"isPoolPaused","type":"bool"},{"internalType":"bool","name":"isPoolInRecoveryMode","type":"bool"}],"internalType":"struct Gyro2CLPPoolDynamicData","name":"data","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGyro2CLPPoolImmutableData","outputs":[{"components":[{"internalType":"contract IERC20[]","name":"tokens","type":"address[]"},{"internalType":"uint256[]","name":"decimalScalingFactors","type":"uint256[]"},{"internalType":"uint256","name":"sqrtAlpha","type":"uint256"},{"internalType":"uint256","name":"sqrtBeta","type":"uint256"}],"internalType":"struct Gyro2CLPPoolImmutableData","name":"data","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMaximumInvariantRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getMaximumSwapFeePercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getMinimumInvariantRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getMinimumSwapFeePercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStaticSwapFeePercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTokenInfo","outputs":[{"internalType":"contract IERC20[]","name":"tokens","type":"address[]"},{"components":[{"internalType":"enum TokenType","name":"tokenType","type":"uint8"},{"internalType":"contract IRateProvider","name":"rateProvider","type":"address"},{"internalType":"bool","name":"paysYieldFees","type":"bool"}],"internalType":"struct TokenInfo[]","name":"tokenInfo","type":"tuple[]"},{"internalType":"uint256[]","name":"balancesRaw","type":"uint256[]"},{"internalType":"uint256[]","name":"lastBalancesLiveScaled18","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTokens","outputs":[{"internalType":"contract IERC20[]","name":"tokens","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getVault","outputs":[{"internalType":"contract IVault","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"incrementNonce","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"enum SwapKind","name":"kind","type":"uint8"},{"internalType":"uint256","name":"amountGivenScaled18","type":"uint256"},{"internalType":"uint256[]","name":"balancesScaled18","type":"uint256[]"},{"internalType":"uint256","name":"indexIn","type":"uint256"},{"internalType":"uint256","name":"indexOut","type":"uint256"},{"internalType":"address","name":"router","type":"address"},{"internalType":"bytes","name":"userData","type":"bytes"}],"internalType":"struct PoolSwapParams","name":"request","type":"tuple"}],"name":"onSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}]}

crates/contracts/artifacts/BalancerV3Gyro2CLPPoolFactory.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

crates/contracts/build.rs

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1003,6 +1003,35 @@ fn main() {
10031003
},
10041004
)
10051005
});
1006+
generate_contract_with_config("BalancerV2Gyro2CLPPoolFactory", |builder| {
1007+
builder
1008+
.add_network(
1009+
ARBITRUM_ONE,
1010+
Network {
1011+
address: addr("0x7a36527A02d96693b0AF2b70421F952816a4a088"),
1012+
// <https://arbiscan.io/tx/0x17692700be398d1f9ef0a2cce6d96269f51486dfce187149dd161dc6946d3c0f>
1013+
deployment_information: Some(DeploymentInformation::BlockNumber(194367293)),
1014+
},
1015+
)
1016+
.add_network(
1017+
POLYGON,
1018+
Network {
1019+
address: addr("0x5d8545a7330245150bE0Ce88F8afB0EDc41dFc34"),
1020+
// <https://polygonscan.com/tx/0x858e060ad6048afbf16a8acdf14ea2526b30e9cdcb987a5a6e348a90a3443576>
1021+
deployment_information: Some(DeploymentInformation::BlockNumber(31556084)),
1022+
},
1023+
)
1024+
});
1025+
generate_contract_with_config("BalancerV2Gyro3CLPPoolFactory", |builder| {
1026+
builder.add_network(
1027+
POLYGON,
1028+
Network {
1029+
address: addr("0x90f08B3705208E41DbEEB37A42Fb628dD483AdDa"),
1030+
// <https://polygonscan.com/tx/0x9199f04b237672a06ac26faa8ab94a963a6f835546caae9e12611eade9221113>
1031+
deployment_information: Some(DeploymentInformation::BlockNumber(31556094)),
1032+
},
1033+
)
1034+
});
10061035
generate_contract("BalancerV2WeightedPool");
10071036
generate_contract_with_config("BalancerV2StablePool", |builder| {
10081037
builder.add_method_alias(
@@ -1014,6 +1043,8 @@ fn main() {
10141043
generate_contract("BalancerV2LiquidityBootstrappingPool");
10151044
generate_contract("BalancerV2ComposableStablePool");
10161045
generate_contract("BalancerV2GyroECLPPool");
1046+
generate_contract("BalancerV2Gyro2CLPPool");
1047+
generate_contract("BalancerV2Gyro3CLPPool");
10171048

10181049
// Balancer V3 contracts
10191050
generate_contract_with_config("BalancerV3Vault", |builder| {
@@ -1355,6 +1386,65 @@ fn main() {
13551386
},
13561387
)
13571388
});
1389+
generate_contract_with_config("BalancerV3Gyro2CLPPoolFactory", |builder| {
1390+
builder
1391+
.add_network(
1392+
ARBITRUM_ONE,
1393+
Network {
1394+
address: addr("0x65A22Ec32c37835Ad5E77Eb6f7452Ac59E113a9F"),
1395+
// <https://arbiscan.io/tx/0xe7e1d42afe1fe3412db2675fcd95a1ff11686299bb03d1dda49cf1c8ed86b28b>
1396+
deployment_information: Some(DeploymentInformation::BlockNumber(322520182)),
1397+
},
1398+
)
1399+
.add_network(
1400+
AVALANCHE,
1401+
Network {
1402+
address: addr("0xe2fa4e1d17725e72dcdAfe943Ecf45dF4B9E285b"),
1403+
// <https://snowscan.xyz/tx/0xb3fd1f08bb200e3dd9b61b4eca3f163b787a8f8bf317e4e1b3d70e27eb404a6f>
1404+
deployment_information: Some(DeploymentInformation::BlockNumber(59965891)),
1405+
},
1406+
)
1407+
.add_network(
1408+
BASE,
1409+
Network {
1410+
address: addr("0xf5CDdF6feD9C589f1Be04899F48f9738531daD59"),
1411+
// <https://basescan.org/tx/0x54fcfff9e79b2b25acad56d29daa6f89111c4a43dfd9090ca6073f91df6b0d17>
1412+
deployment_information: Some(DeploymentInformation::BlockNumber(28450062)),
1413+
},
1414+
)
1415+
.add_network(
1416+
GNOSIS,
1417+
Network {
1418+
address: addr("0x7fA49Df302a98223d98D115fc4FCD275576f6faA"),
1419+
// <https://gnosisscan.io/tx/0x6a9a7757c7808aef632b81e43c6847e987aa113623c88da5cbfea95e540e04fc>
1420+
deployment_information: Some(DeploymentInformation::BlockNumber(39369934)),
1421+
},
1422+
)
1423+
.add_network(
1424+
MAINNET,
1425+
Network {
1426+
address: addr("0xb96524227c4B5Ab908FC3d42005FE3B07abA40E9"),
1427+
// <https://etherscan.io/tx/0xaac5fd1c006e1f8c2e95d70923d6014d48f820eea19ac78248614db9bb2adbe3>
1428+
deployment_information: Some(DeploymentInformation::BlockNumber(22188963)),
1429+
},
1430+
)
1431+
.add_network(
1432+
OPTIMISM,
1433+
Network {
1434+
address: addr("0x4b979eD48F982Ba0baA946cB69c1083eB799729c"),
1435+
// <https://optimistic.etherscan.io/tx/0x98dcb158b97fc79b0b447ffc86a5cb3e7f6a536e844818a5f58fd6f4fa991252>
1436+
deployment_information: Some(DeploymentInformation::BlockNumber(134045195)),
1437+
},
1438+
)
1439+
.add_network(
1440+
SEPOLIA,
1441+
Network {
1442+
address: addr("0x38ce8e04EBC04A39BED4b097e8C9bb8Ca74e33d8"),
1443+
// <https://sepolia.etherscan.io/tx/0xf84a5a835c02b5d6746dacf721b31dadab2631d98c600167976523ae86ae2d0a>
1444+
deployment_information: Some(DeploymentInformation::BlockNumber(8042511)),
1445+
},
1446+
)
1447+
});
13581448
generate_contract_with_config("BalancerV3ReClammPoolFactoryV2", |builder| {
13591449
builder
13601450
.add_network(
@@ -1452,6 +1542,7 @@ fn main() {
14521542
generate_contract("BalancerV3WeightedPool");
14531543
generate_contract("BalancerV3StablePool");
14541544
generate_contract("BalancerV3GyroECLPPool");
1545+
generate_contract("BalancerV3Gyro2CLPPool");
14551546
generate_contract("BalancerV3ReClammPool");
14561547
generate_contract("BalancerV3QuantAMMWeightedPool");
14571548
generate_contract("IRateProvider");

crates/contracts/src/bin/vendor.rs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,14 @@ fn run() -> Result<()> {
9595
"BalancerV2GyroECLPPoolFactory",
9696
"gyrostable/gyro-pools/8e83ed6946e77cb8f438d1ce3ae615f490c27f4e/build/deployments/1/0xA87217d855EDad15d63255DB176B810b0325BDa2.json",
9797
)?
98+
.github(
99+
"BalancerV2Gyro2CLPPoolFactory",
100+
"gyrostable/gyro-pools/8e83ed6946e77cb8f438d1ce3ae615f490c27f4e/build/deployments/137/0xfa08Eb3A781532f47b1dd811A6cA326842EA0CB5.json",
101+
)?
102+
.github(
103+
"BalancerV2Gyro3CLPPoolFactory",
104+
"gyrostable/gyro-pools/8e83ed6946e77cb8f438d1ce3ae615f490c27f4e/build/deployments/137/0x977e8A3917DFFe582aFbb2EE5a6be3E9fa043079.json",
105+
)?
98106
.github(
99107
"BalancerV2LiquidityBootstrappingPool",
100108
"balancer-labs/balancer-v2-monorepo/7a643349a5ef4511234b19a33e3f18d30770cb66/pkg/deployments/tasks/20210721-liquidity-bootstrapping-pool/abi/LiquidityBootstrappingPool.json",
@@ -114,6 +122,14 @@ fn run() -> Result<()> {
114122
.github(
115123
"BalancerV2GyroECLPPool",
116124
"gyrostable/gyro-pools/8e83ed6946e77cb8f438d1ce3ae615f490c27f4e/build/deployments/1/0x767CB26E38beBddfd857d4Ad426d8ff5Bc0fAc2f.json",
125+
)?
126+
.github(
127+
"BalancerV2Gyro2CLPPool",
128+
"gyrostable/gyro-pools/8e83ed6946e77cb8f438d1ce3ae615f490c27f4e/build/deployments/137/0xeD6850f0400c111e49Ee3F4bEa44d19b438B4611.json",
129+
)?
130+
.github(
131+
"BalancerV2Gyro3CLPPool",
132+
"gyrostable/gyro-pools/8e83ed6946e77cb8f438d1ce3ae615f490c27f4e/build/deployments/137/0xB211043347Cb9f2dFD8b981996820E2886B0eF18.json",
117133
)?;
118134

119135
// Balancer V2 contracts - ABI Only
@@ -156,6 +172,10 @@ fn run() -> Result<()> {
156172
"BalancerV3GyroECLPPoolFactory",
157173
"balancer/balancer-deployments/7a16f4463fb33d5f8c63118b6427b73fdb727cfc/v3/tasks/20250124-v3-gyro-eclp/artifact/GyroECLPPoolFactory.json",
158174
)?
175+
.github(
176+
"BalancerV3Gyro2CLPPoolFactory",
177+
"balancer/balancer-deployments/18839b81d136315c587011c135958b49272547ab/v3/tasks/20250120-v3-gyro-2clp/artifact/Gyro2CLPPoolFactory.json",
178+
)?
159179
.github(
160180
"BalancerV3ReClammPoolFactoryV2",
161181
"balancer/balancer-deployments/18839b81d136315c587011c135958b49272547ab/v3/tasks/20250702-v3-reclamm-pool-v2/artifact/ReClammPoolFactory.json",
@@ -180,6 +200,10 @@ fn run() -> Result<()> {
180200
"BalancerV3GyroECLPPool",
181201
"balancer/balancer-deployments/7a16f4463fb33d5f8c63118b6427b73fdb727cfc/v3/tasks/20250124-v3-gyro-eclp/artifact/GyroECLPPool.json",
182202
)?
203+
.github(
204+
"BalancerV3Gyro2CLPPool",
205+
"balancer/balancer-deployments/18839b81d136315c587011c135958b49272547ab/v3/tasks/20250120-v3-gyro-2clp/artifact/Gyro2CLPPool.json",
206+
)?
183207
.github(
184208
"BalancerV3ReClammPool",
185209
"balancer/balancer-deployments/18839b81d136315c587011c135958b49272547ab/v3/tasks/20250702-v3-reclamm-pool-v2/artifact/ReClammPool.json",

0 commit comments

Comments
 (0)