{
  "_format": "hh-sol-artifact-1",
  "contractName": "ExampleSupplyChain",
  "sourceName": "contracts/ExampleSupplyChain.sol",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "OwnableInvalidOwner",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "OwnableUnauthorizedAccount",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "lotType",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "quantity",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "operatorId",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "originId",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "lotNo",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "transporterId",
          "type": "string"
        }
      ],
      "name": "CreateLotEvent",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "lotNos",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "operatorId",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "machineId",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "processingHouseId",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "timestamp",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "firstProcessLotId",
          "type": "string"
        }
      ],
      "name": "FirstProcessEvent",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "secondProcessLotId",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "operatorId",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "packageId",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "weight",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "packagingType",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "packingLotId",
          "type": "string"
        }
      ],
      "name": "PackagingEvent",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "firstProcessLotIds",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "machineId",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "operatorId",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "secondProcessOutputLotId",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "secondProcessLotId",
          "type": "string"
        }
      ],
      "name": "SecondProcessEvent",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "packageId",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "operatorId",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "transporterId",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "cartonId",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "transportLotId",
          "type": "string"
        }
      ],
      "name": "TransportEvent",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "_firstProcessLotId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "_packingLotId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "_secondProcessLotId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "_transportLotId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "lotType",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "quantity",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "operatorId",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "originId",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "lotNo",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "transporterId",
          "type": "string"
        }
      ],
      "name": "createLot",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "secondProcessLotId",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "operatorId",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "packageId",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "weight",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "packagingType",
          "type": "string"
        }
      ],
      "name": "packing",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "lotNos",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "operatorId",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "machineId",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "processingHouseId",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "timestamp",
          "type": "string"
        }
      ],
      "name": "registerFirstProcess",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "firstProcessLotIds",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "machineId",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "operatorId",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "secondProcessOutputLotId",
          "type": "string"
        }
      ],
      "name": "registerSecondProcess",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "packageId",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "operatorId",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "transporterId",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "cartonId",
          "type": "string"
        }
      ],
      "name": "transport",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608080604052346071573315605e575f8054336001600160a01b0319821681178355916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36108fa90816100768239f35b631e4fbdf760e01b5f525f60045260245ffd5b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816334687fc51461046f57508063386a0d2614610452578063715018a6146103fb5780637b844d86146103de5780638da5cb5b146103b7578063ac366bc614610366578063ad2f19f314610314578063c57397ec14610220578063e3232810146101c1578063e5dbd1ae1461014a578063f2fde38b146100c15763f342554c146100a0575f80fd5b346100bd575f3660031901126100bd576020600454604051908152f35b5f80fd5b346100bd5760203660031901126100bd576004356001600160a01b038116908190036100bd576100ef61073b565b8015610137575f80546001600160a01b03198116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b631e4fbdf760e01b5f525f60045260245ffd5b346100bd576101583661051e565b929060025490600182018092116101ad577f14b6c7296a7ef1f1d61274d04d7364309a7a32fbb21087fb4c15a5d1534ac8999461019b836101a894600255610761565b9160405195869586610673565b0390a1005b634e487b7160e01b5f52601160045260245ffd5b346100bd576101cf366105a9565b90939160035491600183018093116101ad577fc779766e64dba61c56c17693faa61ae802bcdc203a1479bfb4970edd3ab7e64f95610213846101a895600355610761565b92604051968796876106ce565b346100bd5760c03660031901126100bd576004356001600160401b0381116100bd576102509036906004016104dd565b6024356001600160401b0381116100bd5761026f9036906004016104dd565b6044356001600160401b0381116100bd5761028e9036906004016104dd565b916064356001600160401b0381116100bd576102ae9036906004016104dd565b926084356001600160401b0381116100bd576102ce9036906004016104dd565b9060a435916001600160401b0383116100bd577f8982a390c0fb1688e369d1ab91e529cae84e472205007ac93be646ec121f9410956102136101a89436906004016104dd565b346100bd57610322366105a9565b90939160015491600183018093116101ad577fd494bd9dcaeef0e3e0fd19a0b13af05abf8ca5ffd5e70724ed987b2fcfa443d395610213846101a895600155610761565b346100bd576103743661051e565b929060045490600182018092116101ad577f5a6ec825b52239f3c530cc18dca698150d270962d2021703403dcd6815b1af619461019b836101a894600455610761565b346100bd575f3660031901126100bd575f546040516001600160a01b039091168152602090f35b346100bd575f3660031901126100bd576020600354604051908152f35b346100bd575f3660031901126100bd5761041361073b565b5f80546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346100bd575f3660031901126100bd576020600254604051908152f35b346100bd575f3660031901126100bd576020906001548152f35b6040519190601f01601f191682016001600160401b038111838210176104ae57604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160401b0381116104ae57601f01601f191660200190565b81601f820112156100bd578035906104fc6104f7836104c2565b610489565b92828452602083830101116100bd57815f926020809301838601378301015290565b9060806003198301126100bd576004356001600160401b0381116100bd5782610549916004016104dd565b916024356001600160401b0381116100bd5781610568916004016104dd565b916044356001600160401b0381116100bd5782610587916004016104dd565b91606435906001600160401b0382116100bd576105a6916004016104dd565b90565b60a06003198201126100bd576004356001600160401b0381116100bd57816105d3916004016104dd565b916024356001600160401b0381116100bd57826105f2916004016104dd565b916044356001600160401b0381116100bd5781610611916004016104dd565b916064356001600160401b0381116100bd5782610630916004016104dd565b91608435906001600160401b0382116100bd576105a6916004016104dd565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b93906105a695936106a46106c0946106966106b29460a08a5260a08a019061064f565b9088820360208a015261064f565b90868203604088015261064f565b90848203606086015261064f565b91608081840391015261064f565b94919361071161072d946107036105a699976106f561071f9660c08c5260c08c019061064f565b908a820360208c015261064f565b9088820360408a015261064f565b90868203606088015261064f565b90848203608086015261064f565b9160a081840391015261064f565b5f546001600160a01b0316330361074e57565b63118cdaa760e01b5f523360045260245ffd5b805f9172184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8210156108a1575b806d04ee2d6d415b85acef8100000000600a921015610886575b662386f26fc10000811015610872575b6305f5e100811015610861575b612710811015610852575b6064811015610844575b1015610839575b600a602160018401936107eb6104f7866104c2565b948086526107fb601f19916104c2565b013660208701378401015b5f1901916f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304801561083457600a9091610806565b505090565b6001909101906107d6565b6064600291049301926107cf565b612710600491049301926107c5565b6305f5e100600891049301926107ba565b662386f26fc10000601091049301926107ad565b6d04ee2d6d415b85acef81000000006020910493019261079d565b506040915072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b810461078356fea2646970667358221220226e138869aba54992d29d451bf290c907ed50ab86bfc32afaf1404d69d603cf64736f6c634300081e0033",
  "deployedBytecode": "0x6080806040526004361015610012575f80fd5b5f3560e01c90816334687fc51461046f57508063386a0d2614610452578063715018a6146103fb5780637b844d86146103de5780638da5cb5b146103b7578063ac366bc614610366578063ad2f19f314610314578063c57397ec14610220578063e3232810146101c1578063e5dbd1ae1461014a578063f2fde38b146100c15763f342554c146100a0575f80fd5b346100bd575f3660031901126100bd576020600454604051908152f35b5f80fd5b346100bd5760203660031901126100bd576004356001600160a01b038116908190036100bd576100ef61073b565b8015610137575f80546001600160a01b03198116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b631e4fbdf760e01b5f525f60045260245ffd5b346100bd576101583661051e565b929060025490600182018092116101ad577f14b6c7296a7ef1f1d61274d04d7364309a7a32fbb21087fb4c15a5d1534ac8999461019b836101a894600255610761565b9160405195869586610673565b0390a1005b634e487b7160e01b5f52601160045260245ffd5b346100bd576101cf366105a9565b90939160035491600183018093116101ad577fc779766e64dba61c56c17693faa61ae802bcdc203a1479bfb4970edd3ab7e64f95610213846101a895600355610761565b92604051968796876106ce565b346100bd5760c03660031901126100bd576004356001600160401b0381116100bd576102509036906004016104dd565b6024356001600160401b0381116100bd5761026f9036906004016104dd565b6044356001600160401b0381116100bd5761028e9036906004016104dd565b916064356001600160401b0381116100bd576102ae9036906004016104dd565b926084356001600160401b0381116100bd576102ce9036906004016104dd565b9060a435916001600160401b0383116100bd577f8982a390c0fb1688e369d1ab91e529cae84e472205007ac93be646ec121f9410956102136101a89436906004016104dd565b346100bd57610322366105a9565b90939160015491600183018093116101ad577fd494bd9dcaeef0e3e0fd19a0b13af05abf8ca5ffd5e70724ed987b2fcfa443d395610213846101a895600155610761565b346100bd576103743661051e565b929060045490600182018092116101ad577f5a6ec825b52239f3c530cc18dca698150d270962d2021703403dcd6815b1af619461019b836101a894600455610761565b346100bd575f3660031901126100bd575f546040516001600160a01b039091168152602090f35b346100bd575f3660031901126100bd576020600354604051908152f35b346100bd575f3660031901126100bd5761041361073b565b5f80546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346100bd575f3660031901126100bd576020600254604051908152f35b346100bd575f3660031901126100bd576020906001548152f35b6040519190601f01601f191682016001600160401b038111838210176104ae57604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160401b0381116104ae57601f01601f191660200190565b81601f820112156100bd578035906104fc6104f7836104c2565b610489565b92828452602083830101116100bd57815f926020809301838601378301015290565b9060806003198301126100bd576004356001600160401b0381116100bd5782610549916004016104dd565b916024356001600160401b0381116100bd5781610568916004016104dd565b916044356001600160401b0381116100bd5782610587916004016104dd565b91606435906001600160401b0382116100bd576105a6916004016104dd565b90565b60a06003198201126100bd576004356001600160401b0381116100bd57816105d3916004016104dd565b916024356001600160401b0381116100bd57826105f2916004016104dd565b916044356001600160401b0381116100bd5781610611916004016104dd565b916064356001600160401b0381116100bd5782610630916004016104dd565b91608435906001600160401b0382116100bd576105a6916004016104dd565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b93906105a695936106a46106c0946106966106b29460a08a5260a08a019061064f565b9088820360208a015261064f565b90868203604088015261064f565b90848203606086015261064f565b91608081840391015261064f565b94919361071161072d946107036105a699976106f561071f9660c08c5260c08c019061064f565b908a820360208c015261064f565b9088820360408a015261064f565b90868203606088015261064f565b90848203608086015261064f565b9160a081840391015261064f565b5f546001600160a01b0316330361074e57565b63118cdaa760e01b5f523360045260245ffd5b805f9172184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8210156108a1575b806d04ee2d6d415b85acef8100000000600a921015610886575b662386f26fc10000811015610872575b6305f5e100811015610861575b612710811015610852575b6064811015610844575b1015610839575b600a602160018401936107eb6104f7866104c2565b948086526107fb601f19916104c2565b013660208701378401015b5f1901916f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304801561083457600a9091610806565b505090565b6001909101906107d6565b6064600291049301926107cf565b612710600491049301926107c5565b6305f5e100600891049301926107ba565b662386f26fc10000601091049301926107ad565b6d04ee2d6d415b85acef81000000006020910493019261079d565b506040915072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b810461078356fea2646970667358221220226e138869aba54992d29d451bf290c907ed50ab86bfc32afaf1404d69d603cf64736f6c634300081e0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
