UNPKG

@settlemint/solidity-supplychain

Version:

Smart contract set to build a supplychain usecase in SettleMint

506 lines (505 loc) 20.6 kB
{ "_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": {} }