{"abi":[{"type":"function","name":"deposit","inputs":[{"name":"pubkey","type":"bytes","internalType":"bytes"},{"name":"withdrawal_credentials","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"},{"name":"deposit_data_root","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"get_deposit_count","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"get_deposit_root","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"event","name":"DepositEvent","inputs":[{"name":"pubkey","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"withdrawal_credentials","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"amount","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"signature","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"index","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5061020a806100206000396000f3fe6080604052600436106100345760003560e01c80632289511814610039578063621fd13014610052578063c5f2892f14610077575b600080fd5b6100506100473660046100dc565b50505050505050565b005b34801561005e57600080fd5b50606060405161006e919061017f565b60405180910390f35b34801561008357600080fd5b506040516000815260200161006e565b60008083601f8401126100a557600080fd5b50813567ffffffffffffffff8111156100bd57600080fd5b6020830191508360208285010111156100d557600080fd5b9250929050565b60008060008060008060006080888a0312156100f757600080fd5b873567ffffffffffffffff8082111561010f57600080fd5b61011b8b838c01610093565b909950975060208a013591508082111561013457600080fd5b6101408b838c01610093565b909750955060408a013591508082111561015957600080fd5b506101668a828b01610093565b989b979a50959894979596606090950135949350505050565b600060208083528351808285015260005b818110156101ac57858101830151858201604001528201610190565b818111156101be576000604083870101525b50601f01601f191692909201604001939250505056fea2646970667358221220cc5612ecb6dd4e2fd83c5b32c3de4fe14b13621f38844b3301449d75e91ff96e64736f6c634300080c0033","sourceMap":"121:614:106:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106100345760003560e01c80632289511814610039578063621fd13014610052578063c5f2892f14610077575b600080fd5b6100506100473660046100dc565b50505050505050565b005b34801561005e57600080fd5b50606060405161006e919061017f565b60405180910390f35b34801561008357600080fd5b506040516000815260200161006e565b60008083601f8401126100a557600080fd5b50813567ffffffffffffffff8111156100bd57600080fd5b6020830191508360208285010111156100d557600080fd5b9250929050565b60008060008060008060006080888a0312156100f757600080fd5b873567ffffffffffffffff8082111561010f57600080fd5b61011b8b838c01610093565b909950975060208a013591508082111561013457600080fd5b6101408b838c01610093565b909750955060408a013591508082111561015957600080fd5b506101668a828b01610093565b989b979a50959894979596606090950135949350505050565b600060208083528351808285015260005b818110156101ac57858101830151858201604001528201610190565b818111156101be576000604083870101525b50601f01601f191692909201604001939250505056fea2646970667358221220cc5612ecb6dd4e2fd83c5b32c3de4fe14b13621f38844b3301449d75e91ff96e64736f6c634300080c0033","sourceMap":"121:614:106:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;173:189;;;;;;:::i;:::-;;;;;;;;;;;610:121;;;;;;;;;;-1:-1:-1;662:12:106;610:121;;;;;;:::i;:::-;;;;;;;;369:110;;;;;;;;;;-1:-1:-1;369:110:106;;420:7;2190:25:169;;2178:2;2163:18;369:110:106;2044:177:169;14:347;65:8;75:6;129:3;122:4;114:6;110:17;106:27;96:55;;147:1;144;137:12;96:55;-1:-1:-1;170:20:169;;213:18;202:30;;199:50;;;245:1;242;235:12;199:50;282:4;274:6;270:17;258:29;;334:3;327:4;318:6;310;306:19;302:30;299:39;296:59;;;351:1;348;341:12;296:59;14:347;;;;;:::o;366:1073::-;485:6;493;501;509;517;525;533;586:3;574:9;565:7;561:23;557:33;554:53;;;603:1;600;593:12;554:53;643:9;630:23;672:18;713:2;705:6;702:14;699:34;;;729:1;726;719:12;699:34;768:58;818:7;809:6;798:9;794:22;768:58;:::i;:::-;845:8;;-1:-1:-1;742:84:169;-1:-1:-1;933:2:169;918:18;;905:32;;-1:-1:-1;949:16:169;;;946:36;;;978:1;975;968:12;946:36;1017:60;1069:7;1058:8;1047:9;1043:24;1017:60;:::i;:::-;1096:8;;-1:-1:-1;991:86:169;-1:-1:-1;1184:2:169;1169:18;;1156:32;;-1:-1:-1;1200:16:169;;;1197:36;;;1229:1;1226;1219:12;1197:36;;1268:60;1320:7;1309:8;1298:9;1294:24;1268:60;:::i;:::-;366:1073;;;;-1:-1:-1;366:1073:169;;;;;;1429:2;1414:18;;;1401:32;;366:1073;-1:-1:-1;;;;366:1073:169:o;1444:595::-;1554:4;1583:2;1612;1601:9;1594:21;1644:6;1638:13;1687:6;1682:2;1671:9;1667:18;1660:34;1712:1;1722:140;1736:6;1733:1;1730:13;1722:140;;;1831:14;;;1827:23;;1821:30;1797:17;;;1816:2;1793:26;1786:66;1751:10;;1722:140;;;1880:6;1877:1;1874:13;1871:91;;;1950:1;1945:2;1936:6;1925:9;1921:22;1917:31;1910:42;1871:91;-1:-1:-1;2023:2:169;2002:15;-1:-1:-1;;1998:29:169;1983:45;;;;2030:2;1979:54;;1444:595;-1:-1:-1;;;1444:595:169:o","linkReferences":{}},"methodIdentifiers":{"deposit(bytes,bytes,bytes,bytes32)":"22895118","get_deposit_count()":"621fd130","get_deposit_root()":"c5f2892f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"pubkey\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"withdrawal_credentials\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"amount\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"index\",\"type\":\"bytes\"}],\"name\":\"DepositEvent\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"pubkey\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"withdrawal_credentials\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"deposit_data_root\",\"type\":\"bytes32\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"get_deposit_count\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"get_deposit_root\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"deposit(bytes,bytes,bytes,bytes32)\":{\"params\":{\"deposit_data_root\":\"The SHA-256 hash of the SSZ-encoded DepositData object. Used as a protection against malformed input.\",\"pubkey\":\"A BLS12-381 public key.\",\"signature\":\"A BLS12-381 signature.\",\"withdrawal_credentials\":\"Commitment to a public key for withdrawals.\"}},\"get_deposit_count()\":{\"returns\":{\"_0\":\"The deposit count encoded as a little endian 64-bit number.\"}},\"get_deposit_root()\":{\"returns\":{\"_0\":\"The deposit root hash.\"}}},\"version\":1},\"userdoc\":{\"events\":{\"DepositEvent(bytes,bytes,bytes,bytes,bytes)\":{\"notice\":\"A processed deposit event.\"}},\"kind\":\"user\",\"methods\":{\"deposit(bytes,bytes,bytes,bytes32)\":{\"notice\":\"Submit a Phase 0 DepositData object.\"},\"get_deposit_count()\":{\"notice\":\"Query the current deposit count.\"},\"get_deposit_root()\":{\"notice\":\"Query the current deposit root hash.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/test/mocks/ETHDepositMock.sol\":\"ETHPOSDepositMock\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@credible-squaring/=src/\",\":@eigenlayer-middleware/=lib/eigenlayer-middleware/\",\":@eigenlayer-scripts/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/script/\",\":@eigenlayer/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/\",\":@openzeppelin-upgrades-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/\",\":@openzeppelin-upgrades/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/\",\":@openzeppelin-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/\",\":@openzeppelin/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eigenlayer-contracts/=lib/eigenlayer-contracts/\",\":eigenlayer-middleware/=lib/eigenlayer-middleware/\",\":erc4626-tests/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/\",\":openzeppelin-contracts-upgradeable/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/\",\":openzeppelin-contracts/=lib/eigenlayer-contracts/lib/openzeppelin-contracts/\",\":openzeppelin/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/contracts/\"]},\"sources\":{\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IETHPOSDeposit.sol\":{\"keccak256\":\"0x2e60e5f4b0da0a0a4e2a07c63141120998559970c21deac743ea0c64a60a880c\",\"license\":\"CC0-1.0\",\"urls\":[\"bzz-raw://e635c346bde5b7ade9bcf35bc733081520cb86015be4fbc6e761e6e9482c4c91\",\"dweb:/ipfs/QmRoeazEnbFn5SPSWAkoFK2gSN9DMp3hJAnrLWuL2sKutz\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/test/mocks/ETHDepositMock.sol\":{\"keccak256\":\"0x2923dd92487a73dc5977c93cb16745f599a0bba441fabb03bca0e7dcaccbd1ff\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6677ae77036475536cffd1eb901049f94174e8278fb9cc4bf01c35b8200d9a1f\",\"dweb:/ipfs/QmcVp2CK7hcgzW8WeBZZ9dTU34K8z4VnLYhQ1YJNsd8Czf\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.12+commit.f00d7308"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes","name":"pubkey","type":"bytes","indexed":false},{"internalType":"bytes","name":"withdrawal_credentials","type":"bytes","indexed":false},{"internalType":"bytes","name":"amount","type":"bytes","indexed":false},{"internalType":"bytes","name":"signature","type":"bytes","indexed":false},{"internalType":"bytes","name":"index","type":"bytes","indexed":false}],"type":"event","name":"DepositEvent","anonymous":false},{"inputs":[{"internalType":"bytes","name":"pubkey","type":"bytes"},{"internalType":"bytes","name":"withdrawal_credentials","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"},{"internalType":"bytes32","name":"deposit_data_root","type":"bytes32"}],"stateMutability":"payable","type":"function","name":"deposit"},{"inputs":[],"stateMutability":"pure","type":"function","name":"get_deposit_count","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"get_deposit_root","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"deposit(bytes,bytes,bytes,bytes32)":{"params":{"deposit_data_root":"The SHA-256 hash of the SSZ-encoded DepositData object. Used as a protection against malformed input.","pubkey":"A BLS12-381 public key.","signature":"A BLS12-381 signature.","withdrawal_credentials":"Commitment to a public key for withdrawals."}},"get_deposit_count()":{"returns":{"_0":"The deposit count encoded as a little endian 64-bit number."}},"get_deposit_root()":{"returns":{"_0":"The deposit root hash."}}},"version":1},"userdoc":{"kind":"user","methods":{"deposit(bytes,bytes,bytes,bytes32)":{"notice":"Submit a Phase 0 DepositData object."},"get_deposit_count()":{"notice":"Query the current deposit count."},"get_deposit_root()":{"notice":"Query the current deposit root hash."}},"version":1}},"settings":{"remappings":["@credible-squaring/=src/","@eigenlayer-middleware/=lib/eigenlayer-middleware/","@eigenlayer-scripts/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/script/","@eigenlayer/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/","@openzeppelin-upgrades-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/","@openzeppelin-upgrades/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/","@openzeppelin-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/","@openzeppelin/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","eigenlayer-contracts/=lib/eigenlayer-contracts/","eigenlayer-middleware/=lib/eigenlayer-middleware/","erc4626-tests/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/","openzeppelin-contracts-upgradeable/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/","openzeppelin-contracts/=lib/eigenlayer-contracts/lib/openzeppelin-contracts/","openzeppelin/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/test/mocks/ETHDepositMock.sol":"ETHPOSDepositMock"},"evmVersion":"london","libraries":{}},"sources":{"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IETHPOSDeposit.sol":{"keccak256":"0x2e60e5f4b0da0a0a4e2a07c63141120998559970c21deac743ea0c64a60a880c","urls":["bzz-raw://e635c346bde5b7ade9bcf35bc733081520cb86015be4fbc6e761e6e9482c4c91","dweb:/ipfs/QmRoeazEnbFn5SPSWAkoFK2gSN9DMp3hJAnrLWuL2sKutz"],"license":"CC0-1.0"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/test/mocks/ETHDepositMock.sol":{"keccak256":"0x2923dd92487a73dc5977c93cb16745f599a0bba441fabb03bca0e7dcaccbd1ff","urls":["bzz-raw://6677ae77036475536cffd1eb901049f94174e8278fb9cc4bf01c35b8200d9a1f","dweb:/ipfs/QmcVp2CK7hcgzW8WeBZZ9dTU34K8z4VnLYhQ1YJNsd8Czf"],"license":"BUSL-1.1"}},"version":1},"id":106}