import { SolcMetadata } from "@owlprotocol/viem-utils";

export const MyContract: SolcMetadata = {
    compiler: {
        version: "0.8.23+commit.f704f362",
    },
    language: "Solidity",
    output: {
        abi: [
            {
                inputs: [],
                name: "helloWorld",
                outputs: [
                    {
                        internalType: "string",
                        name: "",
                        type: "string",
                    },
                ],
                stateMutability: "pure",
                type: "function",
            },
        ],
        devdoc: {
            kind: "dev",
            methods: {},
            version: 1,
        },
        userdoc: {
            kind: "user",
            methods: {},
            version: 1,
        },
    },
    settings: {
        compilationTarget: {
            "contracts/MyContract.sol": "MyContract",
        },
        evmVersion: "paris",
        libraries: {},
        metadata: {
            bytecodeHash: "ipfs",
            useLiteralContent: true,
        },
        optimizer: {
            enabled: true,
            runs: 1000000,
        },
        remappings: [],
        viaIR: true,
    },
    sources: {
        "contracts/MyContract.sol": {
            content:
                '// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\ncontract MyContract {\n    function helloWorld() external pure returns (string memory) {\n        return "Hello World";\n    }\n}\n',
            keccak256: "0x7339ffe30f95bd8b08a922e9b740eeb1a51d836e48de42aa2ce2c1137156990a",
            license: "MIT",
        },
    },
    version: 1,
};
