abis and specs added

This commit is contained in:
Patrick Daly 2021-09-03 08:31:04 -07:00
parent a77e2d7671
commit ac4f8b9bea
12 changed files with 6372 additions and 0 deletions

View File

@ -0,0 +1,442 @@
[
{
"inputs": [
{
"internalType": "contract IVault",
"name": "_vault",
"type": "address"
},
{
"internalType": "contract IERC20",
"name": "_rewardToken",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "token",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "RewardAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "user",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "rewardToken",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "RewardPaid",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "liquidityProvider",
"type": "address"
},
{
"internalType": "uint256",
"name": "begin",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "end",
"type": "uint256"
}
],
"name": "claimStatus",
"outputs": [
{
"internalType": "bool[]",
"name": "",
"type": "bool[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "liquidityProvider",
"type": "address"
},
{
"internalType": "uint256",
"name": "week",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "claimedBalance",
"type": "uint256"
},
{
"internalType": "bytes32[]",
"name": "merkleProof",
"type": "bytes32[]"
}
],
"name": "claimWeek",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "liquidityProvider",
"type": "address"
},
{
"components": [
{
"internalType": "uint256",
"name": "week",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "bytes32[]",
"name": "merkleProof",
"type": "bytes32[]"
}
],
"internalType": "struct MerkleRedeem.Claim[]",
"name": "claims",
"type": "tuple[]"
}
],
"name": "claimWeeks",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "liquidityProvider",
"type": "address"
},
{
"components": [
{
"internalType": "uint256",
"name": "week",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "bytes32[]",
"name": "merkleProof",
"type": "bytes32[]"
}
],
"internalType": "struct MerkleRedeem.Claim[]",
"name": "claims",
"type": "tuple[]"
}
],
"name": "claimWeeksToInternalBalance",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "liquidityProvider",
"type": "address"
},
{
"internalType": "address payable",
"name": "callbackContract",
"type": "address"
},
{
"internalType": "bytes",
"name": "callbackData",
"type": "bytes"
},
{
"components": [
{
"internalType": "uint256",
"name": "week",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "bytes32[]",
"name": "merkleProof",
"type": "bytes32[]"
}
],
"internalType": "struct MerkleRedeem.Claim[]",
"name": "claims",
"type": "tuple[]"
}
],
"name": "claimWeeksWithCallback",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
},
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "claimed",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "begin",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "end",
"type": "uint256"
}
],
"name": "merkleRoots",
"outputs": [
{
"internalType": "bytes32[]",
"name": "",
"type": "bytes32[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "rewardToken",
"outputs": [
{
"internalType": "contract IERC20",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "week",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "_merkleRoot",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "seedAllocations",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "vault",
"outputs": [
{
"internalType": "contract IVault",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "liquidityProvider",
"type": "address"
},
{
"internalType": "uint256",
"name": "week",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "claimedBalance",
"type": "uint256"
},
{
"internalType": "bytes32[]",
"name": "merkleProof",
"type": "bytes32[]"
}
],
"name": "verifyClaim",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "weekMerkleRoots",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
}
]

View File

@ -0,0 +1,342 @@
[
{
"inputs": [
{
"internalType": "contract IVault",
"name": "vault",
"type": "address"
},
{
"internalType": "contract IwstETH",
"name": "wstETH",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "enum IVault.SwapKind",
"name": "kind",
"type": "uint8"
},
{
"components": [
{
"internalType": "bytes32",
"name": "poolId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "assetInIndex",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "assetOutIndex",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "userData",
"type": "bytes"
}
],
"internalType": "struct IVault.BatchSwapStep[]",
"name": "swaps",
"type": "tuple[]"
},
{
"internalType": "contract IAsset[]",
"name": "assets",
"type": "address[]"
},
{
"components": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "bool",
"name": "fromInternalBalance",
"type": "bool"
},
{
"internalType": "address payable",
"name": "recipient",
"type": "address"
},
{
"internalType": "bool",
"name": "toInternalBalance",
"type": "bool"
}
],
"internalType": "struct IVault.FundManagement",
"name": "funds",
"type": "tuple"
},
{
"internalType": "int256[]",
"name": "limits",
"type": "int256[]"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
}
],
"name": "batchSwap",
"outputs": [
{
"internalType": "int256[]",
"name": "swapAmounts",
"type": "int256[]"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "poolId",
"type": "bytes32"
},
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address payable",
"name": "recipient",
"type": "address"
},
{
"components": [
{
"internalType": "contract IAsset[]",
"name": "assets",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "minAmountsOut",
"type": "uint256[]"
},
{
"internalType": "bytes",
"name": "userData",
"type": "bytes"
},
{
"internalType": "bool",
"name": "toInternalBalance",
"type": "bool"
}
],
"internalType": "struct IVault.ExitPoolRequest",
"name": "request",
"type": "tuple"
}
],
"name": "exitPool",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getStETH",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getVault",
"outputs": [
{
"internalType": "contract IVault",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getWstETH",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "poolId",
"type": "bytes32"
},
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"components": [
{
"internalType": "contract IAsset[]",
"name": "assets",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "maxAmountsIn",
"type": "uint256[]"
},
{
"internalType": "bytes",
"name": "userData",
"type": "bytes"
},
{
"internalType": "bool",
"name": "fromInternalBalance",
"type": "bool"
}
],
"internalType": "struct IVault.JoinPoolRequest",
"name": "request",
"type": "tuple"
}
],
"name": "joinPool",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "bytes32",
"name": "poolId",
"type": "bytes32"
},
{
"internalType": "enum IVault.SwapKind",
"name": "kind",
"type": "uint8"
},
{
"internalType": "contract IAsset",
"name": "assetIn",
"type": "address"
},
{
"internalType": "contract IAsset",
"name": "assetOut",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "userData",
"type": "bytes"
}
],
"internalType": "struct IVault.SingleSwap",
"name": "singleSwap",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "bool",
"name": "fromInternalBalance",
"type": "bool"
},
{
"internalType": "address payable",
"name": "recipient",
"type": "address"
},
{
"internalType": "bool",
"name": "toInternalBalance",
"type": "bool"
}
],
"internalType": "struct IVault.FundManagement",
"name": "funds",
"type": "tuple"
},
{
"internalType": "uint256",
"name": "limit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
}
],
"name": "swap",
"outputs": [
{
"internalType": "uint256",
"name": "swapAmount",
"type": "uint256"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
]

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,166 @@
[
{
"inputs": [
{
"internalType": "contract IVault",
"name": "vault",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "pool",
"type": "address"
}
],
"name": "PoolCreated",
"type": "event"
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "symbol",
"type": "string"
},
{
"internalType": "contract IERC20[]",
"name": "tokens",
"type": "address[]"
},
{
"internalType": "uint256",
"name": "amplificationParameter",
"type": "uint256"
},
{
"internalType": "contract IRateProvider[]",
"name": "rateProviders",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "priceRateCacheDuration",
"type": "uint256[]"
},
{
"internalType": "uint256",
"name": "swapFeePercentage",
"type": "uint256"
},
{
"internalType": "bool",
"name": "oracleEnabled",
"type": "bool"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "create",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getCreationCode",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getCreationCodeContracts",
"outputs": [
{
"internalType": "address",
"name": "contractA",
"type": "address"
},
{
"internalType": "address",
"name": "contractB",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getPauseConfiguration",
"outputs": [
{
"internalType": "uint256",
"name": "pauseWindowDuration",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "bufferPeriodDuration",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getVault",
"outputs": [
{
"internalType": "contract IVault",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "pool",
"type": "address"
}
],
"name": "isPoolFromFactory",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}
]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,901 @@
[
{
"inputs": [
{
"internalType": "contract IVault",
"name": "vault",
"type": "address"
},
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "symbol",
"type": "string"
},
{
"internalType": "contract IERC20[]",
"name": "tokens",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "normalizedWeights",
"type": "uint256[]"
},
{
"internalType": "uint256",
"name": "swapFeePercentage",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "pauseWindowDuration",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "bufferPeriodDuration",
"type": "uint256"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"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": [
{
"indexed": false,
"internalType": "bool",
"name": "paused",
"type": "bool"
}
],
"name": "PausedStateChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "swapFeePercentage",
"type": "uint256"
}
],
"name": "SwapFeePercentageChanged",
"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": [
{
"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": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "decreaseApproval",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "selector",
"type": "bytes4"
}
],
"name": "getActionId",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getAuthorizer",
"outputs": [
{
"internalType": "contract IAuthorizer",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getInvariant",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getLastInvariant",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getNormalizedWeights",
"outputs": [
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getOwner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getPausedState",
"outputs": [
{
"internalType": "bool",
"name": "paused",
"type": "bool"
},
{
"internalType": "uint256",
"name": "pauseWindowEndTime",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "bufferPeriodEndTime",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getPoolId",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getRate",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getSwapFeePercentage",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getVault",
"outputs": [
{
"internalType": "contract IVault",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "increaseApproval",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"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": [
{
"internalType": "bytes32",
"name": "poolId",
"type": "bytes32"
},
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256[]",
"name": "balances",
"type": "uint256[]"
},
{
"internalType": "uint256",
"name": "lastChangeBlock",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "protocolSwapFeePercentage",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "userData",
"type": "bytes"
}
],
"name": "onExitPool",
"outputs": [
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
},
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "poolId",
"type": "bytes32"
},
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256[]",
"name": "balances",
"type": "uint256[]"
},
{
"internalType": "uint256",
"name": "lastChangeBlock",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "protocolSwapFeePercentage",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "userData",
"type": "bytes"
}
],
"name": "onJoinPool",
"outputs": [
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
},
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "enum IVault.SwapKind",
"name": "kind",
"type": "uint8"
},
{
"internalType": "contract IERC20",
"name": "tokenIn",
"type": "address"
},
{
"internalType": "contract IERC20",
"name": "tokenOut",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "poolId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "lastChangeBlock",
"type": "uint256"
},
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "bytes",
"name": "userData",
"type": "bytes"
}
],
"internalType": "struct IPoolSwapStructs.SwapRequest",
"name": "request",
"type": "tuple"
},
{
"internalType": "uint256",
"name": "balanceTokenIn",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "balanceTokenOut",
"type": "uint256"
}
],
"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": "value",
"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": "bytes32",
"name": "poolId",
"type": "bytes32"
},
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256[]",
"name": "balances",
"type": "uint256[]"
},
{
"internalType": "uint256",
"name": "lastChangeBlock",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "protocolSwapFeePercentage",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "userData",
"type": "bytes"
}
],
"name": "queryExit",
"outputs": [
{
"internalType": "uint256",
"name": "bptIn",
"type": "uint256"
},
{
"internalType": "uint256[]",
"name": "amountsOut",
"type": "uint256[]"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "poolId",
"type": "bytes32"
},
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256[]",
"name": "balances",
"type": "uint256[]"
},
{
"internalType": "uint256",
"name": "lastChangeBlock",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "protocolSwapFeePercentage",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "userData",
"type": "bytes"
}
],
"name": "queryJoin",
"outputs": [
{
"internalType": "uint256",
"name": "bptOut",
"type": "uint256"
},
{
"internalType": "uint256[]",
"name": "amountsIn",
"type": "uint256[]"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "paused",
"type": "bool"
}
],
"name": "setPaused",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "swapFeePercentage",
"type": "uint256"
}
],
"name": "setSwapFeePercentage",
"outputs": [],
"stateMutability": "nonpayable",
"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": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
]

View File

@ -0,0 +1,39 @@
[
{
"inputs": [
{
"internalType": "contract IwstETH",
"name": "_wstETH",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "getRate",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "wstETH",
"outputs": [
{
"internalType": "contract IwstETH",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
]

View File

@ -1,4 +1,5 @@
from .aave import AAVE_CLASSIFIER_SPECS
from .balancer import BALANCER_CLASSIFIER_SPECS
from .curve import CURVE_CLASSIFIER_SPECS
from .erc20 import ERC20_CLASSIFIER_SPECS
from .uniswap import UNISWAP_CLASSIFIER_SPECS
@ -13,4 +14,5 @@ ALL_CLASSIFIER_SPECS = (
+ UNISWAP_CLASSIFIER_SPECS
+ AAVE_CLASSIFIER_SPECS
+ ZEROX_CLASSIFIER_SPECS
+ BALANCER_CLASSIFIER_SPECS
)

View File

@ -0,0 +1,52 @@
from mev_inspect.schemas.classified_traces import (
ClassifierSpec,
Protocol,
)
BALANCER_CLASSIFIER_SPECS = [
ClassifierSpec(
abi_name="Vault",
protocol=Protocol.balancer,
valid_contract_addresses=["0xBA12222222228d8Ba445958a75a0704d566BF2C8"],
),
ClassifierSpec(
abi_name="WeightedPoolFactory",
protocol=Protocol.balancer,
valid_contract_addresses=["0x8E9aa87E45e92bad84D5F8DD1bff34Fb92637dE9"],
),
ClassifierSpec(
abi_name="WeightedPool2TokensFactory",
protocol=Protocol.balancer,
valid_contract_addresses=["0xA5bf2ddF098bb0Ef6d120C98217dD6B141c74EE0"],
),
ClassifierSpec(
abi_name="StablePoolFactory",
protocol=Protocol.balancer,
valid_contract_addresses=["0xc66Ba2B6595D3613CCab350C886aCE23866EDe24"],
),
ClassifierSpec(
abi_name="LiquidityBootstrappingPoolFactory",
protocol=Protocol.balancer,
valid_contract_addresses=["0x751A0bC0e3f75b38e01Cf25bFCE7fF36DE1C87DE"],
),
ClassifierSpec(
abi_name="MetastablePoolFactory",
protocol=Protocol.balancer,
valid_contract_addresses=["0x67d27634E44793fE63c467035E31ea8635117cd4"],
),
ClassifierSpec(
abi_name="LDOMerkle", # rewards contract for LDO
protocol=Protocol.balancer,
valid_contract_addresses=["0x67d27634E44793fE63c467035E31ea8635117cd4"],
),
ClassifierSpec(
abi_name="LidoRelayer",
protocol=Protocol.balancer,
valid_contract_addresses=["0xdcdbf71A870cc60C6F9B621E28a7D3Ffd6Dd4965"],
),
ClassifierSpec(
abi_name="WstETHProvider",
protocol=Protocol.balancer,
valid_contract_addresses=["0x72D07D7DcA67b8A406aD1Ec34ce969c90bFEE768"],
),
]

View File

@ -22,6 +22,7 @@ class Protocol(Enum):
weth = "weth"
curve = "curve"
zerox = "0x"
balancer = "balancer"
class ClassifiedTrace(BaseModel):