diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index c771473691..538a74fcfb 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -10,20 +10,6 @@ env: CGO_CFLAGS: "-O -D__BLST_PORTABLE__" jobs: - artifacts: - name: Contract artifacts - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Install Foundry - uses: foundry-rs/foundry-toolchain@v1 - - - name: Validate artifacts - run: ./suave/scripts/contracts.sh civalidate - lint: name: Lint and test runs-on: ubuntu-latest @@ -37,12 +23,18 @@ jobs: - name: Check out code into the Go module directory uses: actions/checkout@v2 + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + - name: Install golangci-lint run: go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.51.2 - name: Lint run: make lint + - name: Build contracts + run: cd suave && forge build + - name: Test run: go test ./accounts ./cmd/geth ./core ./core/types ./core/vm ./eth/... ./internal/ethapi/... ./les/... ./miner ./params ./suave/... @@ -78,9 +70,15 @@ jobs: go-version: ^1.20 id: go + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + - name: Check out code into the Go module directory uses: actions/checkout@v2 + - name: Build contracts + run: cd suave && forge build + - name: Run dev environment run: make devnet-up diff --git a/Makefile b/Makefile index edb9bbead9..470296bb4d 100644 --- a/Makefile +++ b/Makefile @@ -47,7 +47,6 @@ devtools: @type "protoc" 2> /dev/null || echo 'Please install protoc' suavedevtools: - ./suave/scripts/contracts.sh build go run ./suave/gen/main.go -write devnet-up: diff --git a/suave/artifacts/.gitignore b/suave/artifacts/.gitignore index a50579709c..ef17dd6611 100644 --- a/suave/artifacts/.gitignore +++ b/suave/artifacts/.gitignore @@ -1,8 +1 @@ *.sol - -!forge_example.sol -!bids.sol -!Suave.sol -!SuaveAbi.sol -!SuaveForge.sol -!example.sol diff --git a/suave/artifacts/Suave.sol/Suave.json b/suave/artifacts/Suave.sol/Suave.json deleted file mode 100644 index 4b61ab1c66..0000000000 --- a/suave/artifacts/Suave.sol/Suave.json +++ /dev/null @@ -1,221 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "PeekerReverted", - "type": "error" - }, - { - "inputs": [], - "name": "ANYALLOWED", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "BUILD_ETH_BLOCK", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "CONFIDENTIAL_INPUTS", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "CONFIDENTIAL_RETRIEVE", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "CONFIDENTIAL_STORE", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ETHCALL", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "EXTRACT_HINT", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "FETCH_BIDS", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "FILL_MEV_SHARE_BUNDLE", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "IS_CONFIDENTIAL_ADDR", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NEW_BID", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SIGN_ETH_TRANSACTION", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SIMULATE_BUNDLE", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SUBMIT_BUNDLE_JSON_RPC", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SUBMIT_ETH_BLOCK_BID_TO_RELAY", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600436106100ff5760003560e01c8063ad05aae4116100a1578063d91525db11610070578063d91525db14610199578063de3dafbf146101a4578063f0579759146101bf578063f0608b1c146101ca57600080fd5b8063ad05aae41461016d578063b61b127d14610178578063bc50c00514610183578063c91e11df1461018e57600080fd5b80637320cb17116100dd5780637320cb1714610141578063744795b91461014c578063751afe2c1461015757806394804c691461016257600080fd5b806301c1953014610104578063040e51831461012b57806369094cbc14610136575b600080fd5b61010f634320000181565b6040516001600160a01b03909116815260200160405180910390f35b61010f634210000381565b61010f634201000181565b61010f634203000081565b61010f634010000181565b61010f634210003781565b61010f634210000181565b61010f634202000081565b61010f634210000081565b61010f634210000281565b61010f634203000181565b61010f634201000081565b61010f73c8df3686b4afb2bb53e60eae97ef043fe03fb82981565b61010f634202000181565b61010f63430000018156fea164736f6c6343000813000a" - }, - "bytecode": { - "object": "0x6101e261003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100ff5760003560e01c8063ad05aae4116100a1578063d91525db11610070578063d91525db14610199578063de3dafbf146101a4578063f0579759146101bf578063f0608b1c146101ca57600080fd5b8063ad05aae41461016d578063b61b127d14610178578063bc50c00514610183578063c91e11df1461018e57600080fd5b80637320cb17116100dd5780637320cb1714610141578063744795b91461014c578063751afe2c1461015757806394804c691461016257600080fd5b806301c1953014610104578063040e51831461012b57806369094cbc14610136575b600080fd5b61010f634320000181565b6040516001600160a01b03909116815260200160405180910390f35b61010f634210000381565b61010f634201000181565b61010f634203000081565b61010f634010000181565b61010f634210003781565b61010f634210000181565b61010f634202000081565b61010f634210000081565b61010f634210000281565b61010f634203000181565b61010f634201000081565b61010f73c8df3686b4afb2bb53e60eae97ef043fe03fb82981565b61010f634202000181565b61010f63430000018156fea164736f6c6343000813000a" - } -} diff --git a/suave/artifacts/SuaveAbi.sol/SuaveAbi.json b/suave/artifacts/SuaveAbi.sol/SuaveAbi.json deleted file mode 100644 index 609089f1ce..0000000000 --- a/suave/artifacts/SuaveAbi.sol/SuaveAbi.json +++ /dev/null @@ -1,437 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "PeekerReverted", - "type": "error" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint64", - "name": "slot", - "type": "uint64" - }, - { - "internalType": "bytes", - "name": "proposerPubkey", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "parent", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "timestamp", - "type": "uint64" - }, - { - "internalType": "address", - "name": "feeRecipient", - "type": "address" - }, - { - "internalType": "uint64", - "name": "gasLimit", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "random", - "type": "bytes32" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "index", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "validator", - "type": "uint64" - }, - { - "internalType": "address", - "name": "Address", - "type": "address" - }, - { - "internalType": "uint64", - "name": "amount", - "type": "uint64" - } - ], - "internalType": "struct Suave.Withdrawal[]", - "name": "withdrawals", - "type": "tuple[]" - }, - { - "internalType": "bytes", - "name": "extra", - "type": "bytes" - } - ], - "internalType": "struct Suave.BuildBlockArgs", - "name": "blockArgs", - "type": "tuple" - }, - { - "internalType": "Suave.BidId", - "name": "bid", - "type": "bytes16" - }, - { - "internalType": "string", - "name": "namespace", - "type": "string" - } - ], - "name": "buildEthBlock", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "Suave.BidId", - "name": "bidId", - "type": "bytes16" - }, - { - "internalType": "string", - "name": "key", - "type": "string" - } - ], - "name": "confidentialRetrieve", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "Suave.BidId", - "name": "bidId", - "type": "bytes16" - }, - { - "internalType": "string", - "name": "key", - "type": "string" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "confidentialStore", - "outputs": [], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "bundleData", - "type": "bytes" - } - ], - "name": "extractHint", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "cond", - "type": "uint64" - }, - { - "internalType": "string", - "name": "namespace", - "type": "string" - } - ], - "name": "fetchBids", - "outputs": [ - { - "components": [ - { - "internalType": "Suave.BidId", - "name": "id", - "type": "bytes16" - }, - { - "internalType": "Suave.BidId", - "name": "salt", - "type": "bytes16" - }, - { - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "allowedStores", - "type": "address[]" - }, - { - "internalType": "string", - "name": "version", - "type": "string" - } - ], - "internalType": "struct Suave.Bid[]", - "name": "", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "Suave.BidId", - "name": "bidId", - "type": "bytes16" - } - ], - "name": "fillMevShareBundle", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "allowedStores", - "type": "address[]" - }, - { - "internalType": "string", - "name": "BidType", - "type": "string" - } - ], - "name": "newBid", - "outputs": [ - { - "components": [ - { - "internalType": "Suave.BidId", - "name": "id", - "type": "bytes16" - }, - { - "internalType": "Suave.BidId", - "name": "salt", - "type": "bytes16" - }, - { - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "allowedStores", - "type": "address[]" - }, - { - "internalType": "string", - "name": "version", - "type": "string" - } - ], - "internalType": "struct Suave.Bid", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "txn", - "type": "bytes" - }, - { - "internalType": "string", - "name": "chainId", - "type": "string" - }, - { - "internalType": "string", - "name": "signingKey", - "type": "string" - } - ], - "name": "signEthTransaction", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "bundleData", - "type": "bytes" - } - ], - "name": "simulateBundle", - "outputs": [ - { - "internalType": "uint64", - "name": "", - "type": "uint64" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "url", - "type": "string" - }, - { - "internalType": "string", - "name": "method", - "type": "string" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "submitBundleJsonRPC", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "relayUrl", - "type": "string" - }, - { - "internalType": "bytes", - "name": "builderBid", - "type": "bytes" - } - ], - "name": "submitEthBlockBidToRelay", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80638a04705b116100715780638a04705b1461014457806392649e7d1461016b578063b2c1714c14610182578063d22a3b0b1461019d578063e3b417bc146101b2578063fb4f1e0d1461016b57600080fd5b8063023e8e2f146100ae57806320f16c3e146100df57806337a5686a146101005780634f563141146101165780638735d61714610136575b600080fd5b6100c26100bc3660046102fa565b50600090565b6040516001600160401b0390911681526020015b60405180910390f35b6100f36100ed3660046102fa565b50606090565b6040516100d69190610374565b6100f361010e36600461038e565b606092915050565b6101296101243660046104b9565b6101c0565b6040516100d69190610624565b6100f36100ed366004610658565b61015d610152366004610722565b606080935093915050565b6040516100d6929190610868565b6100f361017936600461088d565b60609392505050565b61019061010e3660046108e7565b6040516100d6919061092a565b6101b06101ab36600461098c565b505050565b005b6100f361010e3660046109c6565b6040805160c0810182526000808252602082018190529181019190915260608082018190526080820181905260a08201525b949350505050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715610232576102326101fa565b60405290565b60405161012081016001600160401b0381118282101715610232576102326101fa565b604051601f8201601f191681016001600160401b0381118282101715610283576102836101fa565b604052919050565b600082601f83011261029c57600080fd5b81356001600160401b038111156102b5576102b56101fa565b6102c8601f8201601f191660200161025b565b8181528460208386010111156102dd57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561030c57600080fd5b81356001600160401b0381111561032257600080fd5b6101f28482850161028b565b6000815180845260005b8181101561035457602081850181015186830182015201610338565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610387602083018461032e565b9392505050565b600080604083850312156103a157600080fd5b82356001600160401b03808211156103b857600080fd5b6103c48683870161028b565b935060208501359150808211156103da57600080fd5b506103e78582860161028b565b9150509250929050565b80356001600160401b038116811461040857600080fd5b919050565b60006001600160401b03821115610426576104266101fa565b5060051b60200190565b80356001600160a01b038116811461040857600080fd5b600082601f83011261045857600080fd5b8135602061046d6104688361040d565b61025b565b82815260059290921b8401810191818101908684111561048c57600080fd5b8286015b848110156104ae576104a181610430565b8352918301918301610490565b509695505050505050565b600080600080608085870312156104cf57600080fd5b6104d8856103f1565b935060208501356001600160401b03808211156104f457600080fd5b61050088838901610447565b9450604087013591508082111561051657600080fd5b61052288838901610447565b9350606087013591508082111561053857600080fd5b506105458782880161028b565b91505092959194509250565b600081518084526020808501945080840160005b8381101561058a5781516001600160a01b031687529582019590820190600101610565565b509495945050505050565b60006fffffffffffffffffffffffffffffffff19808351168452806020840151166020850152506001600160401b036040830151166040840152606082015160c060608501526105e860c0850182610551565b9050608083015184820360808601526106018282610551565b91505060a083015184820360a086015261061b828261032e565b95945050505050565b6020815260006103876020830184610595565b80356fffffffffffffffffffffffffffffffff198116811461040857600080fd5b60006020828403121561066a57600080fd5b61038782610637565b600082601f83011261068457600080fd5b813560206106946104688361040d565b82815260079290921b840181019181810190868411156106b357600080fd5b8286015b848110156104ae57608081890312156106d05760008081fd5b6106d8610210565b6106e1826103f1565b81526106ee8583016103f1565b8582015260406106ff818401610430565b9082015260606107108382016103f1565b908201528352918301916080016106b7565b60008060006060848603121561073757600080fd5b83356001600160401b038082111561074e57600080fd5b90850190610120828803121561076357600080fd5b61076b610238565b610774836103f1565b815260208301358281111561078857600080fd5b6107948982860161028b565b602083015250604083013560408201526107b0606084016103f1565b60608201526107c160808401610430565b60808201526107d260a084016103f1565b60a082015260c083013560c082015260e0830135828111156107f357600080fd5b6107ff89828601610673565b60e083015250610100808401358381111561081957600080fd5b6108258a82870161028b565b8284015250508095505061083b60208701610637565b9350604086013591508082111561085157600080fd5b5061085e8682870161028b565b9150509250925092565b60408152600061087b604083018561032e565b828103602084015261061b818561032e565b6000806000606084860312156108a257600080fd5b83356001600160401b03808211156108b957600080fd5b6108c58783880161028b565b945060208601359150808211156108db57600080fd5b61083b8783880161028b565b600080604083850312156108fa57600080fd5b610903836103f1565b915060208301356001600160401b0381111561091e57600080fd5b6103e78582860161028b565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561097f57603f1988860301845261096d858351610595565b94509285019290850190600101610951565b5092979650505050505050565b6000806000606084860312156109a157600080fd5b6109aa84610637565b925060208401356001600160401b03808211156108db57600080fd5b600080604083850312156109d957600080fd5b6109038361063756fea164736f6c6343000813000a" - }, - "bytecode": { - "object": "0x608060405234801561001057600080fd5b506109ef806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80638a04705b116100715780638a04705b1461014457806392649e7d1461016b578063b2c1714c14610182578063d22a3b0b1461019d578063e3b417bc146101b2578063fb4f1e0d1461016b57600080fd5b8063023e8e2f146100ae57806320f16c3e146100df57806337a5686a146101005780634f563141146101165780638735d61714610136575b600080fd5b6100c26100bc3660046102fa565b50600090565b6040516001600160401b0390911681526020015b60405180910390f35b6100f36100ed3660046102fa565b50606090565b6040516100d69190610374565b6100f361010e36600461038e565b606092915050565b6101296101243660046104b9565b6101c0565b6040516100d69190610624565b6100f36100ed366004610658565b61015d610152366004610722565b606080935093915050565b6040516100d6929190610868565b6100f361017936600461088d565b60609392505050565b61019061010e3660046108e7565b6040516100d6919061092a565b6101b06101ab36600461098c565b505050565b005b6100f361010e3660046109c6565b6040805160c0810182526000808252602082018190529181019190915260608082018190526080820181905260a08201525b949350505050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715610232576102326101fa565b60405290565b60405161012081016001600160401b0381118282101715610232576102326101fa565b604051601f8201601f191681016001600160401b0381118282101715610283576102836101fa565b604052919050565b600082601f83011261029c57600080fd5b81356001600160401b038111156102b5576102b56101fa565b6102c8601f8201601f191660200161025b565b8181528460208386010111156102dd57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561030c57600080fd5b81356001600160401b0381111561032257600080fd5b6101f28482850161028b565b6000815180845260005b8181101561035457602081850181015186830182015201610338565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610387602083018461032e565b9392505050565b600080604083850312156103a157600080fd5b82356001600160401b03808211156103b857600080fd5b6103c48683870161028b565b935060208501359150808211156103da57600080fd5b506103e78582860161028b565b9150509250929050565b80356001600160401b038116811461040857600080fd5b919050565b60006001600160401b03821115610426576104266101fa565b5060051b60200190565b80356001600160a01b038116811461040857600080fd5b600082601f83011261045857600080fd5b8135602061046d6104688361040d565b61025b565b82815260059290921b8401810191818101908684111561048c57600080fd5b8286015b848110156104ae576104a181610430565b8352918301918301610490565b509695505050505050565b600080600080608085870312156104cf57600080fd5b6104d8856103f1565b935060208501356001600160401b03808211156104f457600080fd5b61050088838901610447565b9450604087013591508082111561051657600080fd5b61052288838901610447565b9350606087013591508082111561053857600080fd5b506105458782880161028b565b91505092959194509250565b600081518084526020808501945080840160005b8381101561058a5781516001600160a01b031687529582019590820190600101610565565b509495945050505050565b60006fffffffffffffffffffffffffffffffff19808351168452806020840151166020850152506001600160401b036040830151166040840152606082015160c060608501526105e860c0850182610551565b9050608083015184820360808601526106018282610551565b91505060a083015184820360a086015261061b828261032e565b95945050505050565b6020815260006103876020830184610595565b80356fffffffffffffffffffffffffffffffff198116811461040857600080fd5b60006020828403121561066a57600080fd5b61038782610637565b600082601f83011261068457600080fd5b813560206106946104688361040d565b82815260079290921b840181019181810190868411156106b357600080fd5b8286015b848110156104ae57608081890312156106d05760008081fd5b6106d8610210565b6106e1826103f1565b81526106ee8583016103f1565b8582015260406106ff818401610430565b9082015260606107108382016103f1565b908201528352918301916080016106b7565b60008060006060848603121561073757600080fd5b83356001600160401b038082111561074e57600080fd5b90850190610120828803121561076357600080fd5b61076b610238565b610774836103f1565b815260208301358281111561078857600080fd5b6107948982860161028b565b602083015250604083013560408201526107b0606084016103f1565b60608201526107c160808401610430565b60808201526107d260a084016103f1565b60a082015260c083013560c082015260e0830135828111156107f357600080fd5b6107ff89828601610673565b60e083015250610100808401358381111561081957600080fd5b6108258a82870161028b565b8284015250508095505061083b60208701610637565b9350604086013591508082111561085157600080fd5b5061085e8682870161028b565b9150509250925092565b60408152600061087b604083018561032e565b828103602084015261061b818561032e565b6000806000606084860312156108a257600080fd5b83356001600160401b03808211156108b957600080fd5b6108c58783880161028b565b945060208601359150808211156108db57600080fd5b61083b8783880161028b565b600080604083850312156108fa57600080fd5b610903836103f1565b915060208301356001600160401b0381111561091e57600080fd5b6103e78582860161028b565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561097f57603f1988860301845261096d858351610595565b94509285019290850190600101610951565b5092979650505050505050565b6000806000606084860312156109a157600080fd5b6109aa84610637565b925060208401356001600160401b03808211156108db57600080fd5b600080604083850312156109d957600080fd5b6109038361063756fea164736f6c6343000813000a" - } -} diff --git a/suave/artifacts/SuaveForge.sol/SuaveForge.json b/suave/artifacts/SuaveForge.sol/SuaveForge.json deleted file mode 100644 index 3c4f4dc33a..0000000000 --- a/suave/artifacts/SuaveForge.sol/SuaveForge.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "bytes", - "name": "buffer", - "type": "bytes" - } - ], - "name": "iToHex", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - } - ], - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063671ff7861461003a575b600080fd5b61004d61004836600461023d565b610063565b60405161005a9190610312565b60405180910390f35b6060600082516002610075919061035b565b67ffffffffffffffff81111561008d5761008d610227565b6040519080825280601f01601f1916602001820160405280156100b7576020820181803683370190505b5060408051808201909152601081526f181899199a1a9b1b9c1cb0b131b232b360811b602082015290915060005b84518110156101fd5781825186838151811061010357610103610378565b0160200151610115919060f81c6103a4565b8151811061012557610125610378565b01602001516001600160f81b0319168361014083600261035b565b8151811061015057610150610378565b60200101906001600160f81b031916908160001a90535081825186838151811061017c5761017c610378565b016020015161018e919060f81c6103b8565b8151811061019e5761019e610378565b01602001516001600160f81b031916836101b983600261035b565b6101c49060016103cc565b815181106101d4576101d4610378565b60200101906001600160f81b031916908160001a905350806101f5816103df565b9150506100e5565b508160405160200161020f91906103f8565b60405160208183030381529060405292505050919050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561024f57600080fd5b813567ffffffffffffffff8082111561026757600080fd5b818401915084601f83011261027b57600080fd5b81358181111561028d5761028d610227565b604051601f8201601f19908116603f011681019083821181831017156102b5576102b5610227565b816040528281528760208487010111156102ce57600080fd5b826020860160208301376000928101602001929092525095945050505050565b60005b838110156103095781810151838201526020016102f1565b50506000910152565b60208152600082518060208401526103318160408501602087016102ee565b601f01601f19169190910160400192915050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761037257610372610345565b92915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b6000826103b3576103b361038e565b500490565b6000826103c7576103c761038e565b500690565b8082018082111561037257610372610345565b6000600182016103f1576103f1610345565b5060010190565b61060f60f31b8152600082516104158160028501602087016102ee565b919091016002019291505056fea164736f6c6343000813000a" - }, - "bytecode": { - "object": "0x61042f61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063671ff7861461003a575b600080fd5b61004d61004836600461023d565b610063565b60405161005a9190610312565b60405180910390f35b6060600082516002610075919061035b565b67ffffffffffffffff81111561008d5761008d610227565b6040519080825280601f01601f1916602001820160405280156100b7576020820181803683370190505b5060408051808201909152601081526f181899199a1a9b1b9c1cb0b131b232b360811b602082015290915060005b84518110156101fd5781825186838151811061010357610103610378565b0160200151610115919060f81c6103a4565b8151811061012557610125610378565b01602001516001600160f81b0319168361014083600261035b565b8151811061015057610150610378565b60200101906001600160f81b031916908160001a90535081825186838151811061017c5761017c610378565b016020015161018e919060f81c6103b8565b8151811061019e5761019e610378565b01602001516001600160f81b031916836101b983600261035b565b6101c49060016103cc565b815181106101d4576101d4610378565b60200101906001600160f81b031916908160001a905350806101f5816103df565b9150506100e5565b508160405160200161020f91906103f8565b60405160208183030381529060405292505050919050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561024f57600080fd5b813567ffffffffffffffff8082111561026757600080fd5b818401915084601f83011261027b57600080fd5b81358181111561028d5761028d610227565b604051601f8201601f19908116603f011681019083821181831017156102b5576102b5610227565b816040528281528760208487010111156102ce57600080fd5b826020860160208301376000928101602001929092525095945050505050565b60005b838110156103095781810151838201526020016102f1565b50506000910152565b60208152600082518060208401526103318160408501602087016102ee565b601f01601f19169190910160400192915050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761037257610372610345565b92915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b6000826103b3576103b361038e565b500490565b6000826103c7576103c761038e565b500690565b8082018082111561037257610372610345565b6000600182016103f1576103f1610345565b5060010190565b61060f60f31b8152600082516104158160028501602087016102ee565b919091016002019291505056fea164736f6c6343000813000a" - } -} diff --git a/suave/artifacts/SuaveForge.sol/Vm.json b/suave/artifacts/SuaveForge.sol/Vm.json deleted file mode 100644 index 5f3b2d5511..0000000000 --- a/suave/artifacts/SuaveForge.sol/Vm.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "string[]", - "name": "commandInput", - "type": "string[]" - } - ], - "name": "ffi", - "outputs": [ - { - "internalType": "bytes", - "name": "result", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "deployedBytecode": { - "object": "0x" - }, - "bytecode": { - "object": "0x" - } -} diff --git a/suave/artifacts/bids.sol/AnyBidContract.json b/suave/artifacts/bids.sol/AnyBidContract.json deleted file mode 100644 index a097598f66..0000000000 --- a/suave/artifacts/bids.sol/AnyBidContract.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "PeekerReverted", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "Suave.BidId", - "name": "bidId", - "type": "bytes16" - }, - { - "indexed": false, - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - } - ], - "name": "BidEvent", - "type": "event" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "Suave.BidId", - "name": "id", - "type": "bytes16" - }, - { - "internalType": "Suave.BidId", - "name": "salt", - "type": "bytes16" - }, - { - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "allowedStores", - "type": "address[]" - }, - { - "internalType": "string", - "name": "version", - "type": "string" - } - ], - "internalType": "struct Suave.Bid", - "name": "bid", - "type": "tuple" - } - ], - "name": "emitBid", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "fetchBidConfidentialBundleData", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806392f07a581461003b578063c0b9d28714610059575b600080fd5b61004361006e565b604051610050919061027e565b60405180910390f35b61006c610067366004610298565b6100a7565b005b606061007861010d565b61008157600080fd5b600061008b610196565b9050808060200190518101906100a191906102e9565b91505090565b7f83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504e6100d56020830183610396565b6100e560608401604085016103c9565b6100f260608501856103f3565b6040516101029493929190610444565b60405180910390a150565b6040516000908190819063420100009082818181855afa9150503d8060008114610153576040519150601f19603f3d011682016040523d82523d6000602084013e610158565b606091505b50915091508161018c576342010000816040516375fff46760e01b81526004016101839291906104ca565b60405180910390fd5b6020015192915050565b6040805160008082526020820192839052606092909182916342010001916101bd916104f6565b600060405180830381855afa9150503d80600081146101f8576040519150601f19603f3d011682016040523d82523d6000602084013e6101fd565b606091505b509150915081610228576342010001816040516375fff46760e01b81526004016101839291906104ca565b92915050565b60005b83811015610249578181015183820152602001610231565b50506000910152565b6000815180845261026a81602086016020860161022e565b601f01601f19169290920160200192915050565b6020815260006102916020830184610252565b9392505050565b6000602082840312156102aa57600080fd5b813567ffffffffffffffff8111156102c157600080fd5b820160c0818503121561029157600080fd5b634e487b7160e01b600052604160045260246000fd5b6000602082840312156102fb57600080fd5b815167ffffffffffffffff8082111561031357600080fd5b818401915084601f83011261032757600080fd5b815181811115610339576103396102d3565b604051601f8201601f19908116603f01168101908382118183101715610361576103616102d3565b8160405282815287602084870101111561037a57600080fd5b61038b83602083016020880161022e565b979650505050505050565b6000602082840312156103a857600080fd5b81356fffffffffffffffffffffffffffffffff198116811461029157600080fd5b6000602082840312156103db57600080fd5b813567ffffffffffffffff8116811461029157600080fd5b6000808335601e1984360301811261040a57600080fd5b83018035915067ffffffffffffffff82111561042557600080fd5b6020019150600581901b360382131561043d57600080fd5b9250929050565b6000606082016fffffffffffffffffffffffffffffffff1987168352602067ffffffffffffffff87168185015260606040850152818583526080850190508692506000805b878110156104bb5784356001600160a01b0381168082146104a8578384fd5b8452509383019391830191600101610489565b50909998505050505050505050565b6001600160a01b03831681526040602082018190526000906104ee90830184610252565b949350505050565b6000825161050881846020870161022e565b919091019291505056fea164736f6c6343000813000a" - }, - "bytecode": { - "object": "0x608060405234801561001057600080fd5b5061051f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806392f07a581461003b578063c0b9d28714610059575b600080fd5b61004361006e565b604051610050919061027e565b60405180910390f35b61006c610067366004610298565b6100a7565b005b606061007861010d565b61008157600080fd5b600061008b610196565b9050808060200190518101906100a191906102e9565b91505090565b7f83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504e6100d56020830183610396565b6100e560608401604085016103c9565b6100f260608501856103f3565b6040516101029493929190610444565b60405180910390a150565b6040516000908190819063420100009082818181855afa9150503d8060008114610153576040519150601f19603f3d011682016040523d82523d6000602084013e610158565b606091505b50915091508161018c576342010000816040516375fff46760e01b81526004016101839291906104ca565b60405180910390fd5b6020015192915050565b6040805160008082526020820192839052606092909182916342010001916101bd916104f6565b600060405180830381855afa9150503d80600081146101f8576040519150601f19603f3d011682016040523d82523d6000602084013e6101fd565b606091505b509150915081610228576342010001816040516375fff46760e01b81526004016101839291906104ca565b92915050565b60005b83811015610249578181015183820152602001610231565b50506000910152565b6000815180845261026a81602086016020860161022e565b601f01601f19169290920160200192915050565b6020815260006102916020830184610252565b9392505050565b6000602082840312156102aa57600080fd5b813567ffffffffffffffff8111156102c157600080fd5b820160c0818503121561029157600080fd5b634e487b7160e01b600052604160045260246000fd5b6000602082840312156102fb57600080fd5b815167ffffffffffffffff8082111561031357600080fd5b818401915084601f83011261032757600080fd5b815181811115610339576103396102d3565b604051601f8201601f19908116603f01168101908382118183101715610361576103616102d3565b8160405282815287602084870101111561037a57600080fd5b61038b83602083016020880161022e565b979650505050505050565b6000602082840312156103a857600080fd5b81356fffffffffffffffffffffffffffffffff198116811461029157600080fd5b6000602082840312156103db57600080fd5b813567ffffffffffffffff8116811461029157600080fd5b6000808335601e1984360301811261040a57600080fd5b83018035915067ffffffffffffffff82111561042557600080fd5b6020019150600581901b360382131561043d57600080fd5b9250929050565b6000606082016fffffffffffffffffffffffffffffffff1987168352602067ffffffffffffffff87168185015260606040850152818583526080850190508692506000805b878110156104bb5784356001600160a01b0381168082146104a8578384fd5b8452509383019391830191600101610489565b50909998505050505050505050565b6001600160a01b03831681526040602082018190526000906104ee90830184610252565b949350505050565b6000825161050881846020870161022e565b919091019291505056fea164736f6c6343000813000a" - } -} diff --git a/suave/artifacts/bids.sol/BundleBidContract.json b/suave/artifacts/bids.sol/BundleBidContract.json deleted file mode 100644 index 7bce91be55..0000000000 --- a/suave/artifacts/bids.sol/BundleBidContract.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "PeekerReverted", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "Suave.BidId", - "name": "bidId", - "type": "bytes16" - }, - { - "indexed": false, - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - } - ], - "name": "BidEvent", - "type": "event" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "Suave.BidId", - "name": "id", - "type": "bytes16" - }, - { - "internalType": "Suave.BidId", - "name": "salt", - "type": "bytes16" - }, - { - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "allowedStores", - "type": "address[]" - }, - { - "internalType": "string", - "name": "version", - "type": "string" - } - ], - "internalType": "struct Suave.Bid", - "name": "bid", - "type": "tuple" - } - ], - "name": "emitBid", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "fetchBidConfidentialBundleData", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "bidAllowedPeekers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "bidAllowedStores", - "type": "address[]" - } - ], - "name": "newBid", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "payable", - "type": "function" - } - ], - "deployedBytecode": { - "object": "0x6080604052600436106100345760003560e01c8063236eb5a71461003957806392f07a5814610062578063c0b9d28714610077575b600080fd5b61004c610047366004610815565b610099565b60405161005991906108da565b60405180910390f35b34801561006e57600080fd5b5061004c610217565b34801561008357600080fd5b506100976100923660046108ed565b610250565b005b60606100a36102b6565b6100ac57600080fd5b6000306001600160a01b03166392f07a586040518163ffffffff1660e01b81526004016000604051808303816000875af11580156100ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101169190810190610975565b905060006101238261033f565b905060006101608787876040518060400160405280601581526020017464656661756c743a76303a65746842756e646c657360581b815250610404565b905061019e81600001516040518060400160405280601581526020017464656661756c743a76303a65746842756e646c657360581b81525085610501565b8051604080518082018252601e81527f64656661756c743a76303a65746842756e646c6553696d526573756c7473000060208083019190915282516001600160401b038716818301528351808203909201825283019092526102009291610501565b61020a81846105b3565b93505050505b9392505050565b60606102216102b6565b61022a57600080fd5b600061023461064b565b90508080602001905181019061024a9190610975565b91505090565b7f83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504e61027e60208301836109dc565b61028e60608401604085016109f9565b61029b6060850185610a16565b6040516102ab9493929190610a66565b60405180910390a150565b6040516000908190819063420100009082818181855afa9150503d80600081146102fc576040519150601f19603f3d011682016040523d82523d6000602084013e610301565b606091505b509150915081610335576342010000816040516375fff46760e01b815260040161032c929190610adb565b60405180910390fd5b6020015192915050565b600080600063421000006001600160a01b03168460405160200161036391906108da565b60408051601f198184030181529082905261037d91610aff565b600060405180830381855afa9150503d80600081146103b8576040519150601f19603f3d011682016040523d82523d6000602084013e6103bd565b606091505b5091509150816103e8576342100000816040516375fff46760e01b815260040161032c929190610adb565b808060200190518101906103fc9190610b2b565b949350505050565b6040805160c0810182526000808252602082018190529181019190915260608082018190526080820181905260a082015260008063420300006001600160a01b03168787878760405160200161045d9493929190610b8c565b60408051601f198184030181529082905261047791610aff565b600060405180830381855afa9150503d80600081146104b2576040519150601f19603f3d011682016040523d82523d6000602084013e6104b7565b606091505b5091509150816104e2576342030000816040516375fff46760e01b815260040161032c929190610adb565b808060200190518101906104f69190610c63565b979650505050505050565b60008063420200006001600160a01b031685858560405160200161052793929190610d4a565b60408051601f198184030181529082905261054191610aff565b600060405180830381855afa9150503d806000811461057c576040519150601f19603f3d011682016040523d82523d6000602084013e610581565b606091505b5091509150816105ac576342020000816040516375fff46760e01b815260040161032c929190610adb565b5050505050565b60607f83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504e8360000151846040015185606001516040516105f493929190610d89565b60405180910390a160405163c0b9d28760e01b90610616908590602001610dc4565b60408051601f19818403018152908290526106349291602001610e51565b604051602081830303815290604052905092915050565b60408051600080825260208201928390526060929091829163420100019161067291610aff565b600060405180830381855afa9150503d80600081146106ad576040519150601f19603f3d011682016040523d82523d6000602084013e6106b2565b606091505b5091509150816106dd576342010001816040516375fff46760e01b815260040161032c929190610adb565b92915050565b6001600160401b03811681146106f857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b0381118282101715610733576107336106fb565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610761576107616106fb565b604052919050565b60006001600160401b03821115610782576107826106fb565b5060051b60200190565b6001600160a01b03811681146106f857600080fd5b600082601f8301126107b257600080fd5b813560206107c76107c283610769565b610739565b82815260059290921b840181019181810190868411156107e657600080fd5b8286015b8481101561080a5780356107fd8161078c565b83529183019183016107ea565b509695505050505050565b60008060006060848603121561082a57600080fd5b8335610835816106e3565b925060208401356001600160401b038082111561085157600080fd5b61085d878388016107a1565b9350604086013591508082111561087357600080fd5b50610880868287016107a1565b9150509250925092565b60005b838110156108a557818101518382015260200161088d565b50506000910152565b600081518084526108c681602086016020860161088a565b601f01601f19169290920160200192915050565b60208152600061021060208301846108ae565b6000602082840312156108ff57600080fd5b81356001600160401b0381111561091557600080fd5b820160c0818503121561021057600080fd5b60006001600160401b03831115610940576109406106fb565b610953601f8401601f1916602001610739565b905082815283838301111561096757600080fd5b61021083602083018461088a565b60006020828403121561098757600080fd5b81516001600160401b0381111561099d57600080fd5b8201601f810184136109ae57600080fd5b6103fc84825160208401610927565b6fffffffffffffffffffffffffffffffff19811681146106f857600080fd5b6000602082840312156109ee57600080fd5b8135610210816109bd565b600060208284031215610a0b57600080fd5b8135610210816106e3565b6000808335601e19843603018112610a2d57600080fd5b8301803591506001600160401b03821115610a4757600080fd5b6020019150600581901b3603821315610a5f57600080fd5b9250929050565b6000606082016001600160801b03198716835260206001600160401b03871681850152606060408501528185835260808501905086925060005b86811015610ace578335610ab38161078c565b6001600160a01b031682529282019290820190600101610aa0565b5098975050505050505050565b6001600160a01b03831681526040602082018190526000906103fc908301846108ae565b60008251610b1181846020870161088a565b9190910192915050565b8051610b26816106e3565b919050565b600060208284031215610b3d57600080fd5b8151610210816106e3565b600081518084526020808501945080840160005b83811015610b815781516001600160a01b031687529582019590820190600101610b5c565b509495945050505050565b6001600160401b0385168152608060208201526000610bae6080830186610b48565b8281036040840152610bc08186610b48565b905082810360608401526104f681856108ae565b8051610b26816109bd565b600082601f830112610bf057600080fd5b81516020610c006107c283610769565b82815260059290921b84018101918181019086841115610c1f57600080fd5b8286015b8481101561080a578051610c368161078c565b8352918301918301610c23565b600082601f830112610c5457600080fd5b61021083835160208501610927565b600060208284031215610c7557600080fd5b81516001600160401b0380821115610c8c57600080fd5b9083019060c08286031215610ca057600080fd5b610ca8610711565b610cb183610bd4565b8152610cbf60208401610bd4565b6020820152610cd060408401610b1b565b6040820152606083015182811115610ce757600080fd5b610cf387828601610bdf565b606083015250608083015182811115610d0b57600080fd5b610d1787828601610bdf565b60808301525060a083015182811115610d2f57600080fd5b610d3b87828601610c43565b60a08301525095945050505050565b6001600160801b031984168152606060208201526000610d6d60608301856108ae565b8281036040840152610d7f81856108ae565b9695505050505050565b6001600160801b0319841681526001600160401b0383166020820152606060408201526000610dbb6060830184610b48565b95945050505050565b6020815260006001600160801b0319808451166020840152806020850151166040840152506001600160401b036040840151166060830152606083015160c06080840152610e1560e0840182610b48565b90506080840151601f19808584030160a0860152610e338383610b48565b925060a08601519150808584030160c086015250610dbb82826108ae565b6001600160e01b0319831681528151600090610e7481600485016020870161088a565b91909101600401939250505056fea164736f6c6343000813000a" - }, - "bytecode": { - "object": "0x608060405234801561001057600080fd5b50610e8f806100206000396000f3fe6080604052600436106100345760003560e01c8063236eb5a71461003957806392f07a5814610062578063c0b9d28714610077575b600080fd5b61004c610047366004610815565b610099565b60405161005991906108da565b60405180910390f35b34801561006e57600080fd5b5061004c610217565b34801561008357600080fd5b506100976100923660046108ed565b610250565b005b60606100a36102b6565b6100ac57600080fd5b6000306001600160a01b03166392f07a586040518163ffffffff1660e01b81526004016000604051808303816000875af11580156100ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101169190810190610975565b905060006101238261033f565b905060006101608787876040518060400160405280601581526020017464656661756c743a76303a65746842756e646c657360581b815250610404565b905061019e81600001516040518060400160405280601581526020017464656661756c743a76303a65746842756e646c657360581b81525085610501565b8051604080518082018252601e81527f64656661756c743a76303a65746842756e646c6553696d526573756c7473000060208083019190915282516001600160401b038716818301528351808203909201825283019092526102009291610501565b61020a81846105b3565b93505050505b9392505050565b60606102216102b6565b61022a57600080fd5b600061023461064b565b90508080602001905181019061024a9190610975565b91505090565b7f83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504e61027e60208301836109dc565b61028e60608401604085016109f9565b61029b6060850185610a16565b6040516102ab9493929190610a66565b60405180910390a150565b6040516000908190819063420100009082818181855afa9150503d80600081146102fc576040519150601f19603f3d011682016040523d82523d6000602084013e610301565b606091505b509150915081610335576342010000816040516375fff46760e01b815260040161032c929190610adb565b60405180910390fd5b6020015192915050565b600080600063421000006001600160a01b03168460405160200161036391906108da565b60408051601f198184030181529082905261037d91610aff565b600060405180830381855afa9150503d80600081146103b8576040519150601f19603f3d011682016040523d82523d6000602084013e6103bd565b606091505b5091509150816103e8576342100000816040516375fff46760e01b815260040161032c929190610adb565b808060200190518101906103fc9190610b2b565b949350505050565b6040805160c0810182526000808252602082018190529181019190915260608082018190526080820181905260a082015260008063420300006001600160a01b03168787878760405160200161045d9493929190610b8c565b60408051601f198184030181529082905261047791610aff565b600060405180830381855afa9150503d80600081146104b2576040519150601f19603f3d011682016040523d82523d6000602084013e6104b7565b606091505b5091509150816104e2576342030000816040516375fff46760e01b815260040161032c929190610adb565b808060200190518101906104f69190610c63565b979650505050505050565b60008063420200006001600160a01b031685858560405160200161052793929190610d4a565b60408051601f198184030181529082905261054191610aff565b600060405180830381855afa9150503d806000811461057c576040519150601f19603f3d011682016040523d82523d6000602084013e610581565b606091505b5091509150816105ac576342020000816040516375fff46760e01b815260040161032c929190610adb565b5050505050565b60607f83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504e8360000151846040015185606001516040516105f493929190610d89565b60405180910390a160405163c0b9d28760e01b90610616908590602001610dc4565b60408051601f19818403018152908290526106349291602001610e51565b604051602081830303815290604052905092915050565b60408051600080825260208201928390526060929091829163420100019161067291610aff565b600060405180830381855afa9150503d80600081146106ad576040519150601f19603f3d011682016040523d82523d6000602084013e6106b2565b606091505b5091509150816106dd576342010001816040516375fff46760e01b815260040161032c929190610adb565b92915050565b6001600160401b03811681146106f857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b0381118282101715610733576107336106fb565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610761576107616106fb565b604052919050565b60006001600160401b03821115610782576107826106fb565b5060051b60200190565b6001600160a01b03811681146106f857600080fd5b600082601f8301126107b257600080fd5b813560206107c76107c283610769565b610739565b82815260059290921b840181019181810190868411156107e657600080fd5b8286015b8481101561080a5780356107fd8161078c565b83529183019183016107ea565b509695505050505050565b60008060006060848603121561082a57600080fd5b8335610835816106e3565b925060208401356001600160401b038082111561085157600080fd5b61085d878388016107a1565b9350604086013591508082111561087357600080fd5b50610880868287016107a1565b9150509250925092565b60005b838110156108a557818101518382015260200161088d565b50506000910152565b600081518084526108c681602086016020860161088a565b601f01601f19169290920160200192915050565b60208152600061021060208301846108ae565b6000602082840312156108ff57600080fd5b81356001600160401b0381111561091557600080fd5b820160c0818503121561021057600080fd5b60006001600160401b03831115610940576109406106fb565b610953601f8401601f1916602001610739565b905082815283838301111561096757600080fd5b61021083602083018461088a565b60006020828403121561098757600080fd5b81516001600160401b0381111561099d57600080fd5b8201601f810184136109ae57600080fd5b6103fc84825160208401610927565b6fffffffffffffffffffffffffffffffff19811681146106f857600080fd5b6000602082840312156109ee57600080fd5b8135610210816109bd565b600060208284031215610a0b57600080fd5b8135610210816106e3565b6000808335601e19843603018112610a2d57600080fd5b8301803591506001600160401b03821115610a4757600080fd5b6020019150600581901b3603821315610a5f57600080fd5b9250929050565b6000606082016001600160801b03198716835260206001600160401b03871681850152606060408501528185835260808501905086925060005b86811015610ace578335610ab38161078c565b6001600160a01b031682529282019290820190600101610aa0565b5098975050505050505050565b6001600160a01b03831681526040602082018190526000906103fc908301846108ae565b60008251610b1181846020870161088a565b9190910192915050565b8051610b26816106e3565b919050565b600060208284031215610b3d57600080fd5b8151610210816106e3565b600081518084526020808501945080840160005b83811015610b815781516001600160a01b031687529582019590820190600101610b5c565b509495945050505050565b6001600160401b0385168152608060208201526000610bae6080830186610b48565b8281036040840152610bc08186610b48565b905082810360608401526104f681856108ae565b8051610b26816109bd565b600082601f830112610bf057600080fd5b81516020610c006107c283610769565b82815260059290921b84018101918181019086841115610c1f57600080fd5b8286015b8481101561080a578051610c368161078c565b8352918301918301610c23565b600082601f830112610c5457600080fd5b61021083835160208501610927565b600060208284031215610c7557600080fd5b81516001600160401b0380821115610c8c57600080fd5b9083019060c08286031215610ca057600080fd5b610ca8610711565b610cb183610bd4565b8152610cbf60208401610bd4565b6020820152610cd060408401610b1b565b6040820152606083015182811115610ce757600080fd5b610cf387828601610bdf565b606083015250608083015182811115610d0b57600080fd5b610d1787828601610bdf565b60808301525060a083015182811115610d2f57600080fd5b610d3b87828601610c43565b60a08301525095945050505050565b6001600160801b031984168152606060208201526000610d6d60608301856108ae565b8281036040840152610d7f81856108ae565b9695505050505050565b6001600160801b0319841681526001600160401b0383166020820152606060408201526000610dbb6060830184610b48565b95945050505050565b6020815260006001600160801b0319808451166020840152806020850151166040840152506001600160401b036040840151166060830152606083015160c06080840152610e1560e0840182610b48565b90506080840151601f19808584030160a0860152610e338383610b48565b925060a08601519150808584030160c086015250610dbb82826108ae565b6001600160e01b0319831681528151600090610e7481600485016020870161088a565b91909101600401939250505056fea164736f6c6343000813000a" - } -} diff --git a/suave/artifacts/bids.sol/EthBlockBidContract.json b/suave/artifacts/bids.sol/EthBlockBidContract.json deleted file mode 100644 index f1246c65b4..0000000000 --- a/suave/artifacts/bids.sol/EthBlockBidContract.json +++ /dev/null @@ -1,698 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "PeekerReverted", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "Suave.BidId", - "name": "bidId", - "type": "bytes16" - }, - { - "indexed": false, - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - } - ], - "name": "BidEvent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "Suave.BidId", - "name": "bidId", - "type": "bytes16" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "builderBid", - "type": "bytes" - } - ], - "name": "BuilderBoostBidEvent", - "type": "event" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint64", - "name": "slot", - "type": "uint64" - }, - { - "internalType": "bytes", - "name": "proposerPubkey", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "parent", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "timestamp", - "type": "uint64" - }, - { - "internalType": "address", - "name": "feeRecipient", - "type": "address" - }, - { - "internalType": "uint64", - "name": "gasLimit", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "random", - "type": "bytes32" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "index", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "validator", - "type": "uint64" - }, - { - "internalType": "address", - "name": "Address", - "type": "address" - }, - { - "internalType": "uint64", - "name": "amount", - "type": "uint64" - } - ], - "internalType": "struct Suave.Withdrawal[]", - "name": "withdrawals", - "type": "tuple[]" - }, - { - "internalType": "bytes", - "name": "extra", - "type": "bytes" - } - ], - "internalType": "struct Suave.BuildBlockArgs", - "name": "blockArgs", - "type": "tuple" - }, - { - "internalType": "uint64", - "name": "blockHeight", - "type": "uint64" - }, - { - "internalType": "Suave.BidId[]", - "name": "bids", - "type": "bytes16[]" - }, - { - "internalType": "string", - "name": "namespace", - "type": "string" - } - ], - "name": "buildAndEmit", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint64", - "name": "slot", - "type": "uint64" - }, - { - "internalType": "bytes", - "name": "proposerPubkey", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "parent", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "timestamp", - "type": "uint64" - }, - { - "internalType": "address", - "name": "feeRecipient", - "type": "address" - }, - { - "internalType": "uint64", - "name": "gasLimit", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "random", - "type": "bytes32" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "index", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "validator", - "type": "uint64" - }, - { - "internalType": "address", - "name": "Address", - "type": "address" - }, - { - "internalType": "uint64", - "name": "amount", - "type": "uint64" - } - ], - "internalType": "struct Suave.Withdrawal[]", - "name": "withdrawals", - "type": "tuple[]" - }, - { - "internalType": "bytes", - "name": "extra", - "type": "bytes" - } - ], - "internalType": "struct Suave.BuildBlockArgs", - "name": "blockArgs", - "type": "tuple" - }, - { - "internalType": "uint64", - "name": "blockHeight", - "type": "uint64" - } - ], - "name": "buildFromPool", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint64", - "name": "slot", - "type": "uint64" - }, - { - "internalType": "bytes", - "name": "proposerPubkey", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "parent", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "timestamp", - "type": "uint64" - }, - { - "internalType": "address", - "name": "feeRecipient", - "type": "address" - }, - { - "internalType": "uint64", - "name": "gasLimit", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "random", - "type": "bytes32" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "index", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "validator", - "type": "uint64" - }, - { - "internalType": "address", - "name": "Address", - "type": "address" - }, - { - "internalType": "uint64", - "name": "amount", - "type": "uint64" - } - ], - "internalType": "struct Suave.Withdrawal[]", - "name": "withdrawals", - "type": "tuple[]" - }, - { - "internalType": "bytes", - "name": "extra", - "type": "bytes" - } - ], - "internalType": "struct Suave.BuildBlockArgs", - "name": "blockArgs", - "type": "tuple" - }, - { - "internalType": "uint64", - "name": "blockHeight", - "type": "uint64" - } - ], - "name": "buildMevShare", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint64", - "name": "slot", - "type": "uint64" - }, - { - "internalType": "bytes", - "name": "proposerPubkey", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "parent", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "timestamp", - "type": "uint64" - }, - { - "internalType": "address", - "name": "feeRecipient", - "type": "address" - }, - { - "internalType": "uint64", - "name": "gasLimit", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "random", - "type": "bytes32" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "index", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "validator", - "type": "uint64" - }, - { - "internalType": "address", - "name": "Address", - "type": "address" - }, - { - "internalType": "uint64", - "name": "amount", - "type": "uint64" - } - ], - "internalType": "struct Suave.Withdrawal[]", - "name": "withdrawals", - "type": "tuple[]" - }, - { - "internalType": "bytes", - "name": "extra", - "type": "bytes" - } - ], - "internalType": "struct Suave.BuildBlockArgs", - "name": "blockArgs", - "type": "tuple" - }, - { - "internalType": "uint64", - "name": "blockHeight", - "type": "uint64" - }, - { - "internalType": "Suave.BidId[]", - "name": "bids", - "type": "bytes16[]" - }, - { - "internalType": "string", - "name": "namespace", - "type": "string" - } - ], - "name": "doBuild", - "outputs": [ - { - "components": [ - { - "internalType": "Suave.BidId", - "name": "id", - "type": "bytes16" - }, - { - "internalType": "Suave.BidId", - "name": "salt", - "type": "bytes16" - }, - { - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "allowedStores", - "type": "address[]" - }, - { - "internalType": "string", - "name": "version", - "type": "string" - } - ], - "internalType": "struct Suave.Bid", - "name": "", - "type": "tuple" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "Suave.BidId", - "name": "id", - "type": "bytes16" - }, - { - "internalType": "Suave.BidId", - "name": "salt", - "type": "bytes16" - }, - { - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "allowedStores", - "type": "address[]" - }, - { - "internalType": "string", - "name": "version", - "type": "string" - } - ], - "internalType": "struct Suave.Bid", - "name": "bid", - "type": "tuple" - } - ], - "name": "emitBid", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "Suave.BidId", - "name": "id", - "type": "bytes16" - }, - { - "internalType": "Suave.BidId", - "name": "salt", - "type": "bytes16" - }, - { - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "allowedStores", - "type": "address[]" - }, - { - "internalType": "string", - "name": "version", - "type": "string" - } - ], - "internalType": "struct Suave.Bid", - "name": "bid", - "type": "tuple" - }, - { - "internalType": "bytes", - "name": "builderBid", - "type": "bytes" - } - ], - "name": "emitBuilderBidAndBid", - "outputs": [ - { - "components": [ - { - "internalType": "Suave.BidId", - "name": "id", - "type": "bytes16" - }, - { - "internalType": "Suave.BidId", - "name": "salt", - "type": "bytes16" - }, - { - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "allowedStores", - "type": "address[]" - }, - { - "internalType": "string", - "name": "version", - "type": "string" - } - ], - "internalType": "struct Suave.Bid", - "name": "", - "type": "tuple" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "fetchBidConfidentialBundleData", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "Suave.BidId", - "name": "_l", - "type": "bytes16" - }, - { - "internalType": "Suave.BidId", - "name": "_r", - "type": "bytes16" - } - ], - "name": "idsEqual", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "Suave.BidId", - "name": "bidId", - "type": "bytes16" - }, - { - "internalType": "bytes", - "name": "signedBlindedHeader", - "type": "bytes" - } - ], - "name": "unlock", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806392f07a581161006657806392f07a5814610108578063b33e471514610110578063c0b9d28714610123578063d503387a14610138578063e829cd5d1461014b57600080fd5b8063232ef1f414610098578063346ab175146100c2578063464b0c3a146100e25780637df1cde2146100f5575b600080fd5b6100ab6100a63660046118cc565b61016e565b6040516100b9929190611a57565b60405180910390f35b6100d56100d0366004611afa565b610304565b6040516100b99190611b4b565b6100d56100f03660046118cc565b6106d3565b6100d5610103366004611b65565b610836565b6100d561088e565b6100ab61011e366004611c18565b6108c7565b610136610131366004611d1a565b610962565b005b6100d5610146366004611afa565b6109c8565b61015e610159366004611d54565b610f8d565b60405190151581526020016100b9565b61017661152c565b6040805160028082526060808301845292600092919060208301908036833701905050905030816000815181106101af576101af611d82565b60200260200101906001600160a01b031690816001600160a01b0316815250506342100001816001815181106101e7576101e7611d82565b60200260200101906001600160a01b031690816001600160a01b03168152505060006102428783846040518060400160405280601581526020017464656661756c743a76303a6d65726765644269647360581b815250611051565b905061029f81600001516040518060400160405280601581526020017464656661756c743a76303a6d65726765644269647360581b8152508860405160200161028b9190611dd2565b604051602081830303815290604052611125565b6000806102b18a8460000151896111d7565b915091506102f5836000015160405180604001604052806019815260200178191959985d5b1d0e9d8c0e989d5a5b19195c94185e5b1bd859603a1b81525083611125565b50909890975095505050505050565b606061030e6112a7565b61031757600080fd5b6000610350836040518060400160405280601581526020017464656661756c743a76303a65746842756e646c657360581b815250611327565b9050805160000361037f57306040516375fff46760e01b81526004016103769190611de5565b60405180910390fd5b600081516001600160401b0381111561039a5761039a611560565b6040519080825280602002602001820160405280156103df57816020015b60408051808201909152600080825260208201528152602001906001900390816103b85790505b50905060005b82518110156104dd57600061044c84838151811061040557610405611d82565b6020026020010151600001516040518060400160405280601e81526020017f64656661756c743a76303a65746842756e646c6553696d526573756c747300008152506113ef565b90506000818060200190518101906104649190611e23565b90506040518060400160405280826001600160401b0316815260200186858151811061049257610492611d82565b6020026020010151600001516001600160801b0319168152508484815181106104bd576104bd611d82565b6020026020010181905250505080806104d590611e56565b9150506103e5565b50805160005b6104ee600183611e6f565b8110156105fb576000610502826001611e82565b90505b828110156105e85783818151811061051f5761051f611d82565b6020026020010151600001516001600160401b031684838151811061054657610546611d82565b6020026020010151600001516001600160401b031610156105d657600084838151811061057557610575611d82565b6020026020010151905084828151811061059157610591611d82565b60200260200101518584815181106105ab576105ab611d82565b6020026020010181905250808583815181106105c9576105c9611d82565b6020026020010181905250505b806105e081611e56565b915050610505565b50806105f381611e56565b9150506104e3565b50600083516001600160401b0381111561061757610617611560565b604051908082528060200260200182016040528015610640578160200160208202803683370190505b50905060005b83518110156106aa5783818151811061066157610661611d82565b60200260200101516020015182828151811061067f5761067f611d82565b6001600160801b031990921660209283029190910190910152806106a281611e56565b915050610646565b506106c6878783604051806020016040528060008152506106d3565b9450505050505b92915050565b60606106dd6112a7565b6106e657600080fd5b6040516308cbbc7d60e21b81526000908190309063232ef1f490610714908a908a908a908a90600401611fc9565b600060405180830381865afa158015610731573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610759919081019061218b565b915091507f67fa9c16cd72410c4cc1d47205b31852a81ec5e92d1c8cebc3ecbe98ed67fe3f8260000151826040516107929291906121e4565b60405180910390a17f83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504e8260000151836040015184606001516040516107d993929190612207565b60405180910390a160405163b33e471560e01b906107fd9084908490602001611a57565b60408051601f198184030181529082905261081b9291602001612239565b60405160208183030381529060405292505050949350505050565b60606108406112a7565b61084957600080fd5b60006108868460405180604001604052806019815260200178191959985d5b1d0e9d8c0e989d5a5b19195c94185e5b1bd859603a1b8152506113ef565b949350505050565b60606108986112a7565b6108a157600080fd5b60006108ab61149a565b9050808060200190518101906108c1919061226a565b91505090565b6108cf61152c565b60607f67fa9c16cd72410c4cc1d47205b31852a81ec5e92d1c8cebc3ecbe98ed67fe3f8460000151846040516109069291906121e4565b60405180910390a17f83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504e84600001518560400151866060015160405161094d93929190612207565b60405180910390a150829050815b9250929050565b7f83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504e610990602083018361229e565b6109a060608401604085016122bb565b6109ad60608501856122d8565b6040516109bd9493929190612321565b60405180910390a150565b60606109d26112a7565b6109db57600080fd5b6000610a1483604051806040016040528060158152602001746d657673686172653a76303a6d617463684269647360581b815250611327565b90506000610a57846040518060400160405280601c81526020017f6d657673686172653a76303a756e6d61746368656442756e646c657300000000815250611327565b90508051600003610a7d57306040516375fff46760e01b81526004016103769190611de5565b600081516001600160401b03811115610a9857610a98611560565b604051908082528060200260200182016040528015610ad157816020015b610abe61152c565b815260200190600190039081610ab65790505b50905060005b8251811015610c24576000838281518110610af457610af4611d82565b6020026020010151905060005b8551811015610bf1576000610b61878381518110610b2157610b21611d82565b602002602001015160000151604051806040016040528060168152602001756d657673686172653a76303a6d65726765644269647360501b8152506113ef565b806020019051810190610b749190612396565b9050610bb781600081518110610b8c57610b8c611d82565b6020026020010151878681518110610ba657610ba6611d82565b602002602001015160000151610f8d565b15610bde57868281518110610bce57610bce611d82565b6020026020010151925050610bf1565b5080610be981611e56565b915050610b01565b5080838381518110610c0557610c05611d82565b6020026020010181905250508080610c1c90611e56565b915050610ad7565b50600081516001600160401b03811115610c4057610c40611560565b604051908082528060200260200182016040528015610c8557816020015b6040805180820190915260008082526020820152815260200190600190039081610c5e5790505b50905060005b8251811015610d83576000610cf2848381518110610cab57610cab611d82565b6020026020010151600001516040518060400160405280601f81526020017f6d657673686172653a76303a65746842756e646c6553696d526573756c7473008152506113ef565b9050600081806020019051810190610d0a9190611e23565b90506040518060400160405280826001600160401b03168152602001868581518110610d3857610d38611d82565b6020026020010151600001516001600160801b031916815250848481518110610d6357610d63611d82565b602002602001018190525050508080610d7b90611e56565b915050610c8b565b50805160005b610d94600183611e6f565b811015610ea1576000610da8826001611e82565b90505b82811015610e8e57838181518110610dc557610dc5611d82565b6020026020010151600001516001600160401b0316848381518110610dec57610dec611d82565b6020026020010151600001516001600160401b03161015610e7c576000848381518110610e1b57610e1b611d82565b60200260200101519050848281518110610e3757610e37611d82565b6020026020010151858481518110610e5157610e51611d82565b602002602001018190525080858381518110610e6f57610e6f611d82565b6020026020010181905250505b80610e8681611e56565b915050610dab565b5080610e9981611e56565b915050610d89565b50600083516001600160401b03811115610ebd57610ebd611560565b604051908082528060200260200182016040528015610ee6578160200160208202803683370190505b50905060005b8351811015610f5057838181518110610f0757610f07611d82565b602002602001015160200151828281518110610f2557610f25611d82565b6001600160801b03199092166020928302919091019091015280610f4881611e56565b915050610eec565b50610f808989836040518060400160405280600b81526020016a06d657673686172653a76360ac1b8152506106d3565b9998505050505050505050565b604080516001600160801b03198481166020830152825160108184030181526030830184529084166050830152825180830384018152606090920190925260009190825b825181101561104557818181518110610fec57610fec611d82565b602001015160f81c60f81b6001600160f81b03191683828151811061101357611013611d82565b01602001516001600160f81b0319161461103357600093505050506106cd565b8061103d81611e56565b915050610fd1565b50600195945050505050565b61105961152c565b60008063420300006001600160a01b0316878787876040516020016110819493929190612424565b60408051601f198184030181529082905261109b91612458565b600060405180830381855afa9150503d80600081146110d6576040519150601f19603f3d011682016040523d82523d6000602084013e6110db565b606091505b509150915081611106576342030000816040516375fff46760e01b8152600401610376929190612474565b8080602001905181019061111a9190612498565b979650505050505050565b60008063420200006001600160a01b031685858560405160200161114b939291906124cc565b60408051601f198184030181529082905261116591612458565b600060405180830381855afa9150503d80600081146111a0576040519150601f19603f3d011682016040523d82523d6000602084013e6111a5565b606091505b5091509150816111d0576342020000816040516375fff46760e01b8152600401610376929190612474565b5050505050565b60608060008063421000016001600160a01b031687878760405160200161120093929190612501565b60408051601f198184030181529082905261121a91612458565b600060405180830381855afa9150503d8060008114611255576040519150601f19603f3d011682016040523d82523d6000602084013e61125a565b606091505b509150915081611285576342100001816040516375fff46760e01b8152600401610376929190612474565b808060200190518101906112999190612536565b935093505050935093915050565b6040516000908190819063420100009082818181855afa9150503d80600081146112ed576040519150601f19603f3d011682016040523d82523d6000602084013e6112f2565b606091505b50915091508161131d576342010000816040516375fff46760e01b8152600401610376929190612474565b6020015192915050565b606060008063420300016001600160a01b0316858560405160200161134d92919061256c565b60408051601f198184030181529082905261136791612458565b600060405180830381855afa9150503d80600081146113a2576040519150601f19603f3d011682016040523d82523d6000602084013e6113a7565b606091505b5091509150816113d2576342030001816040516375fff46760e01b8152600401610376929190612474565b808060200190518101906113e6919061258e565b95945050505050565b606060008063420200016001600160a01b031685856040516020016114159291906121e4565b60408051601f198184030181529082905261142f91612458565b600060405180830381855afa9150503d806000811461146a576040519150601f19603f3d011682016040523d82523d6000602084013e61146f565b606091505b509150915081610886576342020001816040516375fff46760e01b8152600401610376929190612474565b6040805160008082526020820192839052606092909182916342010001916114c191612458565b600060405180830381855afa9150503d80600081146114fc576040519150601f19603f3d011682016040523d82523d6000602084013e611501565b606091505b5091509150816106cd576342010001816040516375fff46760e01b8152600401610376929190612474565b6040805160c0810182526000808252602082018190529181019190915260608082018190526080820181905260a082015290565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561159857611598611560565b60405290565b60405161012081016001600160401b038111828210171561159857611598611560565b60405160c081016001600160401b038111828210171561159857611598611560565b604051601f8201601f191681016001600160401b038111828210171561160b5761160b611560565b604052919050565b6001600160401b038116811461162857600080fd5b50565b803561163681611613565b919050565b60006001600160401b0382111561165457611654611560565b50601f01601f191660200190565b600082601f83011261167357600080fd5b81356116866116818261163b565b6115e3565b81815284602083860101111561169b57600080fd5b816020850160208301376000918101602001919091529392505050565b6001600160a01b038116811461162857600080fd5b8035611636816116b8565b60006001600160401b038211156116f1576116f1611560565b5060051b60200190565b600082601f83011261170c57600080fd5b8135602061171c611681836116d8565b82815260079290921b8401810191818101908684111561173b57600080fd5b8286015b848110156117b257608081890312156117585760008081fd5b611760611576565b813561176b81611613565b81528185013561177a81611613565b8186015260408281013561178d816116b8565b908201526060828101356117a081611613565b9082015283529183019160800161173f565b509695505050505050565b600061012082840312156117d057600080fd5b6117d861159e565b90506117e38261162b565b815260208201356001600160401b03808211156117ff57600080fd5b61180b85838601611662565b6020840152604084013560408401526118266060850161162b565b6060840152611837608085016116cd565b608084015261184860a0850161162b565b60a084015260c084013560c084015260e084013591508082111561186b57600080fd5b611877858386016116fb565b60e08401526101009150818401358181111561189257600080fd5b61189e86828701611662565b8385015250505092915050565b6001600160801b03198116811461162857600080fd5b8035611636816118ab565b600080600080608085870312156118e257600080fd5b84356001600160401b03808211156118f957600080fd5b611905888389016117bd565b9550602091508187013561191881611613565b945060408701358181111561192c57600080fd5b8701601f8101891361193d57600080fd5b803561194b611681826116d8565b81815260059190911b8201840190848101908b83111561196a57600080fd5b928501925b82841015611991578335611982816118ab565b8252928501929085019061196f565b965050505060608701359150808211156119aa57600080fd5b506119b787828801611662565b91505092959194509250565b600081518084526020808501945080840160005b838110156119fc5781516001600160a01b0316875295820195908201906001016119d7565b509495945050505050565b60005b83811015611a22578181015183820152602001611a0a565b50506000910152565b60008151808452611a43816020860160208601611a07565b601f01601f19169290920160200192915050565b6040815260006001600160801b0319808551166040840152806020860151166060840152506001600160401b036040850151166080830152606084015160c060a0840152611aa96101008401826119c3565b90506080850151603f19808584030160c0860152611ac783836119c3565b925060a08701519150808584030160e086015250611ae58282611a2b565b91505082810360208401526113e68185611a2b565b60008060408385031215611b0d57600080fd5b82356001600160401b03811115611b2357600080fd5b611b2f858286016117bd565b9250506020830135611b4081611613565b809150509250929050565b602081526000611b5e6020830184611a2b565b9392505050565b60008060408385031215611b7857600080fd5b8235611b83816118ab565b915060208301356001600160401b03811115611b9e57600080fd5b611baa85828601611662565b9150509250929050565b600082601f830112611bc557600080fd5b81356020611bd5611681836116d8565b82815260059290921b84018101918181019086841115611bf457600080fd5b8286015b848110156117b2578035611c0b816116b8565b8352918301918301611bf8565b60008060408385031215611c2b57600080fd5b82356001600160401b0380821115611c4257600080fd5b9084019060c08287031215611c5657600080fd5b611c5e6115c1565b611c67836118c1565b8152611c75602084016118c1565b6020820152611c866040840161162b565b6040820152606083013582811115611c9d57600080fd5b611ca988828601611bb4565b606083015250608083013582811115611cc157600080fd5b611ccd88828601611bb4565b60808301525060a083013582811115611ce557600080fd5b611cf188828601611662565b60a08301525093506020850135915080821115611d0d57600080fd5b50611baa85828601611662565b600060208284031215611d2c57600080fd5b81356001600160401b03811115611d4257600080fd5b820160c08185031215611b5e57600080fd5b60008060408385031215611d6757600080fd5b8235611d72816118ab565b91506020830135611b40816118ab565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156119fc5781516001600160801b03191687529582019590820190600101611dac565b602081526000611b5e6020830184611d98565b6001600160a01b03919091168152604060208201819052600790820152666e6f206269647360c81b606082015260800190565b805161163681611613565b600060208284031215611e3557600080fd5b8151611b5e81611613565b634e487b7160e01b600052601160045260246000fd5b600060018201611e6857611e68611e40565b5060010190565b818103818111156106cd576106cd611e40565b808201808211156106cd576106cd611e40565b600081518084526020808501945080840160005b838110156119fc57815180516001600160401b039081168952848201518116858a01526040808301516001600160a01b0316908a0152606091820151169088015260809096019590820190600101611ea9565b80516001600160401b0316825260006101206020830151816020860152611f2582860182611a2b565b915050604083015160408501526060830151611f4c60608601826001600160401b03169052565b506080830151611f6760808601826001600160a01b03169052565b5060a0830151611f8260a08601826001600160401b03169052565b5060c083015160c085015260e083015184820360e0860152611fa48282611e95565b9150506101008084015185830382870152611fbf8382611a2b565b9695505050505050565b608081526000611fdc6080830187611efc565b6001600160401b03861660208401528281036040840152611ffd8186611d98565b9050828103606084015261111a8185611a2b565b8051611636816118ab565b600082601f83011261202d57600080fd5b8151602061203d611681836116d8565b82815260059290921b8401810191818101908684111561205c57600080fd5b8286015b848110156117b2578051612073816116b8565b8352918301918301612060565b600082601f83011261209157600080fd5b815161209f6116818261163b565b8181528460208386010111156120b457600080fd5b610886826020830160208701611a07565b600060c082840312156120d757600080fd5b6120df6115c1565b90506120ea82612011565b81526120f860208301612011565b602082015261210960408301611e18565b604082015260608201516001600160401b038082111561212857600080fd5b6121348583860161201c565b6060840152608084015191508082111561214d57600080fd5b6121598583860161201c565b608084015260a084015191508082111561217257600080fd5b5061217f84828501612080565b60a08301525092915050565b6000806040838503121561219e57600080fd5b82516001600160401b03808211156121b557600080fd5b6121c1868387016120c5565b935060208501519150808211156121d757600080fd5b50611baa85828601612080565b6001600160801b0319831681526040602082015260006108866040830184611a2b565b6001600160801b0319841681526001600160401b03831660208201526060604082015260006113e660608301846119c3565b6001600160e01b031983168152815160009061225c816004850160208701611a07565b919091016004019392505050565b60006020828403121561227c57600080fd5b81516001600160401b0381111561229257600080fd5b61088684828501612080565b6000602082840312156122b057600080fd5b8135611b5e816118ab565b6000602082840312156122cd57600080fd5b8135611b5e81611613565b6000808335601e198436030181126122ef57600080fd5b8301803591506001600160401b0382111561230957600080fd5b6020019150600581901b360382131561095b57600080fd5b6000606082016001600160801b03198716835260206001600160401b03871681850152606060408501528185835260808501905086925060005b8681101561238957833561236e816116b8565b6001600160a01b03168252928201929082019060010161235b565b5098975050505050505050565b600060208083850312156123a957600080fd5b82516001600160401b038111156123bf57600080fd5b8301601f810185136123d057600080fd5b80516123de611681826116d8565b81815260059190911b820183019083810190878311156123fd57600080fd5b928401925b8284101561111a578351612415816118ab565b82529284019290840190612402565b6001600160401b038516815260806020820152600061244660808301866119c3565b8281036040840152611ffd81866119c3565b6000825161246a818460208701611a07565b9190910192915050565b6001600160a01b038316815260406020820181905260009061088690830184611a2b565b6000602082840312156124aa57600080fd5b81516001600160401b038111156124c057600080fd5b610886848285016120c5565b6001600160801b0319841681526060602082015260006124ef6060830185611a2b565b8281036040840152611fbf8185611a2b565b6060815260006125146060830186611efc565b6001600160801b0319851660208401528281036040840152611fbf8185611a2b565b6000806040838503121561254957600080fd5b82516001600160401b038082111561256057600080fd5b6121c186838701612080565b6001600160401b03831681526040602082015260006108866040830184611a2b565b600060208083850312156125a157600080fd5b82516001600160401b03808211156125b857600080fd5b818501915085601f8301126125cc57600080fd5b81516125da611681826116d8565b81815260059190911b830184019084810190888311156125f957600080fd5b8585015b83811015612389578051858111156126155760008081fd5b6126238b89838a01016120c5565b8452509186019186016125fd56fea164736f6c6343000813000a" - }, - "bytecode": { - "object": "0x608060405234801561001057600080fd5b5061263e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806392f07a581161006657806392f07a5814610108578063b33e471514610110578063c0b9d28714610123578063d503387a14610138578063e829cd5d1461014b57600080fd5b8063232ef1f414610098578063346ab175146100c2578063464b0c3a146100e25780637df1cde2146100f5575b600080fd5b6100ab6100a63660046118cc565b61016e565b6040516100b9929190611a57565b60405180910390f35b6100d56100d0366004611afa565b610304565b6040516100b99190611b4b565b6100d56100f03660046118cc565b6106d3565b6100d5610103366004611b65565b610836565b6100d561088e565b6100ab61011e366004611c18565b6108c7565b610136610131366004611d1a565b610962565b005b6100d5610146366004611afa565b6109c8565b61015e610159366004611d54565b610f8d565b60405190151581526020016100b9565b61017661152c565b6040805160028082526060808301845292600092919060208301908036833701905050905030816000815181106101af576101af611d82565b60200260200101906001600160a01b031690816001600160a01b0316815250506342100001816001815181106101e7576101e7611d82565b60200260200101906001600160a01b031690816001600160a01b03168152505060006102428783846040518060400160405280601581526020017464656661756c743a76303a6d65726765644269647360581b815250611051565b905061029f81600001516040518060400160405280601581526020017464656661756c743a76303a6d65726765644269647360581b8152508860405160200161028b9190611dd2565b604051602081830303815290604052611125565b6000806102b18a8460000151896111d7565b915091506102f5836000015160405180604001604052806019815260200178191959985d5b1d0e9d8c0e989d5a5b19195c94185e5b1bd859603a1b81525083611125565b50909890975095505050505050565b606061030e6112a7565b61031757600080fd5b6000610350836040518060400160405280601581526020017464656661756c743a76303a65746842756e646c657360581b815250611327565b9050805160000361037f57306040516375fff46760e01b81526004016103769190611de5565b60405180910390fd5b600081516001600160401b0381111561039a5761039a611560565b6040519080825280602002602001820160405280156103df57816020015b60408051808201909152600080825260208201528152602001906001900390816103b85790505b50905060005b82518110156104dd57600061044c84838151811061040557610405611d82565b6020026020010151600001516040518060400160405280601e81526020017f64656661756c743a76303a65746842756e646c6553696d526573756c747300008152506113ef565b90506000818060200190518101906104649190611e23565b90506040518060400160405280826001600160401b0316815260200186858151811061049257610492611d82565b6020026020010151600001516001600160801b0319168152508484815181106104bd576104bd611d82565b6020026020010181905250505080806104d590611e56565b9150506103e5565b50805160005b6104ee600183611e6f565b8110156105fb576000610502826001611e82565b90505b828110156105e85783818151811061051f5761051f611d82565b6020026020010151600001516001600160401b031684838151811061054657610546611d82565b6020026020010151600001516001600160401b031610156105d657600084838151811061057557610575611d82565b6020026020010151905084828151811061059157610591611d82565b60200260200101518584815181106105ab576105ab611d82565b6020026020010181905250808583815181106105c9576105c9611d82565b6020026020010181905250505b806105e081611e56565b915050610505565b50806105f381611e56565b9150506104e3565b50600083516001600160401b0381111561061757610617611560565b604051908082528060200260200182016040528015610640578160200160208202803683370190505b50905060005b83518110156106aa5783818151811061066157610661611d82565b60200260200101516020015182828151811061067f5761067f611d82565b6001600160801b031990921660209283029190910190910152806106a281611e56565b915050610646565b506106c6878783604051806020016040528060008152506106d3565b9450505050505b92915050565b60606106dd6112a7565b6106e657600080fd5b6040516308cbbc7d60e21b81526000908190309063232ef1f490610714908a908a908a908a90600401611fc9565b600060405180830381865afa158015610731573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610759919081019061218b565b915091507f67fa9c16cd72410c4cc1d47205b31852a81ec5e92d1c8cebc3ecbe98ed67fe3f8260000151826040516107929291906121e4565b60405180910390a17f83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504e8260000151836040015184606001516040516107d993929190612207565b60405180910390a160405163b33e471560e01b906107fd9084908490602001611a57565b60408051601f198184030181529082905261081b9291602001612239565b60405160208183030381529060405292505050949350505050565b60606108406112a7565b61084957600080fd5b60006108868460405180604001604052806019815260200178191959985d5b1d0e9d8c0e989d5a5b19195c94185e5b1bd859603a1b8152506113ef565b949350505050565b60606108986112a7565b6108a157600080fd5b60006108ab61149a565b9050808060200190518101906108c1919061226a565b91505090565b6108cf61152c565b60607f67fa9c16cd72410c4cc1d47205b31852a81ec5e92d1c8cebc3ecbe98ed67fe3f8460000151846040516109069291906121e4565b60405180910390a17f83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504e84600001518560400151866060015160405161094d93929190612207565b60405180910390a150829050815b9250929050565b7f83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504e610990602083018361229e565b6109a060608401604085016122bb565b6109ad60608501856122d8565b6040516109bd9493929190612321565b60405180910390a150565b60606109d26112a7565b6109db57600080fd5b6000610a1483604051806040016040528060158152602001746d657673686172653a76303a6d617463684269647360581b815250611327565b90506000610a57846040518060400160405280601c81526020017f6d657673686172653a76303a756e6d61746368656442756e646c657300000000815250611327565b90508051600003610a7d57306040516375fff46760e01b81526004016103769190611de5565b600081516001600160401b03811115610a9857610a98611560565b604051908082528060200260200182016040528015610ad157816020015b610abe61152c565b815260200190600190039081610ab65790505b50905060005b8251811015610c24576000838281518110610af457610af4611d82565b6020026020010151905060005b8551811015610bf1576000610b61878381518110610b2157610b21611d82565b602002602001015160000151604051806040016040528060168152602001756d657673686172653a76303a6d65726765644269647360501b8152506113ef565b806020019051810190610b749190612396565b9050610bb781600081518110610b8c57610b8c611d82565b6020026020010151878681518110610ba657610ba6611d82565b602002602001015160000151610f8d565b15610bde57868281518110610bce57610bce611d82565b6020026020010151925050610bf1565b5080610be981611e56565b915050610b01565b5080838381518110610c0557610c05611d82565b6020026020010181905250508080610c1c90611e56565b915050610ad7565b50600081516001600160401b03811115610c4057610c40611560565b604051908082528060200260200182016040528015610c8557816020015b6040805180820190915260008082526020820152815260200190600190039081610c5e5790505b50905060005b8251811015610d83576000610cf2848381518110610cab57610cab611d82565b6020026020010151600001516040518060400160405280601f81526020017f6d657673686172653a76303a65746842756e646c6553696d526573756c7473008152506113ef565b9050600081806020019051810190610d0a9190611e23565b90506040518060400160405280826001600160401b03168152602001868581518110610d3857610d38611d82565b6020026020010151600001516001600160801b031916815250848481518110610d6357610d63611d82565b602002602001018190525050508080610d7b90611e56565b915050610c8b565b50805160005b610d94600183611e6f565b811015610ea1576000610da8826001611e82565b90505b82811015610e8e57838181518110610dc557610dc5611d82565b6020026020010151600001516001600160401b0316848381518110610dec57610dec611d82565b6020026020010151600001516001600160401b03161015610e7c576000848381518110610e1b57610e1b611d82565b60200260200101519050848281518110610e3757610e37611d82565b6020026020010151858481518110610e5157610e51611d82565b602002602001018190525080858381518110610e6f57610e6f611d82565b6020026020010181905250505b80610e8681611e56565b915050610dab565b5080610e9981611e56565b915050610d89565b50600083516001600160401b03811115610ebd57610ebd611560565b604051908082528060200260200182016040528015610ee6578160200160208202803683370190505b50905060005b8351811015610f5057838181518110610f0757610f07611d82565b602002602001015160200151828281518110610f2557610f25611d82565b6001600160801b03199092166020928302919091019091015280610f4881611e56565b915050610eec565b50610f808989836040518060400160405280600b81526020016a06d657673686172653a76360ac1b8152506106d3565b9998505050505050505050565b604080516001600160801b03198481166020830152825160108184030181526030830184529084166050830152825180830384018152606090920190925260009190825b825181101561104557818181518110610fec57610fec611d82565b602001015160f81c60f81b6001600160f81b03191683828151811061101357611013611d82565b01602001516001600160f81b0319161461103357600093505050506106cd565b8061103d81611e56565b915050610fd1565b50600195945050505050565b61105961152c565b60008063420300006001600160a01b0316878787876040516020016110819493929190612424565b60408051601f198184030181529082905261109b91612458565b600060405180830381855afa9150503d80600081146110d6576040519150601f19603f3d011682016040523d82523d6000602084013e6110db565b606091505b509150915081611106576342030000816040516375fff46760e01b8152600401610376929190612474565b8080602001905181019061111a9190612498565b979650505050505050565b60008063420200006001600160a01b031685858560405160200161114b939291906124cc565b60408051601f198184030181529082905261116591612458565b600060405180830381855afa9150503d80600081146111a0576040519150601f19603f3d011682016040523d82523d6000602084013e6111a5565b606091505b5091509150816111d0576342020000816040516375fff46760e01b8152600401610376929190612474565b5050505050565b60608060008063421000016001600160a01b031687878760405160200161120093929190612501565b60408051601f198184030181529082905261121a91612458565b600060405180830381855afa9150503d8060008114611255576040519150601f19603f3d011682016040523d82523d6000602084013e61125a565b606091505b509150915081611285576342100001816040516375fff46760e01b8152600401610376929190612474565b808060200190518101906112999190612536565b935093505050935093915050565b6040516000908190819063420100009082818181855afa9150503d80600081146112ed576040519150601f19603f3d011682016040523d82523d6000602084013e6112f2565b606091505b50915091508161131d576342010000816040516375fff46760e01b8152600401610376929190612474565b6020015192915050565b606060008063420300016001600160a01b0316858560405160200161134d92919061256c565b60408051601f198184030181529082905261136791612458565b600060405180830381855afa9150503d80600081146113a2576040519150601f19603f3d011682016040523d82523d6000602084013e6113a7565b606091505b5091509150816113d2576342030001816040516375fff46760e01b8152600401610376929190612474565b808060200190518101906113e6919061258e565b95945050505050565b606060008063420200016001600160a01b031685856040516020016114159291906121e4565b60408051601f198184030181529082905261142f91612458565b600060405180830381855afa9150503d806000811461146a576040519150601f19603f3d011682016040523d82523d6000602084013e61146f565b606091505b509150915081610886576342020001816040516375fff46760e01b8152600401610376929190612474565b6040805160008082526020820192839052606092909182916342010001916114c191612458565b600060405180830381855afa9150503d80600081146114fc576040519150601f19603f3d011682016040523d82523d6000602084013e611501565b606091505b5091509150816106cd576342010001816040516375fff46760e01b8152600401610376929190612474565b6040805160c0810182526000808252602082018190529181019190915260608082018190526080820181905260a082015290565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561159857611598611560565b60405290565b60405161012081016001600160401b038111828210171561159857611598611560565b60405160c081016001600160401b038111828210171561159857611598611560565b604051601f8201601f191681016001600160401b038111828210171561160b5761160b611560565b604052919050565b6001600160401b038116811461162857600080fd5b50565b803561163681611613565b919050565b60006001600160401b0382111561165457611654611560565b50601f01601f191660200190565b600082601f83011261167357600080fd5b81356116866116818261163b565b6115e3565b81815284602083860101111561169b57600080fd5b816020850160208301376000918101602001919091529392505050565b6001600160a01b038116811461162857600080fd5b8035611636816116b8565b60006001600160401b038211156116f1576116f1611560565b5060051b60200190565b600082601f83011261170c57600080fd5b8135602061171c611681836116d8565b82815260079290921b8401810191818101908684111561173b57600080fd5b8286015b848110156117b257608081890312156117585760008081fd5b611760611576565b813561176b81611613565b81528185013561177a81611613565b8186015260408281013561178d816116b8565b908201526060828101356117a081611613565b9082015283529183019160800161173f565b509695505050505050565b600061012082840312156117d057600080fd5b6117d861159e565b90506117e38261162b565b815260208201356001600160401b03808211156117ff57600080fd5b61180b85838601611662565b6020840152604084013560408401526118266060850161162b565b6060840152611837608085016116cd565b608084015261184860a0850161162b565b60a084015260c084013560c084015260e084013591508082111561186b57600080fd5b611877858386016116fb565b60e08401526101009150818401358181111561189257600080fd5b61189e86828701611662565b8385015250505092915050565b6001600160801b03198116811461162857600080fd5b8035611636816118ab565b600080600080608085870312156118e257600080fd5b84356001600160401b03808211156118f957600080fd5b611905888389016117bd565b9550602091508187013561191881611613565b945060408701358181111561192c57600080fd5b8701601f8101891361193d57600080fd5b803561194b611681826116d8565b81815260059190911b8201840190848101908b83111561196a57600080fd5b928501925b82841015611991578335611982816118ab565b8252928501929085019061196f565b965050505060608701359150808211156119aa57600080fd5b506119b787828801611662565b91505092959194509250565b600081518084526020808501945080840160005b838110156119fc5781516001600160a01b0316875295820195908201906001016119d7565b509495945050505050565b60005b83811015611a22578181015183820152602001611a0a565b50506000910152565b60008151808452611a43816020860160208601611a07565b601f01601f19169290920160200192915050565b6040815260006001600160801b0319808551166040840152806020860151166060840152506001600160401b036040850151166080830152606084015160c060a0840152611aa96101008401826119c3565b90506080850151603f19808584030160c0860152611ac783836119c3565b925060a08701519150808584030160e086015250611ae58282611a2b565b91505082810360208401526113e68185611a2b565b60008060408385031215611b0d57600080fd5b82356001600160401b03811115611b2357600080fd5b611b2f858286016117bd565b9250506020830135611b4081611613565b809150509250929050565b602081526000611b5e6020830184611a2b565b9392505050565b60008060408385031215611b7857600080fd5b8235611b83816118ab565b915060208301356001600160401b03811115611b9e57600080fd5b611baa85828601611662565b9150509250929050565b600082601f830112611bc557600080fd5b81356020611bd5611681836116d8565b82815260059290921b84018101918181019086841115611bf457600080fd5b8286015b848110156117b2578035611c0b816116b8565b8352918301918301611bf8565b60008060408385031215611c2b57600080fd5b82356001600160401b0380821115611c4257600080fd5b9084019060c08287031215611c5657600080fd5b611c5e6115c1565b611c67836118c1565b8152611c75602084016118c1565b6020820152611c866040840161162b565b6040820152606083013582811115611c9d57600080fd5b611ca988828601611bb4565b606083015250608083013582811115611cc157600080fd5b611ccd88828601611bb4565b60808301525060a083013582811115611ce557600080fd5b611cf188828601611662565b60a08301525093506020850135915080821115611d0d57600080fd5b50611baa85828601611662565b600060208284031215611d2c57600080fd5b81356001600160401b03811115611d4257600080fd5b820160c08185031215611b5e57600080fd5b60008060408385031215611d6757600080fd5b8235611d72816118ab565b91506020830135611b40816118ab565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156119fc5781516001600160801b03191687529582019590820190600101611dac565b602081526000611b5e6020830184611d98565b6001600160a01b03919091168152604060208201819052600790820152666e6f206269647360c81b606082015260800190565b805161163681611613565b600060208284031215611e3557600080fd5b8151611b5e81611613565b634e487b7160e01b600052601160045260246000fd5b600060018201611e6857611e68611e40565b5060010190565b818103818111156106cd576106cd611e40565b808201808211156106cd576106cd611e40565b600081518084526020808501945080840160005b838110156119fc57815180516001600160401b039081168952848201518116858a01526040808301516001600160a01b0316908a0152606091820151169088015260809096019590820190600101611ea9565b80516001600160401b0316825260006101206020830151816020860152611f2582860182611a2b565b915050604083015160408501526060830151611f4c60608601826001600160401b03169052565b506080830151611f6760808601826001600160a01b03169052565b5060a0830151611f8260a08601826001600160401b03169052565b5060c083015160c085015260e083015184820360e0860152611fa48282611e95565b9150506101008084015185830382870152611fbf8382611a2b565b9695505050505050565b608081526000611fdc6080830187611efc565b6001600160401b03861660208401528281036040840152611ffd8186611d98565b9050828103606084015261111a8185611a2b565b8051611636816118ab565b600082601f83011261202d57600080fd5b8151602061203d611681836116d8565b82815260059290921b8401810191818101908684111561205c57600080fd5b8286015b848110156117b2578051612073816116b8565b8352918301918301612060565b600082601f83011261209157600080fd5b815161209f6116818261163b565b8181528460208386010111156120b457600080fd5b610886826020830160208701611a07565b600060c082840312156120d757600080fd5b6120df6115c1565b90506120ea82612011565b81526120f860208301612011565b602082015261210960408301611e18565b604082015260608201516001600160401b038082111561212857600080fd5b6121348583860161201c565b6060840152608084015191508082111561214d57600080fd5b6121598583860161201c565b608084015260a084015191508082111561217257600080fd5b5061217f84828501612080565b60a08301525092915050565b6000806040838503121561219e57600080fd5b82516001600160401b03808211156121b557600080fd5b6121c1868387016120c5565b935060208501519150808211156121d757600080fd5b50611baa85828601612080565b6001600160801b0319831681526040602082015260006108866040830184611a2b565b6001600160801b0319841681526001600160401b03831660208201526060604082015260006113e660608301846119c3565b6001600160e01b031983168152815160009061225c816004850160208701611a07565b919091016004019392505050565b60006020828403121561227c57600080fd5b81516001600160401b0381111561229257600080fd5b61088684828501612080565b6000602082840312156122b057600080fd5b8135611b5e816118ab565b6000602082840312156122cd57600080fd5b8135611b5e81611613565b6000808335601e198436030181126122ef57600080fd5b8301803591506001600160401b0382111561230957600080fd5b6020019150600581901b360382131561095b57600080fd5b6000606082016001600160801b03198716835260206001600160401b03871681850152606060408501528185835260808501905086925060005b8681101561238957833561236e816116b8565b6001600160a01b03168252928201929082019060010161235b565b5098975050505050505050565b600060208083850312156123a957600080fd5b82516001600160401b038111156123bf57600080fd5b8301601f810185136123d057600080fd5b80516123de611681826116d8565b81815260059190911b820183019083810190878311156123fd57600080fd5b928401925b8284101561111a578351612415816118ab565b82529284019290840190612402565b6001600160401b038516815260806020820152600061244660808301866119c3565b8281036040840152611ffd81866119c3565b6000825161246a818460208701611a07565b9190910192915050565b6001600160a01b038316815260406020820181905260009061088690830184611a2b565b6000602082840312156124aa57600080fd5b81516001600160401b038111156124c057600080fd5b610886848285016120c5565b6001600160801b0319841681526060602082015260006124ef6060830185611a2b565b8281036040840152611fbf8185611a2b565b6060815260006125146060830186611efc565b6001600160801b0319851660208401528281036040840152611fbf8185611a2b565b6000806040838503121561254957600080fd5b82516001600160401b038082111561256057600080fd5b6121c186838701612080565b6001600160401b03831681526040602082015260006108866040830184611a2b565b600060208083850312156125a157600080fd5b82516001600160401b03808211156125b857600080fd5b818501915085601f8301126125cc57600080fd5b81516125da611681826116d8565b81815260059190911b830184019084810190888311156125f957600080fd5b8585015b83811015612389578051858111156126155760008081fd5b6126238b89838a01016120c5565b8452509186019186016125fd56fea164736f6c6343000813000a" - } -} diff --git a/suave/artifacts/bids.sol/EthBlockBidSenderContract.json b/suave/artifacts/bids.sol/EthBlockBidSenderContract.json deleted file mode 100644 index 1115e25686..0000000000 --- a/suave/artifacts/bids.sol/EthBlockBidSenderContract.json +++ /dev/null @@ -1,709 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "boostRelayUrl_", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "PeekerReverted", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "Suave.BidId", - "name": "bidId", - "type": "bytes16" - }, - { - "indexed": false, - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - } - ], - "name": "BidEvent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "Suave.BidId", - "name": "bidId", - "type": "bytes16" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "builderBid", - "type": "bytes" - } - ], - "name": "BuilderBoostBidEvent", - "type": "event" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint64", - "name": "slot", - "type": "uint64" - }, - { - "internalType": "bytes", - "name": "proposerPubkey", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "parent", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "timestamp", - "type": "uint64" - }, - { - "internalType": "address", - "name": "feeRecipient", - "type": "address" - }, - { - "internalType": "uint64", - "name": "gasLimit", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "random", - "type": "bytes32" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "index", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "validator", - "type": "uint64" - }, - { - "internalType": "address", - "name": "Address", - "type": "address" - }, - { - "internalType": "uint64", - "name": "amount", - "type": "uint64" - } - ], - "internalType": "struct Suave.Withdrawal[]", - "name": "withdrawals", - "type": "tuple[]" - }, - { - "internalType": "bytes", - "name": "extra", - "type": "bytes" - } - ], - "internalType": "struct Suave.BuildBlockArgs", - "name": "blockArgs", - "type": "tuple" - }, - { - "internalType": "uint64", - "name": "blockHeight", - "type": "uint64" - }, - { - "internalType": "Suave.BidId[]", - "name": "bids", - "type": "bytes16[]" - }, - { - "internalType": "string", - "name": "namespace", - "type": "string" - } - ], - "name": "buildAndEmit", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint64", - "name": "slot", - "type": "uint64" - }, - { - "internalType": "bytes", - "name": "proposerPubkey", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "parent", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "timestamp", - "type": "uint64" - }, - { - "internalType": "address", - "name": "feeRecipient", - "type": "address" - }, - { - "internalType": "uint64", - "name": "gasLimit", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "random", - "type": "bytes32" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "index", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "validator", - "type": "uint64" - }, - { - "internalType": "address", - "name": "Address", - "type": "address" - }, - { - "internalType": "uint64", - "name": "amount", - "type": "uint64" - } - ], - "internalType": "struct Suave.Withdrawal[]", - "name": "withdrawals", - "type": "tuple[]" - }, - { - "internalType": "bytes", - "name": "extra", - "type": "bytes" - } - ], - "internalType": "struct Suave.BuildBlockArgs", - "name": "blockArgs", - "type": "tuple" - }, - { - "internalType": "uint64", - "name": "blockHeight", - "type": "uint64" - } - ], - "name": "buildFromPool", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint64", - "name": "slot", - "type": "uint64" - }, - { - "internalType": "bytes", - "name": "proposerPubkey", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "parent", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "timestamp", - "type": "uint64" - }, - { - "internalType": "address", - "name": "feeRecipient", - "type": "address" - }, - { - "internalType": "uint64", - "name": "gasLimit", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "random", - "type": "bytes32" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "index", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "validator", - "type": "uint64" - }, - { - "internalType": "address", - "name": "Address", - "type": "address" - }, - { - "internalType": "uint64", - "name": "amount", - "type": "uint64" - } - ], - "internalType": "struct Suave.Withdrawal[]", - "name": "withdrawals", - "type": "tuple[]" - }, - { - "internalType": "bytes", - "name": "extra", - "type": "bytes" - } - ], - "internalType": "struct Suave.BuildBlockArgs", - "name": "blockArgs", - "type": "tuple" - }, - { - "internalType": "uint64", - "name": "blockHeight", - "type": "uint64" - } - ], - "name": "buildMevShare", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint64", - "name": "slot", - "type": "uint64" - }, - { - "internalType": "bytes", - "name": "proposerPubkey", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "parent", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "timestamp", - "type": "uint64" - }, - { - "internalType": "address", - "name": "feeRecipient", - "type": "address" - }, - { - "internalType": "uint64", - "name": "gasLimit", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "random", - "type": "bytes32" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "index", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "validator", - "type": "uint64" - }, - { - "internalType": "address", - "name": "Address", - "type": "address" - }, - { - "internalType": "uint64", - "name": "amount", - "type": "uint64" - } - ], - "internalType": "struct Suave.Withdrawal[]", - "name": "withdrawals", - "type": "tuple[]" - }, - { - "internalType": "bytes", - "name": "extra", - "type": "bytes" - } - ], - "internalType": "struct Suave.BuildBlockArgs", - "name": "blockArgs", - "type": "tuple" - }, - { - "internalType": "uint64", - "name": "blockHeight", - "type": "uint64" - }, - { - "internalType": "Suave.BidId[]", - "name": "bids", - "type": "bytes16[]" - }, - { - "internalType": "string", - "name": "namespace", - "type": "string" - } - ], - "name": "doBuild", - "outputs": [ - { - "components": [ - { - "internalType": "Suave.BidId", - "name": "id", - "type": "bytes16" - }, - { - "internalType": "Suave.BidId", - "name": "salt", - "type": "bytes16" - }, - { - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "allowedStores", - "type": "address[]" - }, - { - "internalType": "string", - "name": "version", - "type": "string" - } - ], - "internalType": "struct Suave.Bid", - "name": "", - "type": "tuple" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "Suave.BidId", - "name": "id", - "type": "bytes16" - }, - { - "internalType": "Suave.BidId", - "name": "salt", - "type": "bytes16" - }, - { - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "allowedStores", - "type": "address[]" - }, - { - "internalType": "string", - "name": "version", - "type": "string" - } - ], - "internalType": "struct Suave.Bid", - "name": "bid", - "type": "tuple" - } - ], - "name": "emitBid", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "Suave.BidId", - "name": "id", - "type": "bytes16" - }, - { - "internalType": "Suave.BidId", - "name": "salt", - "type": "bytes16" - }, - { - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "allowedStores", - "type": "address[]" - }, - { - "internalType": "string", - "name": "version", - "type": "string" - } - ], - "internalType": "struct Suave.Bid", - "name": "bid", - "type": "tuple" - }, - { - "internalType": "bytes", - "name": "builderBid", - "type": "bytes" - } - ], - "name": "emitBuilderBidAndBid", - "outputs": [ - { - "components": [ - { - "internalType": "Suave.BidId", - "name": "id", - "type": "bytes16" - }, - { - "internalType": "Suave.BidId", - "name": "salt", - "type": "bytes16" - }, - { - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "allowedStores", - "type": "address[]" - }, - { - "internalType": "string", - "name": "version", - "type": "string" - } - ], - "internalType": "struct Suave.Bid", - "name": "", - "type": "tuple" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "fetchBidConfidentialBundleData", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "Suave.BidId", - "name": "_l", - "type": "bytes16" - }, - { - "internalType": "Suave.BidId", - "name": "_r", - "type": "bytes16" - } - ], - "name": "idsEqual", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "Suave.BidId", - "name": "bidId", - "type": "bytes16" - }, - { - "internalType": "bytes", - "name": "signedBlindedHeader", - "type": "bytes" - } - ], - "name": "unlock", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806392f07a581161006657806392f07a5814610108578063b33e471514610110578063c0b9d28714610123578063d503387a14610138578063e829cd5d1461014b57600080fd5b8063232ef1f414610098578063346ab175146100c2578063464b0c3a146100e25780637df1cde2146100f5575b600080fd5b6100ab6100a63660046119de565b61016e565b6040516100b9929190611be6565b60405180910390f35b6100d56100d0366004611c0b565b610304565b6040516100b99190611c5c565b6100d56100f03660046119de565b6106d3565b6100d5610103366004611c76565b61088c565b6100d56108e4565b6100ab61011e366004611d29565b61091d565b610136610131366004611e2b565b6109b8565b005b6100d5610146366004611c0b565b610a1e565b61015e610159366004611e65565b610fe3565b60405190151581526020016100b9565b61017661163e565b6040805160028082526060808301845292600092919060208301908036833701905050905030816000815181106101af576101af611e93565b60200260200101906001600160a01b031690816001600160a01b0316815250506342100001816001815181106101e7576101e7611e93565b60200260200101906001600160a01b031690816001600160a01b03168152505060006102428783846040518060400160405280601581526020017464656661756c743a76303a6d65726765644269647360581b8152506110a7565b905061029f81600001516040518060400160405280601581526020017464656661756c743a76303a6d65726765644269647360581b8152508860405160200161028b9190611ee3565b60405160208183030381529060405261117b565b6000806102b18a84600001518961122d565b915091506102f5836000015160405180604001604052806019815260200178191959985d5b1d0e9d8c0e989d5a5b19195c94185e5b1bd859603a1b8152508361117b565b50909890975095505050505050565b606061030e6112fd565b61031757600080fd5b6000610350836040518060400160405280601581526020017464656661756c743a76303a65746842756e646c657360581b81525061137d565b9050805160000361037f57306040516375fff46760e01b81526004016103769190611ef6565b60405180910390fd5b600081516001600160401b0381111561039a5761039a611672565b6040519080825280602002602001820160405280156103df57816020015b60408051808201909152600080825260208201528152602001906001900390816103b85790505b50905060005b82518110156104dd57600061044c84838151811061040557610405611e93565b6020026020010151600001516040518060400160405280601e81526020017f64656661756c743a76303a65746842756e646c6553696d526573756c74730000815250611445565b90506000818060200190518101906104649190611f34565b90506040518060400160405280826001600160401b0316815260200186858151811061049257610492611e93565b6020026020010151600001516001600160801b0319168152508484815181106104bd576104bd611e93565b6020026020010181905250505080806104d590611f67565b9150506103e5565b50805160005b6104ee600183611f80565b8110156105fb576000610502826001611f93565b90505b828110156105e85783818151811061051f5761051f611e93565b6020026020010151600001516001600160401b031684838151811061054657610546611e93565b6020026020010151600001516001600160401b031610156105d657600084838151811061057557610575611e93565b6020026020010151905084828151811061059157610591611e93565b60200260200101518584815181106105ab576105ab611e93565b6020026020010181905250808583815181106105c9576105c9611e93565b6020026020010181905250505b806105e081611f67565b915050610505565b50806105f381611f67565b9150506104e3565b50600083516001600160401b0381111561061757610617611672565b604051908082528060200260200182016040528015610640578160200160208202803683370190505b50905060005b83518110156106aa5783818151811061066157610661611e93565b60200260200101516020015182828151811061067f5761067f611e93565b6001600160801b031990921660209283029190910190910152806106a281611f67565b915050610646565b506106c6878783604051806020016040528060008152506106d3565b9450505050505b92915050565b60606106dd6112fd565b6106e657600080fd5b6040516308cbbc7d60e21b81526000908190309063232ef1f490610714908a908a908a908a906004016120da565b600060405180830381865afa158015610731573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610759919081019061229c565b915091506107f16000805461076d906122f5565b80601f0160208091040260200160405190810160405280929190818152602001828054610799906122f5565b80156107e65780601f106107bb576101008083540402835291602001916107e6565b820191906000526020600020905b8154815290600101906020018083116107c957829003601f168201915b5050505050826114f0565b507f83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504e8260000151836040015184606001516040516108319392919061232f565b60405180910390a160405163c0b9d28760e01b90610853908490602001612361565b60408051601f19818403018152908290526108719291602001612374565b60405160208183030381529060405292505050949350505050565b60606108966112fd565b61089f57600080fd5b60006108dc8460405180604001604052806019815260200178191959985d5b1d0e9d8c0e989d5a5b19195c94185e5b1bd859603a1b815250611445565b949350505050565b60606108ee6112fd565b6108f757600080fd5b60006109016115ac565b90508080602001905181019061091791906123a5565b91505090565b61092561163e565b60607f67fa9c16cd72410c4cc1d47205b31852a81ec5e92d1c8cebc3ecbe98ed67fe3f84600001518460405161095c9291906123d9565b60405180910390a17f83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504e8460000151856040015186606001516040516109a39392919061232f565b60405180910390a150829050815b9250929050565b7f83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504e6109e660208301836123fc565b6109f66060840160408501612419565b610a036060850185612436565b604051610a13949392919061247f565b60405180910390a150565b6060610a286112fd565b610a3157600080fd5b6000610a6a83604051806040016040528060158152602001746d657673686172653a76303a6d617463684269647360581b81525061137d565b90506000610aad846040518060400160405280601c81526020017f6d657673686172653a76303a756e6d61746368656442756e646c65730000000081525061137d565b90508051600003610ad357306040516375fff46760e01b81526004016103769190611ef6565b600081516001600160401b03811115610aee57610aee611672565b604051908082528060200260200182016040528015610b2757816020015b610b1461163e565b815260200190600190039081610b0c5790505b50905060005b8251811015610c7a576000838281518110610b4a57610b4a611e93565b6020026020010151905060005b8551811015610c47576000610bb7878381518110610b7757610b77611e93565b602002602001015160000151604051806040016040528060168152602001756d657673686172653a76303a6d65726765644269647360501b815250611445565b806020019051810190610bca91906124f4565b9050610c0d81600081518110610be257610be2611e93565b6020026020010151878681518110610bfc57610bfc611e93565b602002602001015160000151610fe3565b15610c3457868281518110610c2457610c24611e93565b6020026020010151925050610c47565b5080610c3f81611f67565b915050610b57565b5080838381518110610c5b57610c5b611e93565b6020026020010181905250508080610c7290611f67565b915050610b2d565b50600081516001600160401b03811115610c9657610c96611672565b604051908082528060200260200182016040528015610cdb57816020015b6040805180820190915260008082526020820152815260200190600190039081610cb45790505b50905060005b8251811015610dd9576000610d48848381518110610d0157610d01611e93565b6020026020010151600001516040518060400160405280601f81526020017f6d657673686172653a76303a65746842756e646c6553696d526573756c747300815250611445565b9050600081806020019051810190610d609190611f34565b90506040518060400160405280826001600160401b03168152602001868581518110610d8e57610d8e611e93565b6020026020010151600001516001600160801b031916815250848481518110610db957610db9611e93565b602002602001018190525050508080610dd190611f67565b915050610ce1565b50805160005b610dea600183611f80565b811015610ef7576000610dfe826001611f93565b90505b82811015610ee457838181518110610e1b57610e1b611e93565b6020026020010151600001516001600160401b0316848381518110610e4257610e42611e93565b6020026020010151600001516001600160401b03161015610ed2576000848381518110610e7157610e71611e93565b60200260200101519050848281518110610e8d57610e8d611e93565b6020026020010151858481518110610ea757610ea7611e93565b602002602001018190525080858381518110610ec557610ec5611e93565b6020026020010181905250505b80610edc81611f67565b915050610e01565b5080610eef81611f67565b915050610ddf565b50600083516001600160401b03811115610f1357610f13611672565b604051908082528060200260200182016040528015610f3c578160200160208202803683370190505b50905060005b8351811015610fa657838181518110610f5d57610f5d611e93565b602002602001015160200151828281518110610f7b57610f7b611e93565b6001600160801b03199092166020928302919091019091015280610f9e81611f67565b915050610f42565b50610fd68989836040518060400160405280600b81526020016a06d657673686172653a76360ac1b8152506106d3565b9998505050505050505050565b604080516001600160801b03198481166020830152825160108184030181526030830184529084166050830152825180830384018152606090920190925260009190825b825181101561109b5781818151811061104257611042611e93565b602001015160f81c60f81b6001600160f81b03191683828151811061106957611069611e93565b01602001516001600160f81b0319161461108957600093505050506106cd565b8061109381611f67565b915050611027565b50600195945050505050565b6110af61163e565b60008063420300006001600160a01b0316878787876040516020016110d79493929190612582565b60408051601f19818403018152908290526110f1916125b6565b600060405180830381855afa9150503d806000811461112c576040519150601f19603f3d011682016040523d82523d6000602084013e611131565b606091505b50915091508161115c576342030000816040516375fff46760e01b81526004016103769291906125d2565b8080602001905181019061117091906125f6565b979650505050505050565b60008063420200006001600160a01b03168585856040516020016111a19392919061262a565b60408051601f19818403018152908290526111bb916125b6565b600060405180830381855afa9150503d80600081146111f6576040519150601f19603f3d011682016040523d82523d6000602084013e6111fb565b606091505b509150915081611226576342020000816040516375fff46760e01b81526004016103769291906125d2565b5050505050565b60608060008063421000016001600160a01b03168787876040516020016112569392919061265f565b60408051601f1981840301815290829052611270916125b6565b600060405180830381855afa9150503d80600081146112ab576040519150601f19603f3d011682016040523d82523d6000602084013e6112b0565b606091505b5091509150816112db576342100001816040516375fff46760e01b81526004016103769291906125d2565b808060200190518101906112ef9190612694565b935093505050935093915050565b6040516000908190819063420100009082818181855afa9150503d8060008114611343576040519150601f19603f3d011682016040523d82523d6000602084013e611348565b606091505b509150915081611373576342010000816040516375fff46760e01b81526004016103769291906125d2565b6020015192915050565b606060008063420300016001600160a01b031685856040516020016113a39291906126ca565b60408051601f19818403018152908290526113bd916125b6565b600060405180830381855afa9150503d80600081146113f8576040519150601f19603f3d011682016040523d82523d6000602084013e6113fd565b606091505b509150915081611428576342030001816040516375fff46760e01b81526004016103769291906125d2565b8080602001905181019061143c91906126ec565b95945050505050565b606060008063420200016001600160a01b0316858560405160200161146b9291906123d9565b60408051601f1981840301815290829052611485916125b6565b600060405180830381855afa9150503d80600081146114c0576040519150601f19603f3d011682016040523d82523d6000602084013e6114c5565b606091505b5091509150816108dc576342020001816040516375fff46760e01b81526004016103769291906125d2565b60606114fa6112fd565b61150357600080fd5b60008063421000026001600160a01b0316858560405160200161152792919061278f565b60408051601f1981840301815290829052611541916125b6565b600060405180830381855afa9150503d806000811461157c576040519150601f19603f3d011682016040523d82523d6000602084013e611581565b606091505b5091509150816108dc576342100002816040516375fff46760e01b81526004016103769291906125d2565b6040805160008082526020820192839052606092909182916342010001916115d3916125b6565b600060405180830381855afa9150503d806000811461160e576040519150601f19603f3d011682016040523d82523d6000602084013e611613565b606091505b5091509150816106cd576342010001816040516375fff46760e01b81526004016103769291906125d2565b6040805160c0810182526000808252602082018190529181019190915260608082018190526080820181905260a082015290565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156116aa576116aa611672565b60405290565b60405161012081016001600160401b03811182821017156116aa576116aa611672565b60405160c081016001600160401b03811182821017156116aa576116aa611672565b604051601f8201601f191681016001600160401b038111828210171561171d5761171d611672565b604052919050565b6001600160401b038116811461173a57600080fd5b50565b803561174881611725565b919050565b60006001600160401b0382111561176657611766611672565b50601f01601f191660200190565b600082601f83011261178557600080fd5b81356117986117938261174d565b6116f5565b8181528460208386010111156117ad57600080fd5b816020850160208301376000918101602001919091529392505050565b6001600160a01b038116811461173a57600080fd5b8035611748816117ca565b60006001600160401b0382111561180357611803611672565b5060051b60200190565b600082601f83011261181e57600080fd5b8135602061182e611793836117ea565b82815260079290921b8401810191818101908684111561184d57600080fd5b8286015b848110156118c4576080818903121561186a5760008081fd5b611872611688565b813561187d81611725565b81528185013561188c81611725565b8186015260408281013561189f816117ca565b908201526060828101356118b281611725565b90820152835291830191608001611851565b509695505050505050565b600061012082840312156118e257600080fd5b6118ea6116b0565b90506118f58261173d565b815260208201356001600160401b038082111561191157600080fd5b61191d85838601611774565b6020840152604084013560408401526119386060850161173d565b6060840152611949608085016117df565b608084015261195a60a0850161173d565b60a084015260c084013560c084015260e084013591508082111561197d57600080fd5b6119898583860161180d565b60e0840152610100915081840135818111156119a457600080fd5b6119b086828701611774565b8385015250505092915050565b6001600160801b03198116811461173a57600080fd5b8035611748816119bd565b600080600080608085870312156119f457600080fd5b84356001600160401b0380821115611a0b57600080fd5b611a17888389016118cf565b95506020915081870135611a2a81611725565b9450604087013581811115611a3e57600080fd5b8701601f81018913611a4f57600080fd5b8035611a5d611793826117ea565b81815260059190911b8201840190848101908b831115611a7c57600080fd5b928501925b82841015611aa3578335611a94816119bd565b82529285019290850190611a81565b96505050506060870135915080821115611abc57600080fd5b50611ac987828801611774565b91505092959194509250565b600081518084526020808501945080840160005b83811015611b0e5781516001600160a01b031687529582019590820190600101611ae9565b509495945050505050565b60005b83811015611b34578181015183820152602001611b1c565b50506000910152565b60008151808452611b55816020860160208601611b19565b601f01601f19169290920160200192915050565b60006001600160801b0319808351168452806020840151166020850152506001600160401b036040830151166040840152606082015160c06060850152611bb360c0850182611ad5565b905060808301518482036080860152611bcc8282611ad5565b91505060a083015184820360a086015261143c8282611b3d565b604081526000611bf96040830185611b69565b828103602084015261143c8185611b3d565b60008060408385031215611c1e57600080fd5b82356001600160401b03811115611c3457600080fd5b611c40858286016118cf565b9250506020830135611c5181611725565b809150509250929050565b602081526000611c6f6020830184611b3d565b9392505050565b60008060408385031215611c8957600080fd5b8235611c94816119bd565b915060208301356001600160401b03811115611caf57600080fd5b611cbb85828601611774565b9150509250929050565b600082601f830112611cd657600080fd5b81356020611ce6611793836117ea565b82815260059290921b84018101918181019086841115611d0557600080fd5b8286015b848110156118c4578035611d1c816117ca565b8352918301918301611d09565b60008060408385031215611d3c57600080fd5b82356001600160401b0380821115611d5357600080fd5b9084019060c08287031215611d6757600080fd5b611d6f6116d3565b611d78836119d3565b8152611d86602084016119d3565b6020820152611d976040840161173d565b6040820152606083013582811115611dae57600080fd5b611dba88828601611cc5565b606083015250608083013582811115611dd257600080fd5b611dde88828601611cc5565b60808301525060a083013582811115611df657600080fd5b611e0288828601611774565b60a08301525093506020850135915080821115611e1e57600080fd5b50611cbb85828601611774565b600060208284031215611e3d57600080fd5b81356001600160401b03811115611e5357600080fd5b820160c08185031215611c6f57600080fd5b60008060408385031215611e7857600080fd5b8235611e83816119bd565b91506020830135611c51816119bd565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b83811015611b0e5781516001600160801b03191687529582019590820190600101611ebd565b602081526000611c6f6020830184611ea9565b6001600160a01b03919091168152604060208201819052600790820152666e6f206269647360c81b606082015260800190565b805161174881611725565b600060208284031215611f4657600080fd5b8151611c6f81611725565b634e487b7160e01b600052601160045260246000fd5b600060018201611f7957611f79611f51565b5060010190565b818103818111156106cd576106cd611f51565b808201808211156106cd576106cd611f51565b600081518084526020808501945080840160005b83811015611b0e57815180516001600160401b039081168952848201518116858a01526040808301516001600160a01b0316908a0152606091820151169088015260809096019590820190600101611fba565b80516001600160401b031682526000610120602083015181602086015261203682860182611b3d565b91505060408301516040850152606083015161205d60608601826001600160401b03169052565b50608083015161207860808601826001600160a01b03169052565b5060a083015161209360a08601826001600160401b03169052565b5060c083015160c085015260e083015184820360e08601526120b58282611fa6565b91505061010080840151858303828701526120d08382611b3d565b9695505050505050565b6080815260006120ed608083018761200d565b6001600160401b0386166020840152828103604084015261210e8186611ea9565b905082810360608401526111708185611b3d565b8051611748816119bd565b600082601f83011261213e57600080fd5b8151602061214e611793836117ea565b82815260059290921b8401810191818101908684111561216d57600080fd5b8286015b848110156118c4578051612184816117ca565b8352918301918301612171565b600082601f8301126121a257600080fd5b81516121b06117938261174d565b8181528460208386010111156121c557600080fd5b6108dc826020830160208701611b19565b600060c082840312156121e857600080fd5b6121f06116d3565b90506121fb82612122565b815261220960208301612122565b602082015261221a60408301611f29565b604082015260608201516001600160401b038082111561223957600080fd5b6122458583860161212d565b6060840152608084015191508082111561225e57600080fd5b61226a8583860161212d565b608084015260a084015191508082111561228357600080fd5b5061229084828501612191565b60a08301525092915050565b600080604083850312156122af57600080fd5b82516001600160401b03808211156122c657600080fd5b6122d2868387016121d6565b935060208501519150808211156122e857600080fd5b50611cbb85828601612191565b600181811c9082168061230957607f821691505b60208210810361232957634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160801b0319841681526001600160401b038316602082015260606040820152600061143c6060830184611ad5565b602081526000611c6f6020830184611b69565b6001600160e01b0319831681528151600090612397816004850160208701611b19565b919091016004019392505050565b6000602082840312156123b757600080fd5b81516001600160401b038111156123cd57600080fd5b6108dc84828501612191565b6001600160801b0319831681526040602082015260006108dc6040830184611b3d565b60006020828403121561240e57600080fd5b8135611c6f816119bd565b60006020828403121561242b57600080fd5b8135611c6f81611725565b6000808335601e1984360301811261244d57600080fd5b8301803591506001600160401b0382111561246757600080fd5b6020019150600581901b36038213156109b157600080fd5b6000606082016001600160801b03198716835260206001600160401b03871681850152606060408501528185835260808501905086925060005b868110156124e75783356124cc816117ca565b6001600160a01b0316825292820192908201906001016124b9565b5098975050505050505050565b6000602080838503121561250757600080fd5b82516001600160401b0381111561251d57600080fd5b8301601f8101851361252e57600080fd5b805161253c611793826117ea565b81815260059190911b8201830190838101908783111561255b57600080fd5b928401925b82841015611170578351612573816119bd565b82529284019290840190612560565b6001600160401b03851681526080602082015260006125a46080830186611ad5565b828103604084015261210e8186611ad5565b600082516125c8818460208701611b19565b9190910192915050565b6001600160a01b03831681526040602082018190526000906108dc90830184611b3d565b60006020828403121561260857600080fd5b81516001600160401b0381111561261e57600080fd5b6108dc848285016121d6565b6001600160801b03198416815260606020820152600061264d6060830185611b3d565b82810360408401526120d08185611b3d565b606081526000612672606083018661200d565b6001600160801b03198516602084015282810360408401526120d08185611b3d565b600080604083850312156126a757600080fd5b82516001600160401b03808211156126be57600080fd5b6122d286838701612191565b6001600160401b03831681526040602082015260006108dc6040830184611b3d565b600060208083850312156126ff57600080fd5b82516001600160401b038082111561271657600080fd5b818501915085601f83011261272a57600080fd5b8151612738611793826117ea565b81815260059190911b8301840190848101908883111561275757600080fd5b8585015b838110156124e7578051858111156127735760008081fd5b6127818b89838a01016121d6565b84525091860191860161275b565b604081526000611bf96040830185611b3d56fea164736f6c6343000813000a" - }, - "bytecode": { - "object": "0x60806040523480156200001157600080fd5b5060405162002a4f38038062002a4f833981016040819052620000349162000060565b6000620000428282620001c4565b505062000290565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156200007457600080fd5b82516001600160401b03808211156200008c57600080fd5b818501915085601f830112620000a157600080fd5b815181811115620000b657620000b66200004a565b604051601f8201601f19908116603f01168101908382118183101715620000e157620000e16200004a565b816040528281528886848701011115620000fa57600080fd5b600093505b828410156200011e5784840186015181850187015292850192620000ff565b600086848301015280965050505050505092915050565b600181811c908216806200014a57607f821691505b6020821081036200016b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001bf57600081815260208120601f850160051c810160208610156200019a5750805b601f850160051c820191505b81811015620001bb57828155600101620001a6565b5050505b505050565b81516001600160401b03811115620001e057620001e06200004a565b620001f881620001f1845462000135565b8462000171565b602080601f831160018114620002305760008415620002175750858301515b600019600386901b1c1916600185901b178555620001bb565b600085815260208120601f198616915b82811015620002615788860151825594840194600190910190840162000240565b5085821015620002805787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6127af80620002a06000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806392f07a581161006657806392f07a5814610108578063b33e471514610110578063c0b9d28714610123578063d503387a14610138578063e829cd5d1461014b57600080fd5b8063232ef1f414610098578063346ab175146100c2578063464b0c3a146100e25780637df1cde2146100f5575b600080fd5b6100ab6100a63660046119de565b61016e565b6040516100b9929190611be6565b60405180910390f35b6100d56100d0366004611c0b565b610304565b6040516100b99190611c5c565b6100d56100f03660046119de565b6106d3565b6100d5610103366004611c76565b61088c565b6100d56108e4565b6100ab61011e366004611d29565b61091d565b610136610131366004611e2b565b6109b8565b005b6100d5610146366004611c0b565b610a1e565b61015e610159366004611e65565b610fe3565b60405190151581526020016100b9565b61017661163e565b6040805160028082526060808301845292600092919060208301908036833701905050905030816000815181106101af576101af611e93565b60200260200101906001600160a01b031690816001600160a01b0316815250506342100001816001815181106101e7576101e7611e93565b60200260200101906001600160a01b031690816001600160a01b03168152505060006102428783846040518060400160405280601581526020017464656661756c743a76303a6d65726765644269647360581b8152506110a7565b905061029f81600001516040518060400160405280601581526020017464656661756c743a76303a6d65726765644269647360581b8152508860405160200161028b9190611ee3565b60405160208183030381529060405261117b565b6000806102b18a84600001518961122d565b915091506102f5836000015160405180604001604052806019815260200178191959985d5b1d0e9d8c0e989d5a5b19195c94185e5b1bd859603a1b8152508361117b565b50909890975095505050505050565b606061030e6112fd565b61031757600080fd5b6000610350836040518060400160405280601581526020017464656661756c743a76303a65746842756e646c657360581b81525061137d565b9050805160000361037f57306040516375fff46760e01b81526004016103769190611ef6565b60405180910390fd5b600081516001600160401b0381111561039a5761039a611672565b6040519080825280602002602001820160405280156103df57816020015b60408051808201909152600080825260208201528152602001906001900390816103b85790505b50905060005b82518110156104dd57600061044c84838151811061040557610405611e93565b6020026020010151600001516040518060400160405280601e81526020017f64656661756c743a76303a65746842756e646c6553696d526573756c74730000815250611445565b90506000818060200190518101906104649190611f34565b90506040518060400160405280826001600160401b0316815260200186858151811061049257610492611e93565b6020026020010151600001516001600160801b0319168152508484815181106104bd576104bd611e93565b6020026020010181905250505080806104d590611f67565b9150506103e5565b50805160005b6104ee600183611f80565b8110156105fb576000610502826001611f93565b90505b828110156105e85783818151811061051f5761051f611e93565b6020026020010151600001516001600160401b031684838151811061054657610546611e93565b6020026020010151600001516001600160401b031610156105d657600084838151811061057557610575611e93565b6020026020010151905084828151811061059157610591611e93565b60200260200101518584815181106105ab576105ab611e93565b6020026020010181905250808583815181106105c9576105c9611e93565b6020026020010181905250505b806105e081611f67565b915050610505565b50806105f381611f67565b9150506104e3565b50600083516001600160401b0381111561061757610617611672565b604051908082528060200260200182016040528015610640578160200160208202803683370190505b50905060005b83518110156106aa5783818151811061066157610661611e93565b60200260200101516020015182828151811061067f5761067f611e93565b6001600160801b031990921660209283029190910190910152806106a281611f67565b915050610646565b506106c6878783604051806020016040528060008152506106d3565b9450505050505b92915050565b60606106dd6112fd565b6106e657600080fd5b6040516308cbbc7d60e21b81526000908190309063232ef1f490610714908a908a908a908a906004016120da565b600060405180830381865afa158015610731573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610759919081019061229c565b915091506107f16000805461076d906122f5565b80601f0160208091040260200160405190810160405280929190818152602001828054610799906122f5565b80156107e65780601f106107bb576101008083540402835291602001916107e6565b820191906000526020600020905b8154815290600101906020018083116107c957829003601f168201915b5050505050826114f0565b507f83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504e8260000151836040015184606001516040516108319392919061232f565b60405180910390a160405163c0b9d28760e01b90610853908490602001612361565b60408051601f19818403018152908290526108719291602001612374565b60405160208183030381529060405292505050949350505050565b60606108966112fd565b61089f57600080fd5b60006108dc8460405180604001604052806019815260200178191959985d5b1d0e9d8c0e989d5a5b19195c94185e5b1bd859603a1b815250611445565b949350505050565b60606108ee6112fd565b6108f757600080fd5b60006109016115ac565b90508080602001905181019061091791906123a5565b91505090565b61092561163e565b60607f67fa9c16cd72410c4cc1d47205b31852a81ec5e92d1c8cebc3ecbe98ed67fe3f84600001518460405161095c9291906123d9565b60405180910390a17f83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504e8460000151856040015186606001516040516109a39392919061232f565b60405180910390a150829050815b9250929050565b7f83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504e6109e660208301836123fc565b6109f66060840160408501612419565b610a036060850185612436565b604051610a13949392919061247f565b60405180910390a150565b6060610a286112fd565b610a3157600080fd5b6000610a6a83604051806040016040528060158152602001746d657673686172653a76303a6d617463684269647360581b81525061137d565b90506000610aad846040518060400160405280601c81526020017f6d657673686172653a76303a756e6d61746368656442756e646c65730000000081525061137d565b90508051600003610ad357306040516375fff46760e01b81526004016103769190611ef6565b600081516001600160401b03811115610aee57610aee611672565b604051908082528060200260200182016040528015610b2757816020015b610b1461163e565b815260200190600190039081610b0c5790505b50905060005b8251811015610c7a576000838281518110610b4a57610b4a611e93565b6020026020010151905060005b8551811015610c47576000610bb7878381518110610b7757610b77611e93565b602002602001015160000151604051806040016040528060168152602001756d657673686172653a76303a6d65726765644269647360501b815250611445565b806020019051810190610bca91906124f4565b9050610c0d81600081518110610be257610be2611e93565b6020026020010151878681518110610bfc57610bfc611e93565b602002602001015160000151610fe3565b15610c3457868281518110610c2457610c24611e93565b6020026020010151925050610c47565b5080610c3f81611f67565b915050610b57565b5080838381518110610c5b57610c5b611e93565b6020026020010181905250508080610c7290611f67565b915050610b2d565b50600081516001600160401b03811115610c9657610c96611672565b604051908082528060200260200182016040528015610cdb57816020015b6040805180820190915260008082526020820152815260200190600190039081610cb45790505b50905060005b8251811015610dd9576000610d48848381518110610d0157610d01611e93565b6020026020010151600001516040518060400160405280601f81526020017f6d657673686172653a76303a65746842756e646c6553696d526573756c747300815250611445565b9050600081806020019051810190610d609190611f34565b90506040518060400160405280826001600160401b03168152602001868581518110610d8e57610d8e611e93565b6020026020010151600001516001600160801b031916815250848481518110610db957610db9611e93565b602002602001018190525050508080610dd190611f67565b915050610ce1565b50805160005b610dea600183611f80565b811015610ef7576000610dfe826001611f93565b90505b82811015610ee457838181518110610e1b57610e1b611e93565b6020026020010151600001516001600160401b0316848381518110610e4257610e42611e93565b6020026020010151600001516001600160401b03161015610ed2576000848381518110610e7157610e71611e93565b60200260200101519050848281518110610e8d57610e8d611e93565b6020026020010151858481518110610ea757610ea7611e93565b602002602001018190525080858381518110610ec557610ec5611e93565b6020026020010181905250505b80610edc81611f67565b915050610e01565b5080610eef81611f67565b915050610ddf565b50600083516001600160401b03811115610f1357610f13611672565b604051908082528060200260200182016040528015610f3c578160200160208202803683370190505b50905060005b8351811015610fa657838181518110610f5d57610f5d611e93565b602002602001015160200151828281518110610f7b57610f7b611e93565b6001600160801b03199092166020928302919091019091015280610f9e81611f67565b915050610f42565b50610fd68989836040518060400160405280600b81526020016a06d657673686172653a76360ac1b8152506106d3565b9998505050505050505050565b604080516001600160801b03198481166020830152825160108184030181526030830184529084166050830152825180830384018152606090920190925260009190825b825181101561109b5781818151811061104257611042611e93565b602001015160f81c60f81b6001600160f81b03191683828151811061106957611069611e93565b01602001516001600160f81b0319161461108957600093505050506106cd565b8061109381611f67565b915050611027565b50600195945050505050565b6110af61163e565b60008063420300006001600160a01b0316878787876040516020016110d79493929190612582565b60408051601f19818403018152908290526110f1916125b6565b600060405180830381855afa9150503d806000811461112c576040519150601f19603f3d011682016040523d82523d6000602084013e611131565b606091505b50915091508161115c576342030000816040516375fff46760e01b81526004016103769291906125d2565b8080602001905181019061117091906125f6565b979650505050505050565b60008063420200006001600160a01b03168585856040516020016111a19392919061262a565b60408051601f19818403018152908290526111bb916125b6565b600060405180830381855afa9150503d80600081146111f6576040519150601f19603f3d011682016040523d82523d6000602084013e6111fb565b606091505b509150915081611226576342020000816040516375fff46760e01b81526004016103769291906125d2565b5050505050565b60608060008063421000016001600160a01b03168787876040516020016112569392919061265f565b60408051601f1981840301815290829052611270916125b6565b600060405180830381855afa9150503d80600081146112ab576040519150601f19603f3d011682016040523d82523d6000602084013e6112b0565b606091505b5091509150816112db576342100001816040516375fff46760e01b81526004016103769291906125d2565b808060200190518101906112ef9190612694565b935093505050935093915050565b6040516000908190819063420100009082818181855afa9150503d8060008114611343576040519150601f19603f3d011682016040523d82523d6000602084013e611348565b606091505b509150915081611373576342010000816040516375fff46760e01b81526004016103769291906125d2565b6020015192915050565b606060008063420300016001600160a01b031685856040516020016113a39291906126ca565b60408051601f19818403018152908290526113bd916125b6565b600060405180830381855afa9150503d80600081146113f8576040519150601f19603f3d011682016040523d82523d6000602084013e6113fd565b606091505b509150915081611428576342030001816040516375fff46760e01b81526004016103769291906125d2565b8080602001905181019061143c91906126ec565b95945050505050565b606060008063420200016001600160a01b0316858560405160200161146b9291906123d9565b60408051601f1981840301815290829052611485916125b6565b600060405180830381855afa9150503d80600081146114c0576040519150601f19603f3d011682016040523d82523d6000602084013e6114c5565b606091505b5091509150816108dc576342020001816040516375fff46760e01b81526004016103769291906125d2565b60606114fa6112fd565b61150357600080fd5b60008063421000026001600160a01b0316858560405160200161152792919061278f565b60408051601f1981840301815290829052611541916125b6565b600060405180830381855afa9150503d806000811461157c576040519150601f19603f3d011682016040523d82523d6000602084013e611581565b606091505b5091509150816108dc576342100002816040516375fff46760e01b81526004016103769291906125d2565b6040805160008082526020820192839052606092909182916342010001916115d3916125b6565b600060405180830381855afa9150503d806000811461160e576040519150601f19603f3d011682016040523d82523d6000602084013e611613565b606091505b5091509150816106cd576342010001816040516375fff46760e01b81526004016103769291906125d2565b6040805160c0810182526000808252602082018190529181019190915260608082018190526080820181905260a082015290565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156116aa576116aa611672565b60405290565b60405161012081016001600160401b03811182821017156116aa576116aa611672565b60405160c081016001600160401b03811182821017156116aa576116aa611672565b604051601f8201601f191681016001600160401b038111828210171561171d5761171d611672565b604052919050565b6001600160401b038116811461173a57600080fd5b50565b803561174881611725565b919050565b60006001600160401b0382111561176657611766611672565b50601f01601f191660200190565b600082601f83011261178557600080fd5b81356117986117938261174d565b6116f5565b8181528460208386010111156117ad57600080fd5b816020850160208301376000918101602001919091529392505050565b6001600160a01b038116811461173a57600080fd5b8035611748816117ca565b60006001600160401b0382111561180357611803611672565b5060051b60200190565b600082601f83011261181e57600080fd5b8135602061182e611793836117ea565b82815260079290921b8401810191818101908684111561184d57600080fd5b8286015b848110156118c4576080818903121561186a5760008081fd5b611872611688565b813561187d81611725565b81528185013561188c81611725565b8186015260408281013561189f816117ca565b908201526060828101356118b281611725565b90820152835291830191608001611851565b509695505050505050565b600061012082840312156118e257600080fd5b6118ea6116b0565b90506118f58261173d565b815260208201356001600160401b038082111561191157600080fd5b61191d85838601611774565b6020840152604084013560408401526119386060850161173d565b6060840152611949608085016117df565b608084015261195a60a0850161173d565b60a084015260c084013560c084015260e084013591508082111561197d57600080fd5b6119898583860161180d565b60e0840152610100915081840135818111156119a457600080fd5b6119b086828701611774565b8385015250505092915050565b6001600160801b03198116811461173a57600080fd5b8035611748816119bd565b600080600080608085870312156119f457600080fd5b84356001600160401b0380821115611a0b57600080fd5b611a17888389016118cf565b95506020915081870135611a2a81611725565b9450604087013581811115611a3e57600080fd5b8701601f81018913611a4f57600080fd5b8035611a5d611793826117ea565b81815260059190911b8201840190848101908b831115611a7c57600080fd5b928501925b82841015611aa3578335611a94816119bd565b82529285019290850190611a81565b96505050506060870135915080821115611abc57600080fd5b50611ac987828801611774565b91505092959194509250565b600081518084526020808501945080840160005b83811015611b0e5781516001600160a01b031687529582019590820190600101611ae9565b509495945050505050565b60005b83811015611b34578181015183820152602001611b1c565b50506000910152565b60008151808452611b55816020860160208601611b19565b601f01601f19169290920160200192915050565b60006001600160801b0319808351168452806020840151166020850152506001600160401b036040830151166040840152606082015160c06060850152611bb360c0850182611ad5565b905060808301518482036080860152611bcc8282611ad5565b91505060a083015184820360a086015261143c8282611b3d565b604081526000611bf96040830185611b69565b828103602084015261143c8185611b3d565b60008060408385031215611c1e57600080fd5b82356001600160401b03811115611c3457600080fd5b611c40858286016118cf565b9250506020830135611c5181611725565b809150509250929050565b602081526000611c6f6020830184611b3d565b9392505050565b60008060408385031215611c8957600080fd5b8235611c94816119bd565b915060208301356001600160401b03811115611caf57600080fd5b611cbb85828601611774565b9150509250929050565b600082601f830112611cd657600080fd5b81356020611ce6611793836117ea565b82815260059290921b84018101918181019086841115611d0557600080fd5b8286015b848110156118c4578035611d1c816117ca565b8352918301918301611d09565b60008060408385031215611d3c57600080fd5b82356001600160401b0380821115611d5357600080fd5b9084019060c08287031215611d6757600080fd5b611d6f6116d3565b611d78836119d3565b8152611d86602084016119d3565b6020820152611d976040840161173d565b6040820152606083013582811115611dae57600080fd5b611dba88828601611cc5565b606083015250608083013582811115611dd257600080fd5b611dde88828601611cc5565b60808301525060a083013582811115611df657600080fd5b611e0288828601611774565b60a08301525093506020850135915080821115611e1e57600080fd5b50611cbb85828601611774565b600060208284031215611e3d57600080fd5b81356001600160401b03811115611e5357600080fd5b820160c08185031215611c6f57600080fd5b60008060408385031215611e7857600080fd5b8235611e83816119bd565b91506020830135611c51816119bd565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b83811015611b0e5781516001600160801b03191687529582019590820190600101611ebd565b602081526000611c6f6020830184611ea9565b6001600160a01b03919091168152604060208201819052600790820152666e6f206269647360c81b606082015260800190565b805161174881611725565b600060208284031215611f4657600080fd5b8151611c6f81611725565b634e487b7160e01b600052601160045260246000fd5b600060018201611f7957611f79611f51565b5060010190565b818103818111156106cd576106cd611f51565b808201808211156106cd576106cd611f51565b600081518084526020808501945080840160005b83811015611b0e57815180516001600160401b039081168952848201518116858a01526040808301516001600160a01b0316908a0152606091820151169088015260809096019590820190600101611fba565b80516001600160401b031682526000610120602083015181602086015261203682860182611b3d565b91505060408301516040850152606083015161205d60608601826001600160401b03169052565b50608083015161207860808601826001600160a01b03169052565b5060a083015161209360a08601826001600160401b03169052565b5060c083015160c085015260e083015184820360e08601526120b58282611fa6565b91505061010080840151858303828701526120d08382611b3d565b9695505050505050565b6080815260006120ed608083018761200d565b6001600160401b0386166020840152828103604084015261210e8186611ea9565b905082810360608401526111708185611b3d565b8051611748816119bd565b600082601f83011261213e57600080fd5b8151602061214e611793836117ea565b82815260059290921b8401810191818101908684111561216d57600080fd5b8286015b848110156118c4578051612184816117ca565b8352918301918301612171565b600082601f8301126121a257600080fd5b81516121b06117938261174d565b8181528460208386010111156121c557600080fd5b6108dc826020830160208701611b19565b600060c082840312156121e857600080fd5b6121f06116d3565b90506121fb82612122565b815261220960208301612122565b602082015261221a60408301611f29565b604082015260608201516001600160401b038082111561223957600080fd5b6122458583860161212d565b6060840152608084015191508082111561225e57600080fd5b61226a8583860161212d565b608084015260a084015191508082111561228357600080fd5b5061229084828501612191565b60a08301525092915050565b600080604083850312156122af57600080fd5b82516001600160401b03808211156122c657600080fd5b6122d2868387016121d6565b935060208501519150808211156122e857600080fd5b50611cbb85828601612191565b600181811c9082168061230957607f821691505b60208210810361232957634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160801b0319841681526001600160401b038316602082015260606040820152600061143c6060830184611ad5565b602081526000611c6f6020830184611b69565b6001600160e01b0319831681528151600090612397816004850160208701611b19565b919091016004019392505050565b6000602082840312156123b757600080fd5b81516001600160401b038111156123cd57600080fd5b6108dc84828501612191565b6001600160801b0319831681526040602082015260006108dc6040830184611b3d565b60006020828403121561240e57600080fd5b8135611c6f816119bd565b60006020828403121561242b57600080fd5b8135611c6f81611725565b6000808335601e1984360301811261244d57600080fd5b8301803591506001600160401b0382111561246757600080fd5b6020019150600581901b36038213156109b157600080fd5b6000606082016001600160801b03198716835260206001600160401b03871681850152606060408501528185835260808501905086925060005b868110156124e75783356124cc816117ca565b6001600160a01b0316825292820192908201906001016124b9565b5098975050505050505050565b6000602080838503121561250757600080fd5b82516001600160401b0381111561251d57600080fd5b8301601f8101851361252e57600080fd5b805161253c611793826117ea565b81815260059190911b8201830190838101908783111561255b57600080fd5b928401925b82841015611170578351612573816119bd565b82529284019290840190612560565b6001600160401b03851681526080602082015260006125a46080830186611ad5565b828103604084015261210e8186611ad5565b600082516125c8818460208701611b19565b9190910192915050565b6001600160a01b03831681526040602082018190526000906108dc90830184611b3d565b60006020828403121561260857600080fd5b81516001600160401b0381111561261e57600080fd5b6108dc848285016121d6565b6001600160801b03198416815260606020820152600061264d6060830185611b3d565b82810360408401526120d08185611b3d565b606081526000612672606083018661200d565b6001600160801b03198516602084015282810360408401526120d08185611b3d565b600080604083850312156126a757600080fd5b82516001600160401b03808211156126be57600080fd5b6122d286838701612191565b6001600160401b03831681526040602082015260006108dc6040830184611b3d565b600060208083850312156126ff57600080fd5b82516001600160401b038082111561271657600080fd5b818501915085601f83011261272a57600080fd5b8151612738611793826117ea565b81815260059190911b8301840190848101908883111561275757600080fd5b8585015b838110156124e7578051858111156127735760008081fd5b6127818b89838a01016121d6565b84525091860191860161275b565b604081526000611bf96040830185611b3d56fea164736f6c6343000813000a" - } -} diff --git a/suave/artifacts/bids.sol/EthBundleSenderContract.json b/suave/artifacts/bids.sol/EthBundleSenderContract.json deleted file mode 100644 index f533eb9ced..0000000000 --- a/suave/artifacts/bids.sol/EthBundleSenderContract.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "string[]", - "name": "builderUrls_", - "type": "string[]" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "PeekerReverted", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "Suave.BidId", - "name": "bidId", - "type": "bytes16" - }, - { - "indexed": false, - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - } - ], - "name": "BidEvent", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "builderUrls", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "Suave.BidId", - "name": "id", - "type": "bytes16" - }, - { - "internalType": "Suave.BidId", - "name": "salt", - "type": "bytes16" - }, - { - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "allowedStores", - "type": "address[]" - }, - { - "internalType": "string", - "name": "version", - "type": "string" - } - ], - "internalType": "struct Suave.Bid", - "name": "bid", - "type": "tuple" - } - ], - "name": "emitBid", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "fetchBidConfidentialBundleData", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "bidAllowedPeekers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "bidAllowedStores", - "type": "address[]" - } - ], - "name": "newBid", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "payable", - "type": "function" - } - ], - "deployedBytecode": { - "object": "0x60806040526004361061003f5760003560e01c80631141a0b014610044578063236eb5a71461007a57806392f07a581461008d578063c0b9d287146100a2575b600080fd5b34801561005057600080fd5b5061006461005f366004610984565b6100c4565b60405161007191906109ed565b60405180910390f35b610064610088366004610b32565b610170565b34801561009957600080fd5b506100646102ee565b3480156100ae57600080fd5b506100c26100bd366004610ba7565b610327565b005b600081815481106100d457600080fd5b9060005260206000200160009150905080546100ef90610be1565b80601f016020809104026020016040519081016040528092919081815260200182805461011b90610be1565b80156101685780601f1061013d57610100808354040283529160200191610168565b820191906000526020600020905b81548152906001019060200180831161014b57829003601f168201915b505050505081565b606061017a61038d565b61018357600080fd5b6000306001600160a01b03166392f07a586040518163ffffffff1660e01b81526004016000604051808303816000875af11580156101c5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101ed9190810190610c69565b905060006101fa82610416565b905060006102378787876040518060400160405280601581526020017464656661756c743a76303a65746842756e646c657360581b8152506104db565b905061027581600001516040518060400160405280601581526020017464656661756c743a76303a65746842756e646c657360581b815250856105d8565b8051604080518082018252601e81527f64656661756c743a76303a65746842756e646c6553696d526573756c7473000060208083019190915282516001600160401b038716818301528351808203909201825283019092526102d792916105d8565b6102e1818461068a565b93505050505b9392505050565b60606102f861038d565b61030157600080fd5b600061030b61078d565b9050808060200190518101906103219190610c69565b91505090565b7f83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504e6103556020830183610cd0565b6103656060840160408501610ced565b6103726060850185610d0a565b6040516103829493929190610d5a565b60405180910390a150565b6040516000908190819063420100009082818181855afa9150503d80600081146103d3576040519150601f19603f3d011682016040523d82523d6000602084013e6103d8565b606091505b50915091508161040c576342010000816040516375fff46760e01b8152600401610403929190610dcf565b60405180910390fd5b6020015192915050565b600080600063421000006001600160a01b03168460405160200161043a91906109ed565b60408051601f198184030181529082905261045491610df3565b600060405180830381855afa9150503d806000811461048f576040519150601f19603f3d011682016040523d82523d6000602084013e610494565b606091505b5091509150816104bf576342100000816040516375fff46760e01b8152600401610403929190610dcf565b808060200190518101906104d39190610e1f565b949350505050565b6040805160c0810182526000808252602082018190529181019190915260608082018190526080820181905260a082015260008063420300006001600160a01b0316878787876040516020016105349493929190610e80565b60408051601f198184030181529082905261054e91610df3565b600060405180830381855afa9150503d8060008114610589576040519150601f19603f3d011682016040523d82523d6000602084013e61058e565b606091505b5091509150816105b9576342030000816040516375fff46760e01b8152600401610403929190610dcf565b808060200190518101906105cd9190610f57565b979650505050505050565b60008063420200006001600160a01b03168585856040516020016105fe9392919061103e565b60408051601f198184030181529082905261061891610df3565b600060405180830381855afa9150503d8060008114610653576040519150601f19603f3d011682016040523d82523d6000602084013e610658565b606091505b509150915081610683576342020000816040516375fff46760e01b8152600401610403929190610dcf565b5050505050565b606060005b6000548110156107825761076f600082815481106106af576106af61107d565b9060005260206000200180546106c490610be1565b80601f01602080910402602001604051908101604052809291908181526020018280546106f090610be1565b801561073d5780601f106107125761010080835404028352916020019161073d565b820191906000526020600020905b81548152906001019060200180831161072057829003601f168201915b50505050506040518060400160405280600e81526020016d6574685f73656e6442756e646c6560901b81525085610825565b508061077a81611093565b91505061068f565b506102e783836108ec565b6040805160008082526020820192839052606092909182916342010001916107b491610df3565b600060405180830381855afa9150503d80600081146107ef576040519150601f19603f3d011682016040523d82523d6000602084013e6107f4565b606091505b50915091508161081f576342010001816040516375fff46760e01b8152600401610403929190610dcf565b92915050565b606061082f61038d565b61083857600080fd5b60008063430000016001600160a01b031686868660405160200161085e939291906110ba565b60408051601f198184030181529082905261087891610df3565b600060405180830381855afa9150503d80600081146108b3576040519150601f19603f3d011682016040523d82523d6000602084013e6108b8565b606091505b5091509150816108e3576343000001816040516375fff46760e01b8152600401610403929190610dcf565b95945050505050565b60607f83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504e83600001518460400151856060015160405161092d939291906110f3565b60405180910390a160405163c0b9d28760e01b9061094f908590602001611125565b60408051601f198184030181529082905261096d92916020016111b2565b604051602081830303815290604052905092915050565b60006020828403121561099657600080fd5b5035919050565b60005b838110156109b85781810151838201526020016109a0565b50506000910152565b600081518084526109d981602086016020860161099d565b601f01601f19169290920160200192915050565b6020815260006102e760208301846109c1565b6001600160401b0381168114610a1557600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b0381118282101715610a5057610a50610a18565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610a7e57610a7e610a18565b604052919050565b60006001600160401b03821115610a9f57610a9f610a18565b5060051b60200190565b6001600160a01b0381168114610a1557600080fd5b600082601f830112610acf57600080fd5b81356020610ae4610adf83610a86565b610a56565b82815260059290921b84018101918181019086841115610b0357600080fd5b8286015b84811015610b27578035610b1a81610aa9565b8352918301918301610b07565b509695505050505050565b600080600060608486031215610b4757600080fd5b8335610b5281610a00565b925060208401356001600160401b0380821115610b6e57600080fd5b610b7a87838801610abe565b93506040860135915080821115610b9057600080fd5b50610b9d86828701610abe565b9150509250925092565b600060208284031215610bb957600080fd5b81356001600160401b03811115610bcf57600080fd5b820160c081850312156102e757600080fd5b600181811c90821680610bf557607f821691505b602082108103610c1557634e487b7160e01b600052602260045260246000fd5b50919050565b60006001600160401b03831115610c3457610c34610a18565b610c47601f8401601f1916602001610a56565b9050828152838383011115610c5b57600080fd5b6102e783602083018461099d565b600060208284031215610c7b57600080fd5b81516001600160401b03811115610c9157600080fd5b8201601f81018413610ca257600080fd5b6104d384825160208401610c1b565b6fffffffffffffffffffffffffffffffff1981168114610a1557600080fd5b600060208284031215610ce257600080fd5b81356102e781610cb1565b600060208284031215610cff57600080fd5b81356102e781610a00565b6000808335601e19843603018112610d2157600080fd5b8301803591506001600160401b03821115610d3b57600080fd5b6020019150600581901b3603821315610d5357600080fd5b9250929050565b6000606082016001600160801b03198716835260206001600160401b03871681850152606060408501528185835260808501905086925060005b86811015610dc2578335610da781610aa9565b6001600160a01b031682529282019290820190600101610d94565b5098975050505050505050565b6001600160a01b03831681526040602082018190526000906104d3908301846109c1565b60008251610e0581846020870161099d565b9190910192915050565b8051610e1a81610a00565b919050565b600060208284031215610e3157600080fd5b81516102e781610a00565b600081518084526020808501945080840160005b83811015610e755781516001600160a01b031687529582019590820190600101610e50565b509495945050505050565b6001600160401b0385168152608060208201526000610ea26080830186610e3c565b8281036040840152610eb48186610e3c565b905082810360608401526105cd81856109c1565b8051610e1a81610cb1565b600082601f830112610ee457600080fd5b81516020610ef4610adf83610a86565b82815260059290921b84018101918181019086841115610f1357600080fd5b8286015b84811015610b27578051610f2a81610aa9565b8352918301918301610f17565b600082601f830112610f4857600080fd5b6102e783835160208501610c1b565b600060208284031215610f6957600080fd5b81516001600160401b0380821115610f8057600080fd5b9083019060c08286031215610f9457600080fd5b610f9c610a2e565b610fa583610ec8565b8152610fb360208401610ec8565b6020820152610fc460408401610e0f565b6040820152606083015182811115610fdb57600080fd5b610fe787828601610ed3565b606083015250608083015182811115610fff57600080fd5b61100b87828601610ed3565b60808301525060a08301518281111561102357600080fd5b61102f87828601610f37565b60a08301525095945050505050565b6001600160801b03198416815260606020820152600061106160608301856109c1565b828103604084015261107381856109c1565b9695505050505050565b634e487b7160e01b600052603260045260246000fd5b6000600182016110b357634e487b7160e01b600052601160045260246000fd5b5060010190565b6060815260006110cd60608301866109c1565b82810360208401526110df81866109c1565b9050828103604084015261107381856109c1565b6001600160801b0319841681526001600160401b03831660208201526060604082015260006108e36060830184610e3c565b6020815260006001600160801b0319808451166020840152806020850151166040840152506001600160401b036040840151166060830152606083015160c0608084015261117660e0840182610e3c565b90506080840151601f19808584030160a08601526111948383610e3c565b925060a08601519150808584030160c0860152506108e382826109c1565b6001600160e01b03198316815281516000906111d581600485016020870161099d565b91909101600401939250505056fea164736f6c6343000813000a" - }, - "bytecode": { - "object": "0x60806040523480156200001157600080fd5b506040516200161038038062001610833981016040819052620000349162000171565b80516200004990600090602084019062000051565b505062000410565b8280548282559060005260206000209081019282156200009c579160200282015b828111156200009c57825182906200008b908262000344565b509160200191906001019062000072565b50620000aa929150620000ae565b5090565b80821115620000aa576000620000c58282620000cf565b50600101620000ae565b508054620000dd90620002b5565b6000825580601f10620000ee575050565b601f0160209004906000526020600020908101906200010e919062000111565b50565b5b80821115620000aa576000815560010162000112565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562000169576200016962000128565b604052919050565b600060208083850312156200018557600080fd5b82516001600160401b03808211156200019d57600080fd5b8185019150601f8681840112620001b357600080fd5b825182811115620001c857620001c862000128565b8060051b620001d98682016200013e565b918252848101860191868101908a841115620001f457600080fd5b87870192505b83831015620002a757825186811115620002145760008081fd5b8701603f81018c13620002275760008081fd5b88810151878111156200023e576200023e62000128565b62000251818801601f19168b016200013e565b81815260408e81848601011115620002695760008081fd5b60005b8381101562000289578481018201518382018e01528c016200026c565b505060009181018b01919091528352509187019190870190620001fa565b9a9950505050505050505050565b600181811c90821680620002ca57607f821691505b602082108103620002eb57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200033f57600081815260208120601f850160051c810160208610156200031a5750805b601f850160051c820191505b818110156200033b5782815560010162000326565b5050505b505050565b81516001600160401b0381111562000360576200036062000128565b6200037881620003718454620002b5565b84620002f1565b602080601f831160018114620003b05760008415620003975750858301515b600019600386901b1c1916600185901b1785556200033b565b600085815260208120601f198616915b82811015620003e157888601518255948401946001909101908401620003c0565b5085821015620004005787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6111f080620004206000396000f3fe60806040526004361061003f5760003560e01c80631141a0b014610044578063236eb5a71461007a57806392f07a581461008d578063c0b9d287146100a2575b600080fd5b34801561005057600080fd5b5061006461005f366004610984565b6100c4565b60405161007191906109ed565b60405180910390f35b610064610088366004610b32565b610170565b34801561009957600080fd5b506100646102ee565b3480156100ae57600080fd5b506100c26100bd366004610ba7565b610327565b005b600081815481106100d457600080fd5b9060005260206000200160009150905080546100ef90610be1565b80601f016020809104026020016040519081016040528092919081815260200182805461011b90610be1565b80156101685780601f1061013d57610100808354040283529160200191610168565b820191906000526020600020905b81548152906001019060200180831161014b57829003601f168201915b505050505081565b606061017a61038d565b61018357600080fd5b6000306001600160a01b03166392f07a586040518163ffffffff1660e01b81526004016000604051808303816000875af11580156101c5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101ed9190810190610c69565b905060006101fa82610416565b905060006102378787876040518060400160405280601581526020017464656661756c743a76303a65746842756e646c657360581b8152506104db565b905061027581600001516040518060400160405280601581526020017464656661756c743a76303a65746842756e646c657360581b815250856105d8565b8051604080518082018252601e81527f64656661756c743a76303a65746842756e646c6553696d526573756c7473000060208083019190915282516001600160401b038716818301528351808203909201825283019092526102d792916105d8565b6102e1818461068a565b93505050505b9392505050565b60606102f861038d565b61030157600080fd5b600061030b61078d565b9050808060200190518101906103219190610c69565b91505090565b7f83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504e6103556020830183610cd0565b6103656060840160408501610ced565b6103726060850185610d0a565b6040516103829493929190610d5a565b60405180910390a150565b6040516000908190819063420100009082818181855afa9150503d80600081146103d3576040519150601f19603f3d011682016040523d82523d6000602084013e6103d8565b606091505b50915091508161040c576342010000816040516375fff46760e01b8152600401610403929190610dcf565b60405180910390fd5b6020015192915050565b600080600063421000006001600160a01b03168460405160200161043a91906109ed565b60408051601f198184030181529082905261045491610df3565b600060405180830381855afa9150503d806000811461048f576040519150601f19603f3d011682016040523d82523d6000602084013e610494565b606091505b5091509150816104bf576342100000816040516375fff46760e01b8152600401610403929190610dcf565b808060200190518101906104d39190610e1f565b949350505050565b6040805160c0810182526000808252602082018190529181019190915260608082018190526080820181905260a082015260008063420300006001600160a01b0316878787876040516020016105349493929190610e80565b60408051601f198184030181529082905261054e91610df3565b600060405180830381855afa9150503d8060008114610589576040519150601f19603f3d011682016040523d82523d6000602084013e61058e565b606091505b5091509150816105b9576342030000816040516375fff46760e01b8152600401610403929190610dcf565b808060200190518101906105cd9190610f57565b979650505050505050565b60008063420200006001600160a01b03168585856040516020016105fe9392919061103e565b60408051601f198184030181529082905261061891610df3565b600060405180830381855afa9150503d8060008114610653576040519150601f19603f3d011682016040523d82523d6000602084013e610658565b606091505b509150915081610683576342020000816040516375fff46760e01b8152600401610403929190610dcf565b5050505050565b606060005b6000548110156107825761076f600082815481106106af576106af61107d565b9060005260206000200180546106c490610be1565b80601f01602080910402602001604051908101604052809291908181526020018280546106f090610be1565b801561073d5780601f106107125761010080835404028352916020019161073d565b820191906000526020600020905b81548152906001019060200180831161072057829003601f168201915b50505050506040518060400160405280600e81526020016d6574685f73656e6442756e646c6560901b81525085610825565b508061077a81611093565b91505061068f565b506102e783836108ec565b6040805160008082526020820192839052606092909182916342010001916107b491610df3565b600060405180830381855afa9150503d80600081146107ef576040519150601f19603f3d011682016040523d82523d6000602084013e6107f4565b606091505b50915091508161081f576342010001816040516375fff46760e01b8152600401610403929190610dcf565b92915050565b606061082f61038d565b61083857600080fd5b60008063430000016001600160a01b031686868660405160200161085e939291906110ba565b60408051601f198184030181529082905261087891610df3565b600060405180830381855afa9150503d80600081146108b3576040519150601f19603f3d011682016040523d82523d6000602084013e6108b8565b606091505b5091509150816108e3576343000001816040516375fff46760e01b8152600401610403929190610dcf565b95945050505050565b60607f83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504e83600001518460400151856060015160405161092d939291906110f3565b60405180910390a160405163c0b9d28760e01b9061094f908590602001611125565b60408051601f198184030181529082905261096d92916020016111b2565b604051602081830303815290604052905092915050565b60006020828403121561099657600080fd5b5035919050565b60005b838110156109b85781810151838201526020016109a0565b50506000910152565b600081518084526109d981602086016020860161099d565b601f01601f19169290920160200192915050565b6020815260006102e760208301846109c1565b6001600160401b0381168114610a1557600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b0381118282101715610a5057610a50610a18565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610a7e57610a7e610a18565b604052919050565b60006001600160401b03821115610a9f57610a9f610a18565b5060051b60200190565b6001600160a01b0381168114610a1557600080fd5b600082601f830112610acf57600080fd5b81356020610ae4610adf83610a86565b610a56565b82815260059290921b84018101918181019086841115610b0357600080fd5b8286015b84811015610b27578035610b1a81610aa9565b8352918301918301610b07565b509695505050505050565b600080600060608486031215610b4757600080fd5b8335610b5281610a00565b925060208401356001600160401b0380821115610b6e57600080fd5b610b7a87838801610abe565b93506040860135915080821115610b9057600080fd5b50610b9d86828701610abe565b9150509250925092565b600060208284031215610bb957600080fd5b81356001600160401b03811115610bcf57600080fd5b820160c081850312156102e757600080fd5b600181811c90821680610bf557607f821691505b602082108103610c1557634e487b7160e01b600052602260045260246000fd5b50919050565b60006001600160401b03831115610c3457610c34610a18565b610c47601f8401601f1916602001610a56565b9050828152838383011115610c5b57600080fd5b6102e783602083018461099d565b600060208284031215610c7b57600080fd5b81516001600160401b03811115610c9157600080fd5b8201601f81018413610ca257600080fd5b6104d384825160208401610c1b565b6fffffffffffffffffffffffffffffffff1981168114610a1557600080fd5b600060208284031215610ce257600080fd5b81356102e781610cb1565b600060208284031215610cff57600080fd5b81356102e781610a00565b6000808335601e19843603018112610d2157600080fd5b8301803591506001600160401b03821115610d3b57600080fd5b6020019150600581901b3603821315610d5357600080fd5b9250929050565b6000606082016001600160801b03198716835260206001600160401b03871681850152606060408501528185835260808501905086925060005b86811015610dc2578335610da781610aa9565b6001600160a01b031682529282019290820190600101610d94565b5098975050505050505050565b6001600160a01b03831681526040602082018190526000906104d3908301846109c1565b60008251610e0581846020870161099d565b9190910192915050565b8051610e1a81610a00565b919050565b600060208284031215610e3157600080fd5b81516102e781610a00565b600081518084526020808501945080840160005b83811015610e755781516001600160a01b031687529582019590820190600101610e50565b509495945050505050565b6001600160401b0385168152608060208201526000610ea26080830186610e3c565b8281036040840152610eb48186610e3c565b905082810360608401526105cd81856109c1565b8051610e1a81610cb1565b600082601f830112610ee457600080fd5b81516020610ef4610adf83610a86565b82815260059290921b84018101918181019086841115610f1357600080fd5b8286015b84811015610b27578051610f2a81610aa9565b8352918301918301610f17565b600082601f830112610f4857600080fd5b6102e783835160208501610c1b565b600060208284031215610f6957600080fd5b81516001600160401b0380821115610f8057600080fd5b9083019060c08286031215610f9457600080fd5b610f9c610a2e565b610fa583610ec8565b8152610fb360208401610ec8565b6020820152610fc460408401610e0f565b6040820152606083015182811115610fdb57600080fd5b610fe787828601610ed3565b606083015250608083015182811115610fff57600080fd5b61100b87828601610ed3565b60808301525060a08301518281111561102357600080fd5b61102f87828601610f37565b60a08301525095945050505050565b6001600160801b03198416815260606020820152600061106160608301856109c1565b828103604084015261107381856109c1565b9695505050505050565b634e487b7160e01b600052603260045260246000fd5b6000600182016110b357634e487b7160e01b600052601160045260246000fd5b5060010190565b6060815260006110cd60608301866109c1565b82810360208401526110df81866109c1565b9050828103604084015261107381856109c1565b6001600160801b0319841681526001600160401b03831660208201526060604082015260006108e36060830184610e3c565b6020815260006001600160801b0319808451166020840152806020850151166040840152506001600160401b036040840151166060830152606083015160c0608084015261117660e0840182610e3c565b90506080840151601f19808584030160a08601526111948383610e3c565b925060a08601519150808584030160c0860152506108e382826109c1565b6001600160e01b03198316815281516000906111d581600485016020870161099d565b91909101600401939250505056fea164736f6c6343000813000a" - } -} diff --git a/suave/artifacts/bids.sol/MevShareBidContract.json b/suave/artifacts/bids.sol/MevShareBidContract.json deleted file mode 100644 index 10eed15271..0000000000 --- a/suave/artifacts/bids.sol/MevShareBidContract.json +++ /dev/null @@ -1,260 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "PeekerReverted", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "Suave.BidId", - "name": "bidId", - "type": "bytes16" - }, - { - "indexed": false, - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - } - ], - "name": "BidEvent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "Suave.BidId", - "name": "bidId", - "type": "bytes16" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "hint", - "type": "bytes" - } - ], - "name": "HintEvent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "Suave.BidId", - "name": "matchBidId", - "type": "bytes16" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "matchHint", - "type": "bytes" - } - ], - "name": "MatchEvent", - "type": "event" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "Suave.BidId", - "name": "id", - "type": "bytes16" - }, - { - "internalType": "Suave.BidId", - "name": "salt", - "type": "bytes16" - }, - { - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "allowedStores", - "type": "address[]" - }, - { - "internalType": "string", - "name": "version", - "type": "string" - } - ], - "internalType": "struct Suave.Bid", - "name": "bid", - "type": "tuple" - } - ], - "name": "emitBid", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "Suave.BidId", - "name": "id", - "type": "bytes16" - }, - { - "internalType": "Suave.BidId", - "name": "salt", - "type": "bytes16" - }, - { - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "allowedStores", - "type": "address[]" - }, - { - "internalType": "string", - "name": "version", - "type": "string" - } - ], - "internalType": "struct Suave.Bid", - "name": "bid", - "type": "tuple" - }, - { - "internalType": "bytes", - "name": "hint", - "type": "bytes" - } - ], - "name": "emitBidAndHint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "fetchBidConfidentialBundleData", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "bidAllowedPeekers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "bidAllowedStores", - "type": "address[]" - } - ], - "name": "newBid", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "bidAllowedPeekers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "bidAllowedStores", - "type": "address[]" - }, - { - "internalType": "Suave.BidId", - "name": "shareBidId", - "type": "bytes16" - } - ], - "name": "newMatch", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "payable", - "type": "function" - } - ], - "deployedBytecode": { - "object": "0x60806040526004361061004a5760003560e01c8063236eb5a71461004f57806389026c111461007857806392f07a581461009a578063c0b9d287146100af578063d8f55db9146100cf575b600080fd5b61006261005d366004610cc8565b6100e2565b60405161006f9190610d8d565b60405180910390f35b34801561008457600080fd5b50610098610093366004610ddf565b61032a565b005b3480156100a657600080fd5b506100626103c4565b3480156100bb57600080fd5b506100986100ca366004610e80565b6103fd565b6100626100dd366004610eca565b610451565b60606100ec610687565b6100f557600080fd5b6000306001600160a01b03166392f07a586040518163ffffffff1660e01b81526004016000604051808303816000875af1158015610137573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261015f9190810190610f82565b9050600061016c82610710565b90506000610179836107d5565b905060006101be8888886040518060400160405280601c81526020017f6d657673686172653a76303a756e6d61746368656442756e646c65730000000081525061088f565b90506101fd8160000151604051806040016040528060168152602001756d657673686172653a76303a65746842756e646c657360501b8152508661098c565b8051604080518082018252601f81527f6d657673686172653a76303a65746842756e646c6553696d526573756c74730060208083019190915282516001600160401b038816918101919091526102649392015b60405160208183030381529060405261098c565b6000805160206115208339815191528160000151826040015183606001516040516102919392919061100e565b60405180910390a180516040517fdab8306bad2ca820d05b9eff8da2e3016d372c15f00bb032f758718b9cda3950916102cb918590611049565b60405180910390a16040516389026c1160e01b906102ef90839085906020016110e9565b60408051601f198184030181529082905261030d929160200161110e565b6040516020818303038152906040529450505050505b9392505050565b600080516020611520833981519152610346602084018461113f565b610356606085016040860161115c565b6103636060860186611179565b60405161037394939291906111c9565b60405180910390a17fdab8306bad2ca820d05b9eff8da2e3016d372c15f00bb032f758718b9cda39506103a9602084018461113f565b826040516103b8929190611049565b60405180910390a15050565b60606103ce610687565b6103d757600080fd5b60006103e1610a3e565b9050808060200190518101906103f79190610f82565b91505090565b600080516020611520833981519152610419602083018361113f565b610429606084016040850161115c565b6104366060850185611179565b60405161044694939291906111c9565b60405180910390a150565b606061045b610687565b61046457600080fd5b6000306001600160a01b03166392f07a586040518163ffffffff1660e01b81526004016000604051808303816000875af11580156104a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104ce9190810190610f82565b905060006104db82610710565b905060006104e8836107d5565b90506000610525898989604051806040016040528060158152602001746d657673686172653a76303a6d617463684269647360581b81525061088f565b90506105648160000151604051806040016040528060168152602001756d657673686172653a76303a65746842756e646c657360501b8152508661098c565b8051604080518082018252601f81527f6d657673686172653a76303a65746842756e646c6553696d526573756c74730060208083019190915282516000918101919091526105b3939201610250565b60408051600280825260608201835260009260208301908036833701905050905086816000815181106105e8576105e861123e565b6001600160801b03199092166020928302919091019091015281518151829060019081106106185761061861123e565b6001600160801b0319909216602092830291909101820152825160408051808201825260168152756d657673686172653a76303a6d65726765644269647360501b81850152905161066f9361025091869101611254565b6106798284610ad6565b9a9950505050505050505050565b6040516000908190819063420100009082818181855afa9150503d80600081146106cd576040519150601f19603f3d011682016040523d82523d6000602084013e6106d2565b606091505b509150915081610706576342010000816040516375fff46760e01b81526004016106fd9291906112a2565b60405180910390fd5b6020015192915050565b600080600063421000006001600160a01b0316846040516020016107349190610d8d565b60408051601f198184030181529082905261074e916112c6565b600060405180830381855afa9150503d8060008114610789576040519150601f19603f3d011682016040523d82523d6000602084013e61078e565b606091505b5091509150816107b9576342100000816040516375fff46760e01b81526004016106fd9291906112a2565b808060200190518101906107cd91906112f2565b949350505050565b60606107df610687565b6107e857600080fd5b60008063421000376001600160a01b03168460405160200161080a9190610d8d565b60408051601f1981840301815290829052610824916112c6565b600060405180830381855afa9150503d806000811461085f576040519150601f19603f3d011682016040523d82523d6000602084013e610864565b606091505b509150915081610323576342100037816040516375fff46760e01b81526004016106fd9291906112a2565b6040805160c0810182526000808252602082018190529181019190915260608082018190526080820181905260a082015260008063420300006001600160a01b0316878787876040516020016108e8949392919061130f565b60408051601f1981840301815290829052610902916112c6565b600060405180830381855afa9150503d806000811461093d576040519150601f19603f3d011682016040523d82523d6000602084013e610942565b606091505b50915091508161096d576342030000816040516375fff46760e01b81526004016106fd9291906112a2565b8080602001905181019061098191906113e6565b979650505050505050565b60008063420200006001600160a01b03168585856040516020016109b2939291906114cd565b60408051601f19818403018152908290526109cc916112c6565b600060405180830381855afa9150503d8060008114610a07576040519150601f19603f3d011682016040523d82523d6000602084013e610a0c565b606091505b509150915081610a37576342020000816040516375fff46760e01b81526004016106fd9291906112a2565b5050505050565b604080516000808252602082019283905260609290918291634201000191610a65916112c6565b600060405180830381855afa9150503d8060008114610aa0576040519150601f19603f3d011682016040523d82523d6000602084013e610aa5565b606091505b509150915081610ad0576342010001816040516375fff46760e01b81526004016106fd9291906112a2565b92915050565b6060600080516020611520833981519152836000015184604001518560600151604051610b059392919061100e565b60405180910390a182516040517fafa6f6affefc1010901fc56588695137d9939d2d8b34b30abee96af800a1adc291610b3f918590611049565b60405180910390a160405163c0b9d28760e01b90610b6190859060200161150c565b60408051601f1981840301815290829052610b7f929160200161110e565b604051602081830303815290604052905092915050565b6001600160401b0381168114610bab57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b0381118282101715610be657610be6610bae565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610c1457610c14610bae565b604052919050565b60006001600160401b03821115610c3557610c35610bae565b5060051b60200190565b6001600160a01b0381168114610bab57600080fd5b600082601f830112610c6557600080fd5b81356020610c7a610c7583610c1c565b610bec565b82815260059290921b84018101918181019086841115610c9957600080fd5b8286015b84811015610cbd578035610cb081610c3f565b8352918301918301610c9d565b509695505050505050565b600080600060608486031215610cdd57600080fd5b8335610ce881610b96565b925060208401356001600160401b0380821115610d0457600080fd5b610d1087838801610c54565b93506040860135915080821115610d2657600080fd5b50610d3386828701610c54565b9150509250925092565b60005b83811015610d58578181015183820152602001610d40565b50506000910152565b60008151808452610d79816020860160208601610d3d565b601f01601f19169290920160200192915050565b6020815260006103236020830184610d61565b600060c08284031215610db257600080fd5b50919050565b60006001600160401b03821115610dd157610dd1610bae565b50601f01601f191660200190565b60008060408385031215610df257600080fd5b82356001600160401b0380821115610e0957600080fd5b610e1586838701610da0565b93506020850135915080821115610e2b57600080fd5b508301601f81018513610e3d57600080fd5b8035610e4b610c7582610db8565b818152866020838501011115610e6057600080fd5b816020840160208301376000602083830101528093505050509250929050565b600060208284031215610e9257600080fd5b81356001600160401b03811115610ea857600080fd5b6107cd84828501610da0565b6001600160801b031981168114610bab57600080fd5b60008060008060808587031215610ee057600080fd5b8435610eeb81610b96565b935060208501356001600160401b0380821115610f0757600080fd5b610f1388838901610c54565b94506040870135915080821115610f2957600080fd5b50610f3687828801610c54565b9250506060850135610f4781610eb4565b939692955090935050565b6000610f60610c7584610db8565b9050828152838383011115610f7457600080fd5b610323836020830184610d3d565b600060208284031215610f9457600080fd5b81516001600160401b03811115610faa57600080fd5b8201601f81018413610fbb57600080fd5b6107cd84825160208401610f52565b600081518084526020808501945080840160005b838110156110035781516001600160a01b031687529582019590820190600101610fde565b509495945050505050565b6001600160801b0319841681526001600160401b03831660208201526060604082015260006110406060830184610fca565b95945050505050565b6001600160801b0319831681526040602082015260006107cd6040830184610d61565b60006001600160801b0319808351168452806020840151166020850152506001600160401b036040830151166040840152606082015160c060608501526110b660c0850182610fca565b9050608083015184820360808601526110cf8282610fca565b91505060a083015184820360a08601526110408282610d61565b6040815260006110fc604083018561106c565b82810360208401526110408185610d61565b6001600160e01b0319831681528151600090611131816004850160208701610d3d565b919091016004019392505050565b60006020828403121561115157600080fd5b813561032381610eb4565b60006020828403121561116e57600080fd5b813561032381610b96565b6000808335601e1984360301811261119057600080fd5b8301803591506001600160401b038211156111aa57600080fd5b6020019150600581901b36038213156111c257600080fd5b9250929050565b6000606082016001600160801b03198716835260206001600160401b03871681850152606060408501528185835260808501905086925060005b8681101561123157833561121681610c3f565b6001600160a01b031682529282019290820190600101611203565b5098975050505050505050565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156112965783516001600160801b03191683529284019291840191600101611270565b50909695505050505050565b6001600160a01b03831681526040602082018190526000906107cd90830184610d61565b600082516112d8818460208701610d3d565b9190910192915050565b80516112ed81610b96565b919050565b60006020828403121561130457600080fd5b815161032381610b96565b6001600160401b03851681526080602082015260006113316080830186610fca565b82810360408401526113438186610fca565b905082810360608401526109818185610d61565b80516112ed81610eb4565b600082601f83011261137357600080fd5b81516020611383610c7583610c1c565b82815260059290921b840181019181810190868411156113a257600080fd5b8286015b84811015610cbd5780516113b981610c3f565b83529183019183016113a6565b600082601f8301126113d757600080fd5b61032383835160208501610f52565b6000602082840312156113f857600080fd5b81516001600160401b038082111561140f57600080fd5b9083019060c0828603121561142357600080fd5b61142b610bc4565b61143483611357565b815261144260208401611357565b6020820152611453604084016112e2565b604082015260608301518281111561146a57600080fd5b61147687828601611362565b60608301525060808301518281111561148e57600080fd5b61149a87828601611362565b60808301525060a0830151828111156114b257600080fd5b6114be878286016113c6565b60a08301525095945050505050565b6001600160801b0319841681526060602082015260006114f06060830185610d61565b82810360408401526115028185610d61565b9695505050505050565b602081526000610323602083018461106c56fe83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504ea164736f6c6343000813000a" - }, - "bytecode": { - "object": "0x608060405234801561001057600080fd5b5061154c806100206000396000f3fe60806040526004361061004a5760003560e01c8063236eb5a71461004f57806389026c111461007857806392f07a581461009a578063c0b9d287146100af578063d8f55db9146100cf575b600080fd5b61006261005d366004610cc8565b6100e2565b60405161006f9190610d8d565b60405180910390f35b34801561008457600080fd5b50610098610093366004610ddf565b61032a565b005b3480156100a657600080fd5b506100626103c4565b3480156100bb57600080fd5b506100986100ca366004610e80565b6103fd565b6100626100dd366004610eca565b610451565b60606100ec610687565b6100f557600080fd5b6000306001600160a01b03166392f07a586040518163ffffffff1660e01b81526004016000604051808303816000875af1158015610137573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261015f9190810190610f82565b9050600061016c82610710565b90506000610179836107d5565b905060006101be8888886040518060400160405280601c81526020017f6d657673686172653a76303a756e6d61746368656442756e646c65730000000081525061088f565b90506101fd8160000151604051806040016040528060168152602001756d657673686172653a76303a65746842756e646c657360501b8152508661098c565b8051604080518082018252601f81527f6d657673686172653a76303a65746842756e646c6553696d526573756c74730060208083019190915282516001600160401b038816918101919091526102649392015b60405160208183030381529060405261098c565b6000805160206115208339815191528160000151826040015183606001516040516102919392919061100e565b60405180910390a180516040517fdab8306bad2ca820d05b9eff8da2e3016d372c15f00bb032f758718b9cda3950916102cb918590611049565b60405180910390a16040516389026c1160e01b906102ef90839085906020016110e9565b60408051601f198184030181529082905261030d929160200161110e565b6040516020818303038152906040529450505050505b9392505050565b600080516020611520833981519152610346602084018461113f565b610356606085016040860161115c565b6103636060860186611179565b60405161037394939291906111c9565b60405180910390a17fdab8306bad2ca820d05b9eff8da2e3016d372c15f00bb032f758718b9cda39506103a9602084018461113f565b826040516103b8929190611049565b60405180910390a15050565b60606103ce610687565b6103d757600080fd5b60006103e1610a3e565b9050808060200190518101906103f79190610f82565b91505090565b600080516020611520833981519152610419602083018361113f565b610429606084016040850161115c565b6104366060850185611179565b60405161044694939291906111c9565b60405180910390a150565b606061045b610687565b61046457600080fd5b6000306001600160a01b03166392f07a586040518163ffffffff1660e01b81526004016000604051808303816000875af11580156104a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104ce9190810190610f82565b905060006104db82610710565b905060006104e8836107d5565b90506000610525898989604051806040016040528060158152602001746d657673686172653a76303a6d617463684269647360581b81525061088f565b90506105648160000151604051806040016040528060168152602001756d657673686172653a76303a65746842756e646c657360501b8152508661098c565b8051604080518082018252601f81527f6d657673686172653a76303a65746842756e646c6553696d526573756c74730060208083019190915282516000918101919091526105b3939201610250565b60408051600280825260608201835260009260208301908036833701905050905086816000815181106105e8576105e861123e565b6001600160801b03199092166020928302919091019091015281518151829060019081106106185761061861123e565b6001600160801b0319909216602092830291909101820152825160408051808201825260168152756d657673686172653a76303a6d65726765644269647360501b81850152905161066f9361025091869101611254565b6106798284610ad6565b9a9950505050505050505050565b6040516000908190819063420100009082818181855afa9150503d80600081146106cd576040519150601f19603f3d011682016040523d82523d6000602084013e6106d2565b606091505b509150915081610706576342010000816040516375fff46760e01b81526004016106fd9291906112a2565b60405180910390fd5b6020015192915050565b600080600063421000006001600160a01b0316846040516020016107349190610d8d565b60408051601f198184030181529082905261074e916112c6565b600060405180830381855afa9150503d8060008114610789576040519150601f19603f3d011682016040523d82523d6000602084013e61078e565b606091505b5091509150816107b9576342100000816040516375fff46760e01b81526004016106fd9291906112a2565b808060200190518101906107cd91906112f2565b949350505050565b60606107df610687565b6107e857600080fd5b60008063421000376001600160a01b03168460405160200161080a9190610d8d565b60408051601f1981840301815290829052610824916112c6565b600060405180830381855afa9150503d806000811461085f576040519150601f19603f3d011682016040523d82523d6000602084013e610864565b606091505b509150915081610323576342100037816040516375fff46760e01b81526004016106fd9291906112a2565b6040805160c0810182526000808252602082018190529181019190915260608082018190526080820181905260a082015260008063420300006001600160a01b0316878787876040516020016108e8949392919061130f565b60408051601f1981840301815290829052610902916112c6565b600060405180830381855afa9150503d806000811461093d576040519150601f19603f3d011682016040523d82523d6000602084013e610942565b606091505b50915091508161096d576342030000816040516375fff46760e01b81526004016106fd9291906112a2565b8080602001905181019061098191906113e6565b979650505050505050565b60008063420200006001600160a01b03168585856040516020016109b2939291906114cd565b60408051601f19818403018152908290526109cc916112c6565b600060405180830381855afa9150503d8060008114610a07576040519150601f19603f3d011682016040523d82523d6000602084013e610a0c565b606091505b509150915081610a37576342020000816040516375fff46760e01b81526004016106fd9291906112a2565b5050505050565b604080516000808252602082019283905260609290918291634201000191610a65916112c6565b600060405180830381855afa9150503d8060008114610aa0576040519150601f19603f3d011682016040523d82523d6000602084013e610aa5565b606091505b509150915081610ad0576342010001816040516375fff46760e01b81526004016106fd9291906112a2565b92915050565b6060600080516020611520833981519152836000015184604001518560600151604051610b059392919061100e565b60405180910390a182516040517fafa6f6affefc1010901fc56588695137d9939d2d8b34b30abee96af800a1adc291610b3f918590611049565b60405180910390a160405163c0b9d28760e01b90610b6190859060200161150c565b60408051601f1981840301815290829052610b7f929160200161110e565b604051602081830303815290604052905092915050565b6001600160401b0381168114610bab57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b0381118282101715610be657610be6610bae565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610c1457610c14610bae565b604052919050565b60006001600160401b03821115610c3557610c35610bae565b5060051b60200190565b6001600160a01b0381168114610bab57600080fd5b600082601f830112610c6557600080fd5b81356020610c7a610c7583610c1c565b610bec565b82815260059290921b84018101918181019086841115610c9957600080fd5b8286015b84811015610cbd578035610cb081610c3f565b8352918301918301610c9d565b509695505050505050565b600080600060608486031215610cdd57600080fd5b8335610ce881610b96565b925060208401356001600160401b0380821115610d0457600080fd5b610d1087838801610c54565b93506040860135915080821115610d2657600080fd5b50610d3386828701610c54565b9150509250925092565b60005b83811015610d58578181015183820152602001610d40565b50506000910152565b60008151808452610d79816020860160208601610d3d565b601f01601f19169290920160200192915050565b6020815260006103236020830184610d61565b600060c08284031215610db257600080fd5b50919050565b60006001600160401b03821115610dd157610dd1610bae565b50601f01601f191660200190565b60008060408385031215610df257600080fd5b82356001600160401b0380821115610e0957600080fd5b610e1586838701610da0565b93506020850135915080821115610e2b57600080fd5b508301601f81018513610e3d57600080fd5b8035610e4b610c7582610db8565b818152866020838501011115610e6057600080fd5b816020840160208301376000602083830101528093505050509250929050565b600060208284031215610e9257600080fd5b81356001600160401b03811115610ea857600080fd5b6107cd84828501610da0565b6001600160801b031981168114610bab57600080fd5b60008060008060808587031215610ee057600080fd5b8435610eeb81610b96565b935060208501356001600160401b0380821115610f0757600080fd5b610f1388838901610c54565b94506040870135915080821115610f2957600080fd5b50610f3687828801610c54565b9250506060850135610f4781610eb4565b939692955090935050565b6000610f60610c7584610db8565b9050828152838383011115610f7457600080fd5b610323836020830184610d3d565b600060208284031215610f9457600080fd5b81516001600160401b03811115610faa57600080fd5b8201601f81018413610fbb57600080fd5b6107cd84825160208401610f52565b600081518084526020808501945080840160005b838110156110035781516001600160a01b031687529582019590820190600101610fde565b509495945050505050565b6001600160801b0319841681526001600160401b03831660208201526060604082015260006110406060830184610fca565b95945050505050565b6001600160801b0319831681526040602082015260006107cd6040830184610d61565b60006001600160801b0319808351168452806020840151166020850152506001600160401b036040830151166040840152606082015160c060608501526110b660c0850182610fca565b9050608083015184820360808601526110cf8282610fca565b91505060a083015184820360a08601526110408282610d61565b6040815260006110fc604083018561106c565b82810360208401526110408185610d61565b6001600160e01b0319831681528151600090611131816004850160208701610d3d565b919091016004019392505050565b60006020828403121561115157600080fd5b813561032381610eb4565b60006020828403121561116e57600080fd5b813561032381610b96565b6000808335601e1984360301811261119057600080fd5b8301803591506001600160401b038211156111aa57600080fd5b6020019150600581901b36038213156111c257600080fd5b9250929050565b6000606082016001600160801b03198716835260206001600160401b03871681850152606060408501528185835260808501905086925060005b8681101561123157833561121681610c3f565b6001600160a01b031682529282019290820190600101611203565b5098975050505050505050565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156112965783516001600160801b03191683529284019291840191600101611270565b50909695505050505050565b6001600160a01b03831681526040602082018190526000906107cd90830184610d61565b600082516112d8818460208701610d3d565b9190910192915050565b80516112ed81610b96565b919050565b60006020828403121561130457600080fd5b815161032381610b96565b6001600160401b03851681526080602082015260006113316080830186610fca565b82810360408401526113438186610fca565b905082810360608401526109818185610d61565b80516112ed81610eb4565b600082601f83011261137357600080fd5b81516020611383610c7583610c1c565b82815260059290921b840181019181810190868411156113a257600080fd5b8286015b84811015610cbd5780516113b981610c3f565b83529183019183016113a6565b600082601f8301126113d757600080fd5b61032383835160208501610f52565b6000602082840312156113f857600080fd5b81516001600160401b038082111561140f57600080fd5b9083019060c0828603121561142357600080fd5b61142b610bc4565b61143483611357565b815261144260208401611357565b6020820152611453604084016112e2565b604082015260608301518281111561146a57600080fd5b61147687828601611362565b60608301525060808301518281111561148e57600080fd5b61149a87828601611362565b60808301525060a0830151828111156114b257600080fd5b6114be878286016113c6565b60a08301525095945050505050565b6001600160801b0319841681526060602082015260006114f06060830185610d61565b82810360408401526115028185610d61565b9695505050505050565b602081526000610323602083018461106c56fe83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504ea164736f6c6343000813000a" - } -} diff --git a/suave/artifacts/bids.sol/MevShareBundleSenderContract.json b/suave/artifacts/bids.sol/MevShareBundleSenderContract.json deleted file mode 100644 index d6565d7ce2..0000000000 --- a/suave/artifacts/bids.sol/MevShareBundleSenderContract.json +++ /dev/null @@ -1,290 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "string[]", - "name": "builderUrls_", - "type": "string[]" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "PeekerReverted", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "Suave.BidId", - "name": "bidId", - "type": "bytes16" - }, - { - "indexed": false, - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - } - ], - "name": "BidEvent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "Suave.BidId", - "name": "bidId", - "type": "bytes16" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "hint", - "type": "bytes" - } - ], - "name": "HintEvent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "Suave.BidId", - "name": "matchBidId", - "type": "bytes16" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "matchHint", - "type": "bytes" - } - ], - "name": "MatchEvent", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "builderUrls", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "Suave.BidId", - "name": "id", - "type": "bytes16" - }, - { - "internalType": "Suave.BidId", - "name": "salt", - "type": "bytes16" - }, - { - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "allowedStores", - "type": "address[]" - }, - { - "internalType": "string", - "name": "version", - "type": "string" - } - ], - "internalType": "struct Suave.Bid", - "name": "bid", - "type": "tuple" - } - ], - "name": "emitBid", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "Suave.BidId", - "name": "id", - "type": "bytes16" - }, - { - "internalType": "Suave.BidId", - "name": "salt", - "type": "bytes16" - }, - { - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "allowedPeekers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "allowedStores", - "type": "address[]" - }, - { - "internalType": "string", - "name": "version", - "type": "string" - } - ], - "internalType": "struct Suave.Bid", - "name": "bid", - "type": "tuple" - }, - { - "internalType": "bytes", - "name": "hint", - "type": "bytes" - } - ], - "name": "emitBidAndHint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "fetchBidConfidentialBundleData", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "bidAllowedPeekers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "bidAllowedStores", - "type": "address[]" - } - ], - "name": "newBid", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "decryptionCondition", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "bidAllowedPeekers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "bidAllowedStores", - "type": "address[]" - }, - { - "internalType": "Suave.BidId", - "name": "shareBidId", - "type": "bytes16" - } - ], - "name": "newMatch", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "payable", - "type": "function" - } - ], - "deployedBytecode": { - "object": "0x6080604052600436106100555760003560e01c80631141a0b01461005a578063236eb5a71461009057806389026c11146100a357806392f07a58146100c5578063c0b9d287146100da578063d8f55db9146100fa575b600080fd5b34801561006657600080fd5b5061007a610075366004610f00565b61010d565b6040516100879190610f69565b60405180910390f35b61007a61009e3660046110ae565b6101b9565b3480156100af57600080fd5b506100c36100be366004611162565b610401565b005b3480156100d157600080fd5b5061007a61049b565b3480156100e657600080fd5b506100c36100f5366004611203565b6104d4565b61007a61010836600461124d565b610528565b6000818154811061011d57600080fd5b906000526020600020016000915090508054610138906112d5565b80601f0160208091040260200160405190810160405280929190818152602001828054610164906112d5565b80156101b15780601f10610186576101008083540402835291602001916101b1565b820191906000526020600020905b81548152906001019060200180831161019457829003601f168201915b505050505081565b60606101c361075e565b6101cc57600080fd5b6000306001600160a01b03166392f07a586040518163ffffffff1660e01b81526004016000604051808303816000875af115801561020e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102369190810190611339565b90506000610243826107e7565b90506000610250836108ac565b905060006102958888886040518060400160405280601c81526020017f6d657673686172653a76303a756e6d61746368656442756e646c657300000000815250610966565b90506102d48160000151604051806040016040528060168152602001756d657673686172653a76303a65746842756e646c657360501b81525086610a63565b8051604080518082018252601f81527f6d657673686172653a76303a65746842756e646c6553696d526573756c74730060208083019190915282516001600160401b0388169181019190915261033b9392015b604051602081830303815290604052610a63565b60008051602061192e833981519152816000015182604001518360600151604051610368939291906113c5565b60405180910390a180516040517fdab8306bad2ca820d05b9eff8da2e3016d372c15f00bb032f758718b9cda3950916103a29185906113f7565b60405180910390a16040516389026c1160e01b906103c69083908590602001611497565b60408051601f19818403018152908290526103e492916020016114bc565b6040516020818303038152906040529450505050505b9392505050565b60008051602061192e83398151915261041d60208401846114ed565b61042d606085016040860161150a565b61043a6060860186611527565b60405161044a9493929190611577565b60405180910390a17fdab8306bad2ca820d05b9eff8da2e3016d372c15f00bb032f758718b9cda395061048060208401846114ed565b8260405161048f9291906113f7565b60405180910390a15050565b60606104a561075e565b6104ae57600080fd5b60006104b8610b15565b9050808060200190518101906104ce9190611339565b91505090565b60008051602061192e8339815191526104f060208301836114ed565b610500606084016040850161150a565b61050d6060850185611527565b60405161051d9493929190611577565b60405180910390a150565b606061053261075e565b61053b57600080fd5b6000306001600160a01b03166392f07a586040518163ffffffff1660e01b81526004016000604051808303816000875af115801561057d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105a59190810190611339565b905060006105b2826107e7565b905060006105bf836108ac565b905060006105fc898989604051806040016040528060158152602001746d657673686172653a76303a6d617463684269647360581b815250610966565b905061063b8160000151604051806040016040528060168152602001756d657673686172653a76303a65746842756e646c657360501b81525086610a63565b8051604080518082018252601f81527f6d657673686172653a76303a65746842756e646c6553696d526573756c747300602080830191909152825160009181019190915261068a939201610327565b60408051600280825260608201835260009260208301908036833701905050905086816000815181106106bf576106bf6115ec565b6001600160801b03199092166020928302919091019091015281518151829060019081106106ef576106ef6115ec565b6001600160801b0319909216602092830291909101820152825160408051808201825260168152756d657673686172653a76303a6d65726765644269647360501b8185015290516107469361032791869101611602565b6107508284610bad565b9a9950505050505050505050565b6040516000908190819063420100009082818181855afa9150503d80600081146107a4576040519150601f19603f3d011682016040523d82523d6000602084013e6107a9565b606091505b5091509150816107dd576342010000816040516375fff46760e01b81526004016107d4929190611650565b60405180910390fd5b6020015192915050565b600080600063421000006001600160a01b03168460405160200161080b9190610f69565b60408051601f198184030181529082905261082591611674565b600060405180830381855afa9150503d8060008114610860576040519150601f19603f3d011682016040523d82523d6000602084013e610865565b606091505b509150915081610890576342100000816040516375fff46760e01b81526004016107d4929190611650565b808060200190518101906108a491906116a0565b949350505050565b60606108b661075e565b6108bf57600080fd5b60008063421000376001600160a01b0316846040516020016108e19190610f69565b60408051601f19818403018152908290526108fb91611674565b600060405180830381855afa9150503d8060008114610936576040519150601f19603f3d011682016040523d82523d6000602084013e61093b565b606091505b5091509150816103fa576342100037816040516375fff46760e01b81526004016107d4929190611650565b6040805160c0810182526000808252602082018190529181019190915260608082018190526080820181905260a082015260008063420300006001600160a01b0316878787876040516020016109bf94939291906116bd565b60408051601f19818403018152908290526109d991611674565b600060405180830381855afa9150503d8060008114610a14576040519150601f19603f3d011682016040523d82523d6000602084013e610a19565b606091505b509150915081610a44576342030000816040516375fff46760e01b81526004016107d4929190611650565b80806020019051810190610a589190611794565b979650505050505050565b60008063420200006001600160a01b0316858585604051602001610a899392919061187b565b60408051601f1981840301815290829052610aa391611674565b600060405180830381855afa9150503d8060008114610ade576040519150601f19603f3d011682016040523d82523d6000602084013e610ae3565b606091505b509150915081610b0e576342020000816040516375fff46760e01b81526004016107d4929190611650565b5050505050565b604080516000808252602082019283905260609290918291634201000191610b3c91611674565b600060405180830381855afa9150503d8060008114610b77576040519150601f19603f3d011682016040523d82523d6000602084013e610b7c565b606091505b509150915081610ba7576342010001816040516375fff46760e01b81526004016107d4929190611650565b92915050565b60606000610bbe8460000151610cc1565b905060005b600054811015610cb657610ca360008281548110610be357610be36115ec565b906000526020600020018054610bf8906112d5565b80601f0160208091040260200160405190810160405280929190818152602001828054610c24906112d5565b8015610c715780601f10610c4657610100808354040283529160200191610c71565b820191906000526020600020905b815481529060010190602001808311610c5457829003601f168201915b50505050506040518060400160405280600e81526020016d6d65765f73656e6442756e646c6560901b81525084610d79565b5080610cae816118ba565b915050610bc3565b506108a48484610e40565b6060610ccb61075e565b610cd457600080fd5b604080516001600160801b03198416602082015260009182916343200001910160408051601f1981840301815290829052610d0e91611674565b600060405180830381855afa9150503d8060008114610d49576040519150601f19603f3d011682016040523d82523d6000602084013e610d4e565b606091505b5091509150816103fa576343200001816040516375fff46760e01b81526004016107d4929190611650565b6060610d8361075e565b610d8c57600080fd5b60008063430000016001600160a01b0316868686604051602001610db2939291906118e1565b60408051601f1981840301815290829052610dcc91611674565b600060405180830381855afa9150503d8060008114610e07576040519150601f19603f3d011682016040523d82523d6000602084013e610e0c565b606091505b509150915081610e37576343000001816040516375fff46760e01b81526004016107d4929190611650565b95945050505050565b606060008051602061192e833981519152836000015184604001518560600151604051610e6f939291906113c5565b60405180910390a182516040517fafa6f6affefc1010901fc56588695137d9939d2d8b34b30abee96af800a1adc291610ea99185906113f7565b60405180910390a160405163c0b9d28760e01b90610ecb90859060200161191a565b60408051601f1981840301815290829052610ee992916020016114bc565b604051602081830303815290604052905092915050565b600060208284031215610f1257600080fd5b5035919050565b60005b83811015610f34578181015183820152602001610f1c565b50506000910152565b60008151808452610f55816020860160208601610f19565b601f01601f19169290920160200192915050565b6020815260006103fa6020830184610f3d565b6001600160401b0381168114610f9157600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b0381118282101715610fcc57610fcc610f94565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610ffa57610ffa610f94565b604052919050565b60006001600160401b0382111561101b5761101b610f94565b5060051b60200190565b6001600160a01b0381168114610f9157600080fd5b600082601f83011261104b57600080fd5b8135602061106061105b83611002565b610fd2565b82815260059290921b8401810191818101908684111561107f57600080fd5b8286015b848110156110a357803561109681611025565b8352918301918301611083565b509695505050505050565b6000806000606084860312156110c357600080fd5b83356110ce81610f7c565b925060208401356001600160401b03808211156110ea57600080fd5b6110f68783880161103a565b9350604086013591508082111561110c57600080fd5b506111198682870161103a565b9150509250925092565b600060c0828403121561113557600080fd5b50919050565b60006001600160401b0382111561115457611154610f94565b50601f01601f191660200190565b6000806040838503121561117557600080fd5b82356001600160401b038082111561118c57600080fd5b61119886838701611123565b935060208501359150808211156111ae57600080fd5b508301601f810185136111c057600080fd5b80356111ce61105b8261113b565b8181528660208385010111156111e357600080fd5b816020840160208301376000602083830101528093505050509250929050565b60006020828403121561121557600080fd5b81356001600160401b0381111561122b57600080fd5b6108a484828501611123565b6001600160801b031981168114610f9157600080fd5b6000806000806080858703121561126357600080fd5b843561126e81610f7c565b935060208501356001600160401b038082111561128a57600080fd5b6112968883890161103a565b945060408701359150808211156112ac57600080fd5b506112b98782880161103a565b92505060608501356112ca81611237565b939692955090935050565b600181811c908216806112e957607f821691505b60208210810361113557634e487b7160e01b600052602260045260246000fd5b600061131761105b8461113b565b905082815283838301111561132b57600080fd5b6103fa836020830184610f19565b60006020828403121561134b57600080fd5b81516001600160401b0381111561136157600080fd5b8201601f8101841361137257600080fd5b6108a484825160208401611309565b600081518084526020808501945080840160005b838110156113ba5781516001600160a01b031687529582019590820190600101611395565b509495945050505050565b6001600160801b0319841681526001600160401b0383166020820152606060408201526000610e376060830184611381565b6001600160801b0319831681526040602082015260006108a46040830184610f3d565b60006001600160801b0319808351168452806020840151166020850152506001600160401b036040830151166040840152606082015160c0606085015261146460c0850182611381565b90506080830151848203608086015261147d8282611381565b91505060a083015184820360a0860152610e378282610f3d565b6040815260006114aa604083018561141a565b8281036020840152610e378185610f3d565b6001600160e01b03198316815281516000906114df816004850160208701610f19565b919091016004019392505050565b6000602082840312156114ff57600080fd5b81356103fa81611237565b60006020828403121561151c57600080fd5b81356103fa81610f7c565b6000808335601e1984360301811261153e57600080fd5b8301803591506001600160401b0382111561155857600080fd5b6020019150600581901b360382131561157057600080fd5b9250929050565b6000606082016001600160801b03198716835260206001600160401b03871681850152606060408501528185835260808501905086925060005b868110156115df5783356115c481611025565b6001600160a01b0316825292820192908201906001016115b1565b5098975050505050505050565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156116445783516001600160801b0319168352928401929184019160010161161e565b50909695505050505050565b6001600160a01b03831681526040602082018190526000906108a490830184610f3d565b60008251611686818460208701610f19565b9190910192915050565b805161169b81610f7c565b919050565b6000602082840312156116b257600080fd5b81516103fa81610f7c565b6001600160401b03851681526080602082015260006116df6080830186611381565b82810360408401526116f18186611381565b90508281036060840152610a588185610f3d565b805161169b81611237565b600082601f83011261172157600080fd5b8151602061173161105b83611002565b82815260059290921b8401810191818101908684111561175057600080fd5b8286015b848110156110a357805161176781611025565b8352918301918301611754565b600082601f83011261178557600080fd5b6103fa83835160208501611309565b6000602082840312156117a657600080fd5b81516001600160401b03808211156117bd57600080fd5b9083019060c082860312156117d157600080fd5b6117d9610faa565b6117e283611705565b81526117f060208401611705565b602082015261180160408401611690565b604082015260608301518281111561181857600080fd5b61182487828601611710565b60608301525060808301518281111561183c57600080fd5b61184887828601611710565b60808301525060a08301518281111561186057600080fd5b61186c87828601611774565b60a08301525095945050505050565b6001600160801b03198416815260606020820152600061189e6060830185610f3d565b82810360408401526118b08185610f3d565b9695505050505050565b6000600182016118da57634e487b7160e01b600052601160045260246000fd5b5060010190565b6060815260006118f46060830186610f3d565b82810360208401526119068186610f3d565b905082810360408401526118b08185610f3d565b6020815260006103fa602083018461141a56fe83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504ea164736f6c6343000813000a" - }, - "bytecode": { - "object": "0x60806040523480156200001157600080fd5b5060405162001d7a38038062001d7a833981016040819052620000349162000171565b80516200004990600090602084019062000051565b505062000410565b8280548282559060005260206000209081019282156200009c579160200282015b828111156200009c57825182906200008b908262000344565b509160200191906001019062000072565b50620000aa929150620000ae565b5090565b80821115620000aa576000620000c58282620000cf565b50600101620000ae565b508054620000dd90620002b5565b6000825580601f10620000ee575050565b601f0160209004906000526020600020908101906200010e919062000111565b50565b5b80821115620000aa576000815560010162000112565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562000169576200016962000128565b604052919050565b600060208083850312156200018557600080fd5b82516001600160401b03808211156200019d57600080fd5b8185019150601f8681840112620001b357600080fd5b825182811115620001c857620001c862000128565b8060051b620001d98682016200013e565b918252848101860191868101908a841115620001f457600080fd5b87870192505b83831015620002a757825186811115620002145760008081fd5b8701603f81018c13620002275760008081fd5b88810151878111156200023e576200023e62000128565b62000251818801601f19168b016200013e565b81815260408e81848601011115620002695760008081fd5b60005b8381101562000289578481018201518382018e01528c016200026c565b505060009181018b01919091528352509187019190870190620001fa565b9a9950505050505050505050565b600181811c90821680620002ca57607f821691505b602082108103620002eb57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200033f57600081815260208120601f850160051c810160208610156200031a5750805b601f850160051c820191505b818110156200033b5782815560010162000326565b5050505b505050565b81516001600160401b0381111562000360576200036062000128565b6200037881620003718454620002b5565b84620002f1565b602080601f831160018114620003b05760008415620003975750858301515b600019600386901b1c1916600185901b1785556200033b565b600085815260208120601f198616915b82811015620003e157888601518255948401946001909101908401620003c0565b5085821015620004005787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61195a80620004206000396000f3fe6080604052600436106100555760003560e01c80631141a0b01461005a578063236eb5a71461009057806389026c11146100a357806392f07a58146100c5578063c0b9d287146100da578063d8f55db9146100fa575b600080fd5b34801561006657600080fd5b5061007a610075366004610f00565b61010d565b6040516100879190610f69565b60405180910390f35b61007a61009e3660046110ae565b6101b9565b3480156100af57600080fd5b506100c36100be366004611162565b610401565b005b3480156100d157600080fd5b5061007a61049b565b3480156100e657600080fd5b506100c36100f5366004611203565b6104d4565b61007a61010836600461124d565b610528565b6000818154811061011d57600080fd5b906000526020600020016000915090508054610138906112d5565b80601f0160208091040260200160405190810160405280929190818152602001828054610164906112d5565b80156101b15780601f10610186576101008083540402835291602001916101b1565b820191906000526020600020905b81548152906001019060200180831161019457829003601f168201915b505050505081565b60606101c361075e565b6101cc57600080fd5b6000306001600160a01b03166392f07a586040518163ffffffff1660e01b81526004016000604051808303816000875af115801561020e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102369190810190611339565b90506000610243826107e7565b90506000610250836108ac565b905060006102958888886040518060400160405280601c81526020017f6d657673686172653a76303a756e6d61746368656442756e646c657300000000815250610966565b90506102d48160000151604051806040016040528060168152602001756d657673686172653a76303a65746842756e646c657360501b81525086610a63565b8051604080518082018252601f81527f6d657673686172653a76303a65746842756e646c6553696d526573756c74730060208083019190915282516001600160401b0388169181019190915261033b9392015b604051602081830303815290604052610a63565b60008051602061192e833981519152816000015182604001518360600151604051610368939291906113c5565b60405180910390a180516040517fdab8306bad2ca820d05b9eff8da2e3016d372c15f00bb032f758718b9cda3950916103a29185906113f7565b60405180910390a16040516389026c1160e01b906103c69083908590602001611497565b60408051601f19818403018152908290526103e492916020016114bc565b6040516020818303038152906040529450505050505b9392505050565b60008051602061192e83398151915261041d60208401846114ed565b61042d606085016040860161150a565b61043a6060860186611527565b60405161044a9493929190611577565b60405180910390a17fdab8306bad2ca820d05b9eff8da2e3016d372c15f00bb032f758718b9cda395061048060208401846114ed565b8260405161048f9291906113f7565b60405180910390a15050565b60606104a561075e565b6104ae57600080fd5b60006104b8610b15565b9050808060200190518101906104ce9190611339565b91505090565b60008051602061192e8339815191526104f060208301836114ed565b610500606084016040850161150a565b61050d6060850185611527565b60405161051d9493929190611577565b60405180910390a150565b606061053261075e565b61053b57600080fd5b6000306001600160a01b03166392f07a586040518163ffffffff1660e01b81526004016000604051808303816000875af115801561057d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105a59190810190611339565b905060006105b2826107e7565b905060006105bf836108ac565b905060006105fc898989604051806040016040528060158152602001746d657673686172653a76303a6d617463684269647360581b815250610966565b905061063b8160000151604051806040016040528060168152602001756d657673686172653a76303a65746842756e646c657360501b81525086610a63565b8051604080518082018252601f81527f6d657673686172653a76303a65746842756e646c6553696d526573756c747300602080830191909152825160009181019190915261068a939201610327565b60408051600280825260608201835260009260208301908036833701905050905086816000815181106106bf576106bf6115ec565b6001600160801b03199092166020928302919091019091015281518151829060019081106106ef576106ef6115ec565b6001600160801b0319909216602092830291909101820152825160408051808201825260168152756d657673686172653a76303a6d65726765644269647360501b8185015290516107469361032791869101611602565b6107508284610bad565b9a9950505050505050505050565b6040516000908190819063420100009082818181855afa9150503d80600081146107a4576040519150601f19603f3d011682016040523d82523d6000602084013e6107a9565b606091505b5091509150816107dd576342010000816040516375fff46760e01b81526004016107d4929190611650565b60405180910390fd5b6020015192915050565b600080600063421000006001600160a01b03168460405160200161080b9190610f69565b60408051601f198184030181529082905261082591611674565b600060405180830381855afa9150503d8060008114610860576040519150601f19603f3d011682016040523d82523d6000602084013e610865565b606091505b509150915081610890576342100000816040516375fff46760e01b81526004016107d4929190611650565b808060200190518101906108a491906116a0565b949350505050565b60606108b661075e565b6108bf57600080fd5b60008063421000376001600160a01b0316846040516020016108e19190610f69565b60408051601f19818403018152908290526108fb91611674565b600060405180830381855afa9150503d8060008114610936576040519150601f19603f3d011682016040523d82523d6000602084013e61093b565b606091505b5091509150816103fa576342100037816040516375fff46760e01b81526004016107d4929190611650565b6040805160c0810182526000808252602082018190529181019190915260608082018190526080820181905260a082015260008063420300006001600160a01b0316878787876040516020016109bf94939291906116bd565b60408051601f19818403018152908290526109d991611674565b600060405180830381855afa9150503d8060008114610a14576040519150601f19603f3d011682016040523d82523d6000602084013e610a19565b606091505b509150915081610a44576342030000816040516375fff46760e01b81526004016107d4929190611650565b80806020019051810190610a589190611794565b979650505050505050565b60008063420200006001600160a01b0316858585604051602001610a899392919061187b565b60408051601f1981840301815290829052610aa391611674565b600060405180830381855afa9150503d8060008114610ade576040519150601f19603f3d011682016040523d82523d6000602084013e610ae3565b606091505b509150915081610b0e576342020000816040516375fff46760e01b81526004016107d4929190611650565b5050505050565b604080516000808252602082019283905260609290918291634201000191610b3c91611674565b600060405180830381855afa9150503d8060008114610b77576040519150601f19603f3d011682016040523d82523d6000602084013e610b7c565b606091505b509150915081610ba7576342010001816040516375fff46760e01b81526004016107d4929190611650565b92915050565b60606000610bbe8460000151610cc1565b905060005b600054811015610cb657610ca360008281548110610be357610be36115ec565b906000526020600020018054610bf8906112d5565b80601f0160208091040260200160405190810160405280929190818152602001828054610c24906112d5565b8015610c715780601f10610c4657610100808354040283529160200191610c71565b820191906000526020600020905b815481529060010190602001808311610c5457829003601f168201915b50505050506040518060400160405280600e81526020016d6d65765f73656e6442756e646c6560901b81525084610d79565b5080610cae816118ba565b915050610bc3565b506108a48484610e40565b6060610ccb61075e565b610cd457600080fd5b604080516001600160801b03198416602082015260009182916343200001910160408051601f1981840301815290829052610d0e91611674565b600060405180830381855afa9150503d8060008114610d49576040519150601f19603f3d011682016040523d82523d6000602084013e610d4e565b606091505b5091509150816103fa576343200001816040516375fff46760e01b81526004016107d4929190611650565b6060610d8361075e565b610d8c57600080fd5b60008063430000016001600160a01b0316868686604051602001610db2939291906118e1565b60408051601f1981840301815290829052610dcc91611674565b600060405180830381855afa9150503d8060008114610e07576040519150601f19603f3d011682016040523d82523d6000602084013e610e0c565b606091505b509150915081610e37576343000001816040516375fff46760e01b81526004016107d4929190611650565b95945050505050565b606060008051602061192e833981519152836000015184604001518560600151604051610e6f939291906113c5565b60405180910390a182516040517fafa6f6affefc1010901fc56588695137d9939d2d8b34b30abee96af800a1adc291610ea99185906113f7565b60405180910390a160405163c0b9d28760e01b90610ecb90859060200161191a565b60408051601f1981840301815290829052610ee992916020016114bc565b604051602081830303815290604052905092915050565b600060208284031215610f1257600080fd5b5035919050565b60005b83811015610f34578181015183820152602001610f1c565b50506000910152565b60008151808452610f55816020860160208601610f19565b601f01601f19169290920160200192915050565b6020815260006103fa6020830184610f3d565b6001600160401b0381168114610f9157600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b0381118282101715610fcc57610fcc610f94565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610ffa57610ffa610f94565b604052919050565b60006001600160401b0382111561101b5761101b610f94565b5060051b60200190565b6001600160a01b0381168114610f9157600080fd5b600082601f83011261104b57600080fd5b8135602061106061105b83611002565b610fd2565b82815260059290921b8401810191818101908684111561107f57600080fd5b8286015b848110156110a357803561109681611025565b8352918301918301611083565b509695505050505050565b6000806000606084860312156110c357600080fd5b83356110ce81610f7c565b925060208401356001600160401b03808211156110ea57600080fd5b6110f68783880161103a565b9350604086013591508082111561110c57600080fd5b506111198682870161103a565b9150509250925092565b600060c0828403121561113557600080fd5b50919050565b60006001600160401b0382111561115457611154610f94565b50601f01601f191660200190565b6000806040838503121561117557600080fd5b82356001600160401b038082111561118c57600080fd5b61119886838701611123565b935060208501359150808211156111ae57600080fd5b508301601f810185136111c057600080fd5b80356111ce61105b8261113b565b8181528660208385010111156111e357600080fd5b816020840160208301376000602083830101528093505050509250929050565b60006020828403121561121557600080fd5b81356001600160401b0381111561122b57600080fd5b6108a484828501611123565b6001600160801b031981168114610f9157600080fd5b6000806000806080858703121561126357600080fd5b843561126e81610f7c565b935060208501356001600160401b038082111561128a57600080fd5b6112968883890161103a565b945060408701359150808211156112ac57600080fd5b506112b98782880161103a565b92505060608501356112ca81611237565b939692955090935050565b600181811c908216806112e957607f821691505b60208210810361113557634e487b7160e01b600052602260045260246000fd5b600061131761105b8461113b565b905082815283838301111561132b57600080fd5b6103fa836020830184610f19565b60006020828403121561134b57600080fd5b81516001600160401b0381111561136157600080fd5b8201601f8101841361137257600080fd5b6108a484825160208401611309565b600081518084526020808501945080840160005b838110156113ba5781516001600160a01b031687529582019590820190600101611395565b509495945050505050565b6001600160801b0319841681526001600160401b0383166020820152606060408201526000610e376060830184611381565b6001600160801b0319831681526040602082015260006108a46040830184610f3d565b60006001600160801b0319808351168452806020840151166020850152506001600160401b036040830151166040840152606082015160c0606085015261146460c0850182611381565b90506080830151848203608086015261147d8282611381565b91505060a083015184820360a0860152610e378282610f3d565b6040815260006114aa604083018561141a565b8281036020840152610e378185610f3d565b6001600160e01b03198316815281516000906114df816004850160208701610f19565b919091016004019392505050565b6000602082840312156114ff57600080fd5b81356103fa81611237565b60006020828403121561151c57600080fd5b81356103fa81610f7c565b6000808335601e1984360301811261153e57600080fd5b8301803591506001600160401b0382111561155857600080fd5b6020019150600581901b360382131561157057600080fd5b9250929050565b6000606082016001600160801b03198716835260206001600160401b03871681850152606060408501528185835260808501905086925060005b868110156115df5783356115c481611025565b6001600160a01b0316825292820192908201906001016115b1565b5098975050505050505050565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156116445783516001600160801b0319168352928401929184019160010161161e565b50909695505050505050565b6001600160a01b03831681526040602082018190526000906108a490830184610f3d565b60008251611686818460208701610f19565b9190910192915050565b805161169b81610f7c565b919050565b6000602082840312156116b257600080fd5b81516103fa81610f7c565b6001600160401b03851681526080602082015260006116df6080830186611381565b82810360408401526116f18186611381565b90508281036060840152610a588185610f3d565b805161169b81611237565b600082601f83011261172157600080fd5b8151602061173161105b83611002565b82815260059290921b8401810191818101908684111561175057600080fd5b8286015b848110156110a357805161176781611025565b8352918301918301611754565b600082601f83011261178557600080fd5b6103fa83835160208501611309565b6000602082840312156117a657600080fd5b81516001600160401b03808211156117bd57600080fd5b9083019060c082860312156117d157600080fd5b6117d9610faa565b6117e283611705565b81526117f060208401611705565b602082015261180160408401611690565b604082015260608301518281111561181857600080fd5b61182487828601611710565b60608301525060808301518281111561183c57600080fd5b61184887828601611710565b60808301525060a08301518281111561186057600080fd5b61186c87828601611774565b60a08301525095945050505050565b6001600160801b03198416815260606020820152600061189e6060830185610f3d565b82810360408401526118b08185610f3d565b9695505050505050565b6000600182016118da57634e487b7160e01b600052601160045260246000fd5b5060010190565b6060815260006118f46060830186610f3d565b82810360208401526119068186610f3d565b905082810360408401526118b08185610f3d565b6020815260006103fa602083018461141a56fe83481d5b04dea534715acad673a8177a46fc93882760f36bdc16ccac439d504ea164736f6c6343000813000a" - } -} diff --git a/suave/artifacts/example.sol/ExampleEthCallSource.json b/suave/artifacts/example.sol/ExampleEthCallSource.json deleted file mode 100644 index 75f1631f5a..0000000000 --- a/suave/artifacts/example.sol/ExampleEthCallSource.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "PeekerReverted", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "expected", - "type": "uint256" - } - ], - "name": "callTarget", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "ilegalStateTransition", - "outputs": [], - "stateMutability": "payable", - "type": "function" - } - ], - "deployedBytecode": { - "object": "0x6080604052600436106100295760003560e01c806348bce0641461002e5780639476e96614610050575b600080fd5b34801561003a57600080fd5b5061004e6100493660046101d8565b610058565b005b61004e6100c5565b6040805160048152602481019091526020810180516001600160e01b0316631b53398f60e21b17905260009061008f908490610107565b90506000818060200190518101906100a79190610210565b67ffffffffffffffff1690508281146100bf57600080fd5b50505050565b6000805467ffffffffffffffff1690806100de83610241565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b606060008063421000036001600160a01b0316858560405160200161012d92919061029a565b60408051601f1981840301815290829052610147916102dc565b600060405180830381855afa9150503d8060008114610182576040519150601f19603f3d011682016040523d82523d6000602084013e610187565b606091505b5091509150816101bb576342100003816040516375fff46760e01b81526004016101b292919061029a565b60405180910390fd5b808060200190518101906101cf919061030e565b95945050505050565b600080604083850312156101eb57600080fd5b82356001600160a01b038116811461020257600080fd5b946020939093013593505050565b60006020828403121561022257600080fd5b815167ffffffffffffffff8116811461023a57600080fd5b9392505050565b600067ffffffffffffffff80831681810361026c57634e487b7160e01b600052601160045260246000fd5b6001019392505050565b60005b83811015610291578181015183820152602001610279565b50506000910152565b60018060a01b038316815260406020820152600082518060408401526102c7816060850160208701610276565b601f01601f1916919091016060019392505050565b600082516102ee818460208701610276565b9190910192915050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561032057600080fd5b815167ffffffffffffffff8082111561033857600080fd5b818401915084601f83011261034c57600080fd5b81518181111561035e5761035e6102f8565b604051601f8201601f19908116603f01168101908382118183101715610386576103866102f8565b8160405282815287602084870101111561039f57600080fd5b6103b0836020830160208801610276565b97965050505050505056fea164736f6c6343000813000a" - }, - "bytecode": { - "object": "0x608060405234801561001057600080fd5b506103c8806100206000396000f3fe6080604052600436106100295760003560e01c806348bce0641461002e5780639476e96614610050575b600080fd5b34801561003a57600080fd5b5061004e6100493660046101d8565b610058565b005b61004e6100c5565b6040805160048152602481019091526020810180516001600160e01b0316631b53398f60e21b17905260009061008f908490610107565b90506000818060200190518101906100a79190610210565b67ffffffffffffffff1690508281146100bf57600080fd5b50505050565b6000805467ffffffffffffffff1690806100de83610241565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b606060008063421000036001600160a01b0316858560405160200161012d92919061029a565b60408051601f1981840301815290829052610147916102dc565b600060405180830381855afa9150503d8060008114610182576040519150601f19603f3d011682016040523d82523d6000602084013e610187565b606091505b5091509150816101bb576342100003816040516375fff46760e01b81526004016101b292919061029a565b60405180910390fd5b808060200190518101906101cf919061030e565b95945050505050565b600080604083850312156101eb57600080fd5b82356001600160a01b038116811461020257600080fd5b946020939093013593505050565b60006020828403121561022257600080fd5b815167ffffffffffffffff8116811461023a57600080fd5b9392505050565b600067ffffffffffffffff80831681810361026c57634e487b7160e01b600052601160045260246000fd5b6001019392505050565b60005b83811015610291578181015183820152602001610279565b50506000910152565b60018060a01b038316815260406020820152600082518060408401526102c7816060850160208701610276565b601f01601f1916919091016060019392505050565b600082516102ee818460208701610276565b9190910192915050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561032057600080fd5b815167ffffffffffffffff8082111561033857600080fd5b818401915084601f83011261034c57600080fd5b81518181111561035e5761035e6102f8565b604051601f8201601f19908116603f01168101908382118183101715610386576103866102f8565b8160405282815287602084870101111561039f57600080fd5b6103b0836020830160208801610276565b97965050505050505056fea164736f6c6343000813000a" - } -} diff --git a/suave/artifacts/example.sol/ExampleEthCallTarget.json b/suave/artifacts/example.sol/ExampleEthCallTarget.json deleted file mode 100644 index 3a51d05157..0000000000 --- a/suave/artifacts/example.sol/ExampleEthCallTarget.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "abi": [ - { - "inputs": [], - "name": "get", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "deployedBytecode": { - "object": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c80636d4ce63c14602d575b600080fd5b606560405190815260200160405180910390f3fea164736f6c6343000813000a" - }, - "bytecode": { - "object": "0x6080604052348015600f57600080fd5b50604e80601d6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80636d4ce63c14602d575b600080fd5b606560405190815260200160405180910390f3fea164736f6c6343000813000a" - } -} diff --git a/suave/artifacts/forge_example.sol/Example.json b/suave/artifacts/forge_example.sol/Example.json deleted file mode 100644 index d4b5ba8e71..0000000000 --- a/suave/artifacts/forge_example.sol/Example.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "abi": [ - { - "inputs": [], - "name": "IS_SCRIPT", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "addressList", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "run", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063b810fb4314610046578063c040622614610076578063f8ccbf4714610080575b600080fd5b6100596100543660046107cf565b6100a3565b6040516001600160a01b0390911681526020015b60405180910390f35b61007e6100cd565b005b600b546100939062010000900460ff1681565b604051901515815260200161006d565b600c81815481106100b357600080fd5b6000918252602090912001546001600160a01b0316905081565b60006101bd6000600c80548060200260200160405190810160405280929190818152602001828054801561012a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161010c575b5050505050600c80548060200260200160405190810160405280929190818152602001828054801561018557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610167575b50505050506040518060400160405280601581526020017464656661756c743a76303a65746842756e646c657360581b815250610290565b905060006101f960006040518060400160405280601581526020017464656661756c743a76303a65746842756e646c657360581b81525061032a565b9050610205815161037d565b6102578260000151604051806040016040528060018152602001606160f81b815250604051602001610243906531313131313160d11b815260060190565b6040516020818303038152906040526103c5565b60006102808360000151604051806040016040528060018152602001606160f81b8152506103ff565b905061028b81610432565b505050565b6040805160c0810182526000808252602082018190529181019190915260608082018190526080820181905260a0820152600061030a6040518060600160405280602a8152602001610e89602a9139878787876040516020016102f6949392919061087c565b604051602081830303815290604052610475565b9050808060200190518101906103209190610b60565b9695505050505050565b6060600061035d6040518060600160405280602a8152602001610edd602a913985856040516020016102f6929190610b95565b9050808060200190518101906103739190610bc0565b9150505b92915050565b6103c28160405160240161039391815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663f5b1bba960e01b1790526105ea565b50565b60006103f86040518060600160405280602a8152602001610eb3602a91398585856040516020016102f693929190610c71565b5050505050565b606060006103736040518060600160405280602a8152602001610e5f602a913985856040516020016102f6929190610ca6565b6103c2816040516024016104469190610cc9565b60408051601f198184030181529190526020810180516001600160e01b03166305f3bfab60e11b1790526105ea565b606060006104828361060b565b60408051600480825260a0820190925291925060009190816020015b606081526020019060019003908161049e57905050905060405180604001604052806005815260200164737561766560d81b815250816000815181106104e6576104e6610cdc565b602002602001018190525060405180604001604052806005815260200164666f72676560d81b8152508160018151811061052257610522610cdc565b6020026020010181905250848160028151811061054157610541610cdc565b6020026020010181905250818160038151811061056057610560610cdc565b6020908102919091010152604051638916046760e01b8152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d906389160467906105a5908590600401610cf2565b600060405180830381865afa1580156105c2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103209190810190610d54565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b606060008251600261061d9190610db3565b67ffffffffffffffff811115610635576106356108d0565b6040519080825280601f01601f19166020018201604052801561065f576020820181803683370190505b5060408051808201909152601081526f181899199a1a9b1b9c1cb0b131b232b360811b602082015290915060005b84518110156107a5578182518683815181106106ab576106ab610cdc565b01602001516106bd919060f81c610de0565b815181106106cd576106cd610cdc565b01602001516001600160f81b031916836106e8836002610db3565b815181106106f8576106f8610cdc565b60200101906001600160f81b031916908160001a90535081825186838151811061072457610724610cdc565b0160200151610736919060f81c610df4565b8151811061074657610746610cdc565b01602001516001600160f81b03191683610761836002610db3565b61076c906001610e08565b8151811061077c5761077c610cdc565b60200101906001600160f81b031916908160001a9053508061079d81610e1b565b91505061068d565b50816040516020016107b79190610e34565b60405160208183030381529060405292505050919050565b6000602082840312156107e157600080fd5b5035919050565b600081518084526020808501945080840160005b838110156108215781516001600160a01b0316875295820195908201906001016107fc565b509495945050505050565b60005b8381101561084757818101518382015260200161082f565b50506000910152565b6000815180845261086881602086016020860161082c565b601f01601f19169290920160200192915050565b67ffffffffffffffff8516815260806020820152600061089f60808301866107e8565b82810360408401526108b181866107e8565b905082810360608401526108c58185610850565b979650505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715610909576109096108d0565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610938576109386108d0565b604052919050565b80516fffffffffffffffffffffffffffffffff198116811461096157600080fd5b919050565b805167ffffffffffffffff8116811461096157600080fd5b600067ffffffffffffffff821115610998576109986108d0565b5060051b60200190565b600082601f8301126109b357600080fd5b815160206109c86109c38361097e565b61090f565b82815260059290921b840181019181810190868411156109e757600080fd5b8286015b84811015610a185780516001600160a01b0381168114610a0b5760008081fd5b83529183019183016109eb565b509695505050505050565b600067ffffffffffffffff831115610a3d57610a3d6108d0565b610a50601f8401601f191660200161090f565b9050828152838383011115610a6457600080fd5b610a7283602083018461082c565b9392505050565b600082601f830112610a8a57600080fd5b610a7283835160208501610a23565b600060c08284031215610aab57600080fd5b610ab36108e6565b9050610abe82610940565b8152610acc60208301610940565b6020820152610add60408301610966565b6040820152606082015167ffffffffffffffff80821115610afd57600080fd5b610b09858386016109a2565b60608401526080840151915080821115610b2257600080fd5b610b2e858386016109a2565b608084015260a0840151915080821115610b4757600080fd5b50610b5484828501610a79565b60a08301525092915050565b600060208284031215610b7257600080fd5b815167ffffffffffffffff811115610b8957600080fd5b61037384828501610a99565b67ffffffffffffffff83168152604060208201526000610bb86040830184610850565b949350505050565b60006020808385031215610bd357600080fd5b825167ffffffffffffffff80821115610beb57600080fd5b818501915085601f830112610bff57600080fd5b8151610c0d6109c38261097e565b81815260059190911b83018401908481019088831115610c2c57600080fd5b8585015b83811015610c6457805185811115610c485760008081fd5b610c568b89838a0101610a99565b845250918601918601610c30565b5098975050505050505050565b6001600160801b031984168152606060208201526000610c946060830185610850565b82810360408401526103208185610850565b6001600160801b031983168152604060208201526000610bb86040830184610850565b602081526000610a726020830184610850565b634e487b7160e01b600052603260045260246000fd5b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610d4757603f19888603018452610d35858351610850565b94509285019290850190600101610d19565b5092979650505050505050565b600060208284031215610d6657600080fd5b815167ffffffffffffffff811115610d7d57600080fd5b8201601f81018413610d8e57600080fd5b61037384825160208401610a23565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761037757610377610d9d565b634e487b7160e01b600052601260045260246000fd5b600082610def57610def610dca565b500490565b600082610e0357610e03610dca565b500690565b8082018082111561037757610377610d9d565b600060018201610e2d57610e2d610d9d565b5060010190565b61060f60f31b815260008251610e5181600285016020870161082c565b919091016002019291505056fe307830303030303030303030303030303030303030303030303030303030303030303432303230303031307830303030303030303030303030303030303030303030303030303030303030303432303330303030307830303030303030303030303030303030303030303030303030303030303030303432303230303030307830303030303030303030303030303030303030303030303030303030303030303432303330303031a164736f6c6343000813000a" - }, - "bytecode": { - "object": "0x600b805462ff00ff19166201000117905560a060405273c8df3686b4afb2bb53e60eae97ef043fe03fb829608090815261003d90600c906001610050565b5034801561004a57600080fd5b506100ca565b8280548282559060005260206000209081019282156100a5579160200282015b828111156100a557825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190610070565b506100b19291506100b5565b5090565b5b808211156100b157600081556001016100b6565b610f13806100d96000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063b810fb4314610046578063c040622614610076578063f8ccbf4714610080575b600080fd5b6100596100543660046107cf565b6100a3565b6040516001600160a01b0390911681526020015b60405180910390f35b61007e6100cd565b005b600b546100939062010000900460ff1681565b604051901515815260200161006d565b600c81815481106100b357600080fd5b6000918252602090912001546001600160a01b0316905081565b60006101bd6000600c80548060200260200160405190810160405280929190818152602001828054801561012a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161010c575b5050505050600c80548060200260200160405190810160405280929190818152602001828054801561018557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610167575b50505050506040518060400160405280601581526020017464656661756c743a76303a65746842756e646c657360581b815250610290565b905060006101f960006040518060400160405280601581526020017464656661756c743a76303a65746842756e646c657360581b81525061032a565b9050610205815161037d565b6102578260000151604051806040016040528060018152602001606160f81b815250604051602001610243906531313131313160d11b815260060190565b6040516020818303038152906040526103c5565b60006102808360000151604051806040016040528060018152602001606160f81b8152506103ff565b905061028b81610432565b505050565b6040805160c0810182526000808252602082018190529181019190915260608082018190526080820181905260a0820152600061030a6040518060600160405280602a8152602001610e89602a9139878787876040516020016102f6949392919061087c565b604051602081830303815290604052610475565b9050808060200190518101906103209190610b60565b9695505050505050565b6060600061035d6040518060600160405280602a8152602001610edd602a913985856040516020016102f6929190610b95565b9050808060200190518101906103739190610bc0565b9150505b92915050565b6103c28160405160240161039391815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663f5b1bba960e01b1790526105ea565b50565b60006103f86040518060600160405280602a8152602001610eb3602a91398585856040516020016102f693929190610c71565b5050505050565b606060006103736040518060600160405280602a8152602001610e5f602a913985856040516020016102f6929190610ca6565b6103c2816040516024016104469190610cc9565b60408051601f198184030181529190526020810180516001600160e01b03166305f3bfab60e11b1790526105ea565b606060006104828361060b565b60408051600480825260a0820190925291925060009190816020015b606081526020019060019003908161049e57905050905060405180604001604052806005815260200164737561766560d81b815250816000815181106104e6576104e6610cdc565b602002602001018190525060405180604001604052806005815260200164666f72676560d81b8152508160018151811061052257610522610cdc565b6020026020010181905250848160028151811061054157610541610cdc565b6020026020010181905250818160038151811061056057610560610cdc565b6020908102919091010152604051638916046760e01b8152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d906389160467906105a5908590600401610cf2565b600060405180830381865afa1580156105c2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103209190810190610d54565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b606060008251600261061d9190610db3565b67ffffffffffffffff811115610635576106356108d0565b6040519080825280601f01601f19166020018201604052801561065f576020820181803683370190505b5060408051808201909152601081526f181899199a1a9b1b9c1cb0b131b232b360811b602082015290915060005b84518110156107a5578182518683815181106106ab576106ab610cdc565b01602001516106bd919060f81c610de0565b815181106106cd576106cd610cdc565b01602001516001600160f81b031916836106e8836002610db3565b815181106106f8576106f8610cdc565b60200101906001600160f81b031916908160001a90535081825186838151811061072457610724610cdc565b0160200151610736919060f81c610df4565b8151811061074657610746610cdc565b01602001516001600160f81b03191683610761836002610db3565b61076c906001610e08565b8151811061077c5761077c610cdc565b60200101906001600160f81b031916908160001a9053508061079d81610e1b565b91505061068d565b50816040516020016107b79190610e34565b60405160208183030381529060405292505050919050565b6000602082840312156107e157600080fd5b5035919050565b600081518084526020808501945080840160005b838110156108215781516001600160a01b0316875295820195908201906001016107fc565b509495945050505050565b60005b8381101561084757818101518382015260200161082f565b50506000910152565b6000815180845261086881602086016020860161082c565b601f01601f19169290920160200192915050565b67ffffffffffffffff8516815260806020820152600061089f60808301866107e8565b82810360408401526108b181866107e8565b905082810360608401526108c58185610850565b979650505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715610909576109096108d0565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610938576109386108d0565b604052919050565b80516fffffffffffffffffffffffffffffffff198116811461096157600080fd5b919050565b805167ffffffffffffffff8116811461096157600080fd5b600067ffffffffffffffff821115610998576109986108d0565b5060051b60200190565b600082601f8301126109b357600080fd5b815160206109c86109c38361097e565b61090f565b82815260059290921b840181019181810190868411156109e757600080fd5b8286015b84811015610a185780516001600160a01b0381168114610a0b5760008081fd5b83529183019183016109eb565b509695505050505050565b600067ffffffffffffffff831115610a3d57610a3d6108d0565b610a50601f8401601f191660200161090f565b9050828152838383011115610a6457600080fd5b610a7283602083018461082c565b9392505050565b600082601f830112610a8a57600080fd5b610a7283835160208501610a23565b600060c08284031215610aab57600080fd5b610ab36108e6565b9050610abe82610940565b8152610acc60208301610940565b6020820152610add60408301610966565b6040820152606082015167ffffffffffffffff80821115610afd57600080fd5b610b09858386016109a2565b60608401526080840151915080821115610b2257600080fd5b610b2e858386016109a2565b608084015260a0840151915080821115610b4757600080fd5b50610b5484828501610a79565b60a08301525092915050565b600060208284031215610b7257600080fd5b815167ffffffffffffffff811115610b8957600080fd5b61037384828501610a99565b67ffffffffffffffff83168152604060208201526000610bb86040830184610850565b949350505050565b60006020808385031215610bd357600080fd5b825167ffffffffffffffff80821115610beb57600080fd5b818501915085601f830112610bff57600080fd5b8151610c0d6109c38261097e565b81815260059190911b83018401908481019088831115610c2c57600080fd5b8585015b83811015610c6457805185811115610c485760008081fd5b610c568b89838a0101610a99565b845250918601918601610c30565b5098975050505050505050565b6001600160801b031984168152606060208201526000610c946060830185610850565b82810360408401526103208185610850565b6001600160801b031983168152604060208201526000610bb86040830184610850565b602081526000610a726020830184610850565b634e487b7160e01b600052603260045260246000fd5b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610d4757603f19888603018452610d35858351610850565b94509285019290850190600101610d19565b5092979650505050505050565b600060208284031215610d6657600080fd5b815167ffffffffffffffff811115610d7d57600080fd5b8201601f81018413610d8e57600080fd5b61037384825160208401610a23565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761037757610377610d9d565b634e487b7160e01b600052601260045260246000fd5b600082610def57610def610dca565b500490565b600082610e0357610e03610dca565b500690565b8082018082111561037757610377610d9d565b600060018201610e2d57610e2d610d9d565b5060010190565b61060f60f31b815260008251610e5181600285016020870161082c565b919091016002019291505056fe307830303030303030303030303030303030303030303030303030303030303030303432303230303031307830303030303030303030303030303030303030303030303030303030303030303432303330303030307830303030303030303030303030303030303030303030303030303030303030303432303230303030307830303030303030303030303030303030303030303030303030303030303030303432303330303031a164736f6c6343000813000a" - } -} diff --git a/suave/e2e/contracts.go b/suave/e2e/contracts.go index a29a395182..acafc71d57 100644 --- a/suave/e2e/contracts.go +++ b/suave/e2e/contracts.go @@ -35,7 +35,7 @@ func newArtifact(name string) *Artifact { data, err := os.ReadFile(targetFilePath) if err != nil { - panic(fmt.Sprintf("failed to read artifact %s: %v", name, err)) + panic(fmt.Sprintf("failed to read artifact %s: %v. Maybe you forgot to generate the artifacts? `cd suave && forge build`", name, err)) } var artifactObj struct { diff --git a/suave/scripts/contracts.sh b/suave/scripts/contracts.sh deleted file mode 100755 index e94ac5109f..0000000000 --- a/suave/scripts/contracts.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh - -# Resolve the current folder for the script and move -# from there to the suave folder -SCRIPT_DIR="$(dirname "$(realpath "$0")")" -cd "$SCRIPT_DIR"/.. - -# Function to compile the contracts using 'forge' and converting -# the artifacts into a simplified format that only stores ai, bytecode and deployedBytecode -build() { - forge build - find artifacts -type f -name "*.json" ! -name "SuaveLib.json" -exec sh -c 'jq "{ \"abi\": .abi, \"deployedBytecode\":{\"object\": .deployedBytecode.object}, \"bytecode\":{\"object\": .bytecode.object} }" "$1" > "$1.tmp" && mv "$1.tmp" "$1"' sh {} \; -} - -# Function to clean the artifacts -clean() { - forge clean -} - -# Function to validate that the contract artifacts are valid -civalidate() { - build - - # Build again and check if there are any changes in the artifacts folder - if [ "$(git status --porcelain .)" ]; then - echo "Artifacts have not been generated." - exit 1 - else - # No changes - echo "Artifacts are correct." - fi -} - -# Main function to call other functions based on the provided command -main() { - case $1 in - build) build ;; - clean) clean ;; - civalidate) civalidate ;; - *) echo "Invalid command. Available commands: build, clean, civalidate" ;; - esac -} - -# Call the main function with the first argument provided -main "$1"