{
  "kind": "chisel-solidity-artifact",
  "version": 1,
  "contractName": "M64Dictionary",
  "compiler": "Hardhat 3.16.0 / solc 0.8.30",
  "sourcePath": "tools/m64Artifact/contracts/M64Dictionary.sol",
  "compilerSourceName": "contracts/M64Dictionary.sol",
  "sourceBlobSha": "2303538f37210477b4a4c6ba68224818aa5a5108",
  "compiledFromCommit": "6861eedb479ea9ad6c924e664b036461d0064e89",
  "hardhatVersion": "3.16.0",
  "solcVersion": "0.8.30",
  "metadataAppendCBOR": false,
  "workflowArtifactId": 10047522712,
  "workflowArtifactDigest": "sha256:adf2368c3abee5317d995fc545c67f98abc73e87506c4f217697d75f726febca",
  "bytecodeSha256": "f55001c8e085674028643483943f42363d913d172b328f7d10dc175d3419e051",
  "runtimeBytecodeSha256": "c8153c84675cdb642cf32f0cb472d8aabbacd90f984b519d74f3f477d483ab27",
  "abiSha256": "41973f3c1ee3db781d25eca27e1c41b525950c01387b147562a420742252a68e",
  "bytecode": "0x6080604052348015600e575f5ffd5b50610f868061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610086575f3560e01c8063a5c0def611610059578063a5c0def614610138578063a9f7629314610156578063d499ca5b14610172578063ed9978c7146101a257610086565b80630f85e0d31461008a578063160f1ed3146100a85780631633b7f2146100d85780631fea8e7214610108575b5f5ffd5b6100926101c0565b60405161009f919061062b565b60405180910390f35b6100c260048036038101906100bd91906106ad565b6101cb565b6040516100cf919061062b565b60405180910390f35b6100f260048036038101906100ed9190610722565b61023c565b6040516100ff91906107bd565b60405180910390f35b610122600480360381019061011d9190610832565b610309565b60405161012f9190610934565b60405180910390f35b61014061040b565b60405161014d919061062b565b60405180910390f35b610170600480360381019061016b91906109dc565b610413565b005b61018c600480360381019061018791906106ad565b610458565b604051610199919061062b565b60405180910390f35b6101aa6104ad565b6040516101b791906107bd565b60405180910390f35b5f5f80549050905090565b5f5f60015f85856040516101e0929190610a9c565b604051809103902081526020019081526020015f205490505f81146102115760018161020c9190610ae1565b610233565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b91505092915050565b60605f80549050821061025f5760405180602001604052805f8152509050610304565b5f828154811061027257610271610b14565b5b905f5260205f2001805461028590610b6e565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190610b6e565b80156102fc5780601f106102d3576101008083540402835291602001916102fc565b820191905f5260205f20905b8154815290600101906020018083116102df57829003601f168201915b505050505090505b919050565b60608282905067ffffffffffffffff81111561032857610327610b9e565b5b6040519080825280602002602001820160405280156103565781602001602082028036833780820191505090505b5090505f5f90505b83839050811015610404576103d884848381811061037f5761037e610b14565b5b90506020028101906103919190610bd7565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f820116905080830192505050505050506104ea565b8282815181106103eb576103ea610b14565b5b602002602001018181525050808060010191505061035e565b5092915050565b5f6001905090565b8284867f89f0dcf9cc2f67a8cbb07222e74d87e74c71402041483f2dd88d2c5119a7d1b233868660405161044993929190610cb4565b60405180910390a45050505050565b5f6104a583838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f820116905080830192505050505050506104ea565b905092915050565b60606040518060400160405280600a81526020017f6a61766173637269707400000000000000000000000000000000000000000000815250905090565b5f5f825103610525576040517f02efc60d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f828051906020012090505f60015f8381526020019081526020015f205490505f8114610562576001816105599190610ae1565b9250505061060e565b5f8054905092505f84908060018154018082558091505060019003905f5260205f20015f9091909190915090816105999190610e84565b506001836105a79190610f53565b60015f8481526020019081526020015f20819055503373ffffffffffffffffffffffffffffffffffffffff16837f97cc1eda646c516c7beb94a36e74ca6830b53009e6a476077d9bb755388c6ec18660405161060391906107bd565b60405180910390a350505b919050565b5f819050919050565b61062581610613565b82525050565b5f60208201905061063e5f83018461061c565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261066d5761066c61064c565b5b8235905067ffffffffffffffff81111561068a57610689610650565b5b6020830191508360018202830111156106a6576106a5610654565b5b9250929050565b5f5f602083850312156106c3576106c2610644565b5b5f83013567ffffffffffffffff8111156106e0576106df610648565b5b6106ec85828601610658565b92509250509250929050565b61070181610613565b811461070b575f5ffd5b50565b5f8135905061071c816106f8565b92915050565b5f6020828403121561073757610736610644565b5b5f6107448482850161070e565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61078f8261074d565b6107998185610757565b93506107a9818560208601610767565b6107b281610775565b840191505092915050565b5f6020820190508181035f8301526107d58184610785565b905092915050565b5f5f83601f8401126107f2576107f161064c565b5b8235905067ffffffffffffffff81111561080f5761080e610650565b5b60208301915083602082028301111561082b5761082a610654565b5b9250929050565b5f5f6020838503121561084857610847610644565b5b5f83013567ffffffffffffffff81111561086557610864610648565b5b610871858286016107dd565b92509250509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6108af81610613565b82525050565b5f6108c083836108a6565b60208301905092915050565b5f602082019050919050565b5f6108e28261087d565b6108ec8185610887565b93506108f783610897565b805f5b8381101561092757815161090e88826108b5565b9750610919836108cc565b9250506001810190506108fa565b5085935050505092915050565b5f6020820190508181035f83015261094c81846108d8565b905092915050565b5f819050919050565b61096681610954565b8114610970575f5ffd5b50565b5f813590506109818161095d565b92915050565b5f5f83601f84011261099c5761099b61064c565b5b8235905067ffffffffffffffff8111156109b9576109b8610650565b5b6020830191508360018202830111156109d5576109d4610654565b5b9250929050565b5f5f5f5f5f608086880312156109f5576109f4610644565b5b5f610a0288828901610973565b9550506020610a1388828901610973565b9450506040610a248882890161070e565b935050606086013567ffffffffffffffff811115610a4557610a44610648565b5b610a5188828901610987565b92509250509295509295909350565b5f81905092915050565b828183375f83830152505050565b5f610a838385610a60565b9350610a90838584610a6a565b82840190509392505050565b5f610aa8828486610a78565b91508190509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610aeb82610613565b9150610af683610613565b9250828203905081811115610b0e57610b0d610ab4565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610b8557607f821691505b602082108103610b9857610b97610b41565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83356001602003843603038112610bf357610bf2610bcb565b5b80840192508235915067ffffffffffffffff821115610c1557610c14610bcf565b5b602083019250600182023603831315610c3157610c30610bd3565b5b509250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610c6282610c39565b9050919050565b610c7281610c58565b82525050565b5f82825260208201905092915050565b5f610c938385610c78565b9350610ca0838584610a6a565b610ca983610775565b840190509392505050565b5f604082019050610cc75f830186610c69565b8181036020830152610cda818486610c88565b9050949350505050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610d407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610d05565b610d4a8683610d05565b95508019841693508086168417925050509392505050565b5f819050919050565b5f610d85610d80610d7b84610613565b610d62565b610613565b9050919050565b5f819050919050565b610d9e83610d6b565b610db2610daa82610d8c565b848454610d11565b825550505050565b5f5f905090565b610dc9610dba565b610dd4818484610d95565b505050565b5b81811015610df757610dec5f82610dc1565b600181019050610dda565b5050565b601f821115610e3c57610e0d81610ce4565b610e1684610cf6565b81016020851015610e25578190505b610e39610e3185610cf6565b830182610dd9565b50505b505050565b5f82821c905092915050565b5f610e5c5f1984600802610e41565b1980831691505092915050565b5f610e748383610e4d565b9150826002028217905092915050565b610e8d8261074d565b67ffffffffffffffff811115610ea657610ea5610b9e565b5b610eb08254610b6e565b610ebb828285610dfb565b5f60209050601f831160018114610eec575f8415610eda578287015190505b610ee48582610e69565b865550610f4b565b601f198416610efa86610ce4565b5f5b82811015610f2157848901518255600182019150602085019450602081019050610efc565b86831015610f3e5784890151610f3a601f891682610e4d565b8355505b6001600288020188555050505b505050505050565b5f610f5d82610613565b9150610f6883610613565b9250828201905080821115610f8057610f7f610ab4565b5b9291505056",
  "abi": [
    {
      "inputs": [],
      "name": "EmptyTerm",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "namespace",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "objectId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "part",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "publisher",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "Packet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "term",
          "type": "string"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "payer",
          "type": "address"
        }
      ],
      "name": "TermAdded",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "term",
          "type": "string"
        }
      ],
      "name": "addTerm",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string[]",
          "name": "batch",
          "type": "string[]"
        }
      ],
      "name": "addTerms",
      "outputs": [
        {
          "internalType": "uint256[]",
          "name": "ids",
          "type": "uint256[]"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "dictionaryVersion",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "language",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "term",
          "type": "string"
        }
      ],
      "name": "lookupId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "lookupTerm",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "namespace",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "objectId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "part",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "publishPacket",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "termCount",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "canonicalSourcePath": "contracts/M64Dictionary.sol",
  "migratedFrom": "tools/m64Artifact/contracts/M64Dictionary.compiled.json"
}
