UNPKG

@credenza-web3/contracts

Version:

Credenza Contracts

284 lines (283 loc) 23.1 kB
{ "_format": "hh-sol-artifact-1", "contractName": "ConnectedPackagingContract", "sourceName": "contracts/ConnectedPackagingContract.sol", "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "addOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "serialNumber", "type": "string" }, { "internalType": "address", "name": "customerAddress", "type": "address" } ], "name": "claimNFCID", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "serialNumber", "type": "string" }, { "internalType": "string", "name": "data", "type": "string" } ], "name": "claimNFCPass", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "clearOwners", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getDescription", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getOwners", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTrustedForwarder", "outputs": [ { "internalType": "address", "name": "forwarder", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getVersion", "outputs": [ { "internalType": "string", "name": "version", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addr", "type": "address" } ], "name": "isOwner", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "forwarder", "type": "address" } ], "name": "isTrustedForwarder", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "removeOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "serialNumber", "type": "string" } ], "name": "retrieveNFCID", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "serialNumber", "type": "string" } ], "name": "retrieveNFCPass", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "serialNumber", "type": "string" } ], "name": "revokeNFCID", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "serialNumber", "type": "string" } ], "name": "revokeNFCPass", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "description", "type": "string" } ], "name": "setDescription", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_forwarder", "type": "address" } ], "name": "setTrustedForwarder", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "serialNumber", "type": "string" }, { "internalType": "address", "name": "customerAddress", "type": "address" } ], "name": "transferNFCID", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x608060405234801561000f575f80fd5b5061002061001b610025565b610058565b610169565b5f6014361080159061004157506003546001600160a01b031633145b15610053575060131936013560601c90565b503390565b600154158061008a575061008a61006d610025565b6001600160a01b03165f9081526020819052604090205460ff1690565b6100e55760405162461bcd60e51b815260206004820152602260248201527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f604482015261371760f11b606482015260840160405180910390fd5b6001600160a01b0381165f9081526020819052604090205460ff16610166576001600160a01b0381165f818152602081905260408120805460ff191660019081179091558054808201825591527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b03191690911790555b50565b611028806101765f395ff3fe608060405234801561000f575f80fd5b5060043610610111575f3560e01c80637065cb481161009e578063a0e67e2b1161006e578063a0e67e2b14610252578063a4c0230514610267578063c40b9e6a1461027a578063ce1b815f1461028d578063da7422281461029e575f80fd5b80637065cb48146101ee5780637ac3faa61461020157806390c3f38f146102145780639d19c1c314610227575f80fd5b80632f54bf6e116100e45780632f54bf6e1461016357806331d47e9c1461019e57806336a649d5146101b15780635260f5e6146101c4578063572b6c05146101cc575f80fd5b80630d8e6e2c14610115578063173825d9146101335780631a092541146101485780632c201da714610150575b5f80fd5b61011d6102b1565b60405161012a9190610b8a565b60405180910390f35b610146610141366004610bd7565b6102d1565b005b61011d61039f565b61014661015e366004610c94565b61042f565b61018e610171366004610bd7565b6001600160a01b03165f9081526020819052604090205460ff1690565b604051901515815260200161012a565b61011d6101ac366004610cdf565b6104a4565b6101466101bf366004610c94565b610552565b610146610656565b61018e6101da366004610bd7565b6003546001600160a01b0391821691161490565b6101466101fc366004610bd7565b6106fc565b61014661020f366004610cdf565b6107ae565b610146610222366004610cdf565b610818565b61023a610235366004610cdf565b610855565b6040516001600160a01b03909116815260200161012a565b61025a610885565b60405161012a9190610d19565b610146610275366004610cdf565b6108e4565b610146610288366004610d65565b610958565b6003546001600160a01b031661023a565b6101466102ac366004610bd7565b6109b9565b6060604051806060016040528060228152602001610fd160229139905090565b60015415806102e657506102e6610171610a08565b61030b5760405162461bcd60e51b815260040161030290610dc5565b60405180910390fd5b6001600160a01b0381165f9081526020819052604090205460ff166103725760405162461bcd60e51b815260206004820152601e60248201527f5461726765742061646472657373206973206e6f7420616e206f776e657200006044820152606401610302565b6001600160a01b0381165f908152602081905260409020805460ff1916905561039c600182610a3b565b50565b6060600280546103ae90610e07565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610e07565b80156104255780601f106103fc57610100808354040283529160200191610425565b820191905f5260205f20905b81548152906001019060200180831161040857829003601f168201915b5050505050905090565b60015415806104445750610444610171610a08565b6104605760405162461bcd60e51b815260040161030290610dc5565b806004836040516104719190610e3f565b90815260405190819003602001902080546001600160a01b03929092166001600160a01b03199092169190911790555050565b60606005826040516104b69190610e3f565b908152602001604051809103902080546104cf90610e07565b80601f01602080910402602001604051908101604052809291908181526020018280546104fb90610e07565b80156105465780601f1061051d57610100808354040283529160200191610546565b820191905f5260205f20905b81548152906001019060200180831161052957829003601f168201915b50505050509050919050565b60015415806105675750610567610171610a08565b6105835760405162461bcd60e51b815260040161030290610dc5565b806001600160a01b031660048360405161059d9190610e3f565b908152604051908190036020019020546001600160a01b031614610652575f6001600160a01b03166004836040516105d59190610e3f565b908152604051908190036020019020546001600160a01b0316146104605760405162461bcd60e51b815260206004820152602e60248201527f53657269616c206e756d6265722070726f766964656420616c7265616479206860448201526d30b99030b9b9b7b1b4b0ba34b7b760911b6064820152608401610302565b5050565b600154158061066b575061066b610171610a08565b6106875760405162461bcd60e51b815260040161030290610dc5565b5f5b6001548110156106ee575f805f600184815481106106a9576106a9610e5a565b5f918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055806106e681610e82565b915050610689565b506106fa60015f610b3a565b565b60015415806107115750610711610171610a08565b61072d5760405162461bcd60e51b815260040161030290610dc5565b6001600160a01b0381165f9081526020819052604090205460ff1661039c576001600160a01b03165f818152602081905260408120805460ff191660019081179091558054808201825591527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319169091179055565b60015415806107c357506107c3610171610a08565b6107df5760405162461bcd60e51b815260040161030290610dc5565b60405180602001604052805f8152506005826040516107fe9190610e3f565b908152602001604051809103902090816106529190610ee7565b600154158061082d575061082d610171610a08565b6108495760405162461bcd60e51b815260040161030290610dc5565b60026106528282610ee7565b5f6004826040516108669190610e3f565b908152604051908190036020019020546001600160a01b031692915050565b6060600180548060200260200160405190810160405280929190818152602001828054801561042557602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116108bd575050505050905090565b60015415806108f957506108f9610171610a08565b6109155760405162461bcd60e51b815260040161030290610dc5565b5f6004826040516109269190610e3f565b90815260405190819003602001902080546001600160a01b03929092166001600160a01b031990921691909117905550565b600154158061096d575061096d610171610a08565b6109895760405162461bcd60e51b815260040161030290610dc5565b8060058360405161099a9190610e3f565b908152602001604051809103902090816109b49190610ee7565b505050565b60015415806109ce57506109ce610171610a08565b6109ea5760405162461bcd60e51b815260040161030290610dc5565b600380546001600160a01b0319166001600160a01b03831617905550565b5f60143610801590610a2457506003546001600160a01b031633145b15610a36575060131936013560601c90565b503390565b5f5b82548110156109b457816001600160a01b0316838281548110610a6257610a62610e5a565b5f918252602090912001546001600160a01b031603610b285782548390610a8b90600190610fa3565b81548110610a9b57610a9b610e5a565b905f5260205f20015f9054906101000a90046001600160a01b0316838281548110610ac857610ac8610e5a565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555082805480610b0357610b03610fbc565b5f8281526020902081015f1990810180546001600160a01b0319169055019055505050565b80610b3281610e82565b915050610a3d565b5080545f8255905f5260205f209081019061039c91905b80821115610b64575f8155600101610b51565b5090565b5f5b83811015610b82578181015183820152602001610b6a565b50505f910152565b602081525f8251806020840152610ba8816040850160208701610b68565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610bd2575f80fd5b919050565b5f60208284031215610be7575f80fd5b610bf082610bbc565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610c1a575f80fd5b813567ffffffffffffffff80821115610c3557610c35610bf7565b604051601f8301601f19908116603f01168101908282118183101715610c5d57610c5d610bf7565b81604052838152866020858801011115610c75575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f8060408385031215610ca5575f80fd5b823567ffffffffffffffff811115610cbb575f80fd5b610cc785828601610c0b565b925050610cd660208401610bbc565b90509250929050565b5f60208284031215610cef575f80fd5b813567ffffffffffffffff811115610d05575f80fd5b610d1184828501610c0b565b949350505050565b602080825282518282018190525f9190848201906040850190845b81811015610d595783516001600160a01b031683529284019291840191600101610d34565b50909695505050505050565b5f8060408385031215610d76575f80fd5b823567ffffffffffffffff80821115610d8d575f80fd5b610d9986838701610c0b565b93506020850135915080821115610dae575f80fd5b50610dbb85828601610c0b565b9150509250929050565b60208082526022908201527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f604082015261371760f11b606082015260800190565b600181811c90821680610e1b57607f821691505b602082108103610e3957634e487b7160e01b5f52602260045260245ffd5b50919050565b5f8251610e50818460208701610b68565b9190910192915050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201610e9357610e93610e6e565b5060010190565b601f8211156109b4575f81815260208120601f850160051c81016020861015610ec05750805b601f850160051c820191505b81811015610edf57828155600101610ecc565b505050505050565b815167ffffffffffffffff811115610f0157610f01610bf7565b610f1581610f0f8454610e07565b84610e9a565b602080601f831160018114610f48575f8415610f315750858301515b5f19600386901b1c1916600185901b178555610edf565b5f85815260208120601f198616915b82811015610f7657888601518255948401946001909101908401610f57565b5085821015610f9357878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b81810381811115610fb657610fb6610e6e565b92915050565b634e487b7160e01b5f52603160045260245ffdfe436f6e6e65637465645061636b6167696e67436f6e7472616374207620302e322e30a2646970667358221220da402ac45bc227876da9dd40d9a0ceb79ce71974491f6161e94052d458dbf7d164736f6c63430008140033", "deployedBytecode": "0x608060405234801561000f575f80fd5b5060043610610111575f3560e01c80637065cb481161009e578063a0e67e2b1161006e578063a0e67e2b14610252578063a4c0230514610267578063c40b9e6a1461027a578063ce1b815f1461028d578063da7422281461029e575f80fd5b80637065cb48146101ee5780637ac3faa61461020157806390c3f38f146102145780639d19c1c314610227575f80fd5b80632f54bf6e116100e45780632f54bf6e1461016357806331d47e9c1461019e57806336a649d5146101b15780635260f5e6146101c4578063572b6c05146101cc575f80fd5b80630d8e6e2c14610115578063173825d9146101335780631a092541146101485780632c201da714610150575b5f80fd5b61011d6102b1565b60405161012a9190610b8a565b60405180910390f35b610146610141366004610bd7565b6102d1565b005b61011d61039f565b61014661015e366004610c94565b61042f565b61018e610171366004610bd7565b6001600160a01b03165f9081526020819052604090205460ff1690565b604051901515815260200161012a565b61011d6101ac366004610cdf565b6104a4565b6101466101bf366004610c94565b610552565b610146610656565b61018e6101da366004610bd7565b6003546001600160a01b0391821691161490565b6101466101fc366004610bd7565b6106fc565b61014661020f366004610cdf565b6107ae565b610146610222366004610cdf565b610818565b61023a610235366004610cdf565b610855565b6040516001600160a01b03909116815260200161012a565b61025a610885565b60405161012a9190610d19565b610146610275366004610cdf565b6108e4565b610146610288366004610d65565b610958565b6003546001600160a01b031661023a565b6101466102ac366004610bd7565b6109b9565b6060604051806060016040528060228152602001610fd160229139905090565b60015415806102e657506102e6610171610a08565b61030b5760405162461bcd60e51b815260040161030290610dc5565b60405180910390fd5b6001600160a01b0381165f9081526020819052604090205460ff166103725760405162461bcd60e51b815260206004820152601e60248201527f5461726765742061646472657373206973206e6f7420616e206f776e657200006044820152606401610302565b6001600160a01b0381165f908152602081905260409020805460ff1916905561039c600182610a3b565b50565b6060600280546103ae90610e07565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610e07565b80156104255780601f106103fc57610100808354040283529160200191610425565b820191905f5260205f20905b81548152906001019060200180831161040857829003601f168201915b5050505050905090565b60015415806104445750610444610171610a08565b6104605760405162461bcd60e51b815260040161030290610dc5565b806004836040516104719190610e3f565b90815260405190819003602001902080546001600160a01b03929092166001600160a01b03199092169190911790555050565b60606005826040516104b69190610e3f565b908152602001604051809103902080546104cf90610e07565b80601f01602080910402602001604051908101604052809291908181526020018280546104fb90610e07565b80156105465780601f1061051d57610100808354040283529160200191610546565b820191905f5260205f20905b81548152906001019060200180831161052957829003601f168201915b50505050509050919050565b60015415806105675750610567610171610a08565b6105835760405162461bcd60e51b815260040161030290610dc5565b806001600160a01b031660048360405161059d9190610e3f565b908152604051908190036020019020546001600160a01b031614610652575f6001600160a01b03166004836040516105d59190610e3f565b908152604051908190036020019020546001600160a01b0316146104605760405162461bcd60e51b815260206004820152602e60248201527f53657269616c206e756d6265722070726f766964656420616c7265616479206860448201526d30b99030b9b9b7b1b4b0ba34b7b760911b6064820152608401610302565b5050565b600154158061066b575061066b610171610a08565b6106875760405162461bcd60e51b815260040161030290610dc5565b5f5b6001548110156106ee575f805f600184815481106106a9576106a9610e5a565b5f918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055806106e681610e82565b915050610689565b506106fa60015f610b3a565b565b60015415806107115750610711610171610a08565b61072d5760405162461bcd60e51b815260040161030290610dc5565b6001600160a01b0381165f9081526020819052604090205460ff1661039c576001600160a01b03165f818152602081905260408120805460ff191660019081179091558054808201825591527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319169091179055565b60015415806107c357506107c3610171610a08565b6107df5760405162461bcd60e51b815260040161030290610dc5565b60405180602001604052805f8152506005826040516107fe9190610e3f565b908152602001604051809103902090816106529190610ee7565b600154158061082d575061082d610171610a08565b6108495760405162461bcd60e51b815260040161030290610dc5565b60026106528282610ee7565b5f6004826040516108669190610e3f565b908152604051908190036020019020546001600160a01b031692915050565b6060600180548060200260200160405190810160405280929190818152602001828054801561042557602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116108bd575050505050905090565b60015415806108f957506108f9610171610a08565b6109155760405162461bcd60e51b815260040161030290610dc5565b5f6004826040516109269190610e3f565b90815260405190819003602001902080546001600160a01b03929092166001600160a01b031990921691909117905550565b600154158061096d575061096d610171610a08565b6109895760405162461bcd60e51b815260040161030290610dc5565b8060058360405161099a9190610e3f565b908152602001604051809103902090816109b49190610ee7565b505050565b60015415806109ce57506109ce610171610a08565b6109ea5760405162461bcd60e51b815260040161030290610dc5565b600380546001600160a01b0319166001600160a01b03831617905550565b5f60143610801590610a2457506003546001600160a01b031633145b15610a36575060131936013560601c90565b503390565b5f5b82548110156109b457816001600160a01b0316838281548110610a6257610a62610e5a565b5f918252602090912001546001600160a01b031603610b285782548390610a8b90600190610fa3565b81548110610a9b57610a9b610e5a565b905f5260205f20015f9054906101000a90046001600160a01b0316838281548110610ac857610ac8610e5a565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555082805480610b0357610b03610fbc565b5f8281526020902081015f1990810180546001600160a01b0319169055019055505050565b80610b3281610e82565b915050610a3d565b5080545f8255905f5260205f209081019061039c91905b80821115610b64575f8155600101610b51565b5090565b5f5b83811015610b82578181015183820152602001610b6a565b50505f910152565b602081525f8251806020840152610ba8816040850160208701610b68565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610bd2575f80fd5b919050565b5f60208284031215610be7575f80fd5b610bf082610bbc565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610c1a575f80fd5b813567ffffffffffffffff80821115610c3557610c35610bf7565b604051601f8301601f19908116603f01168101908282118183101715610c5d57610c5d610bf7565b81604052838152866020858801011115610c75575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f8060408385031215610ca5575f80fd5b823567ffffffffffffffff811115610cbb575f80fd5b610cc785828601610c0b565b925050610cd660208401610bbc565b90509250929050565b5f60208284031215610cef575f80fd5b813567ffffffffffffffff811115610d05575f80fd5b610d1184828501610c0b565b949350505050565b602080825282518282018190525f9190848201906040850190845b81811015610d595783516001600160a01b031683529284019291840191600101610d34565b50909695505050505050565b5f8060408385031215610d76575f80fd5b823567ffffffffffffffff80821115610d8d575f80fd5b610d9986838701610c0b565b93506020850135915080821115610dae575f80fd5b50610dbb85828601610c0b565b9150509250929050565b60208082526022908201527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f604082015261371760f11b606082015260800190565b600181811c90821680610e1b57607f821691505b602082108103610e3957634e487b7160e01b5f52602260045260245ffd5b50919050565b5f8251610e50818460208701610b68565b9190910192915050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201610e9357610e93610e6e565b5060010190565b601f8211156109b4575f81815260208120601f850160051c81016020861015610ec05750805b601f850160051c820191505b81811015610edf57828155600101610ecc565b505050505050565b815167ffffffffffffffff811115610f0157610f01610bf7565b610f1581610f0f8454610e07565b84610e9a565b602080601f831160018114610f48575f8415610f315750858301515b5f19600386901b1c1916600185901b178555610edf565b5f85815260208120601f198616915b82811015610f7657888601518255948401946001909101908401610f57565b5085821015610f9357878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b81810381811115610fb657610fb6610e6e565b92915050565b634e487b7160e01b5f52603160045260245ffdfe436f6e6e65637465645061636b6167696e67436f6e7472616374207620302e322e30a2646970667358221220da402ac45bc227876da9dd40d9a0ceb79ce71974491f6161e94052d458dbf7d164736f6c63430008140033", "linkReferences": {}, "deployedLinkReferences": {} }