{
    "_format": "hh-sol-artifact-1",
    "contractName": "CMCAsset",
    "sourceName": "src.sol/CMCAsset.sol",
    "abi": [
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "assetId",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "owner",
                    "type": "address"
                },
                {
                    "internalType": "address payable",
                    "name": "recipient",
                    "type": "address"
                }
            ],
            "name": "exit",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "getAlice",
            "outputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "getBob",
            "outputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "assetId",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "owner",
                    "type": "address"
                }
            ],
            "name": "getExitableAmount",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "assetId",
                    "type": "address"
                }
            ],
            "name": "getTotalTransferred",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "lock",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_alice",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "_bob",
                    "type": "address"
                }
            ],
            "name": "setup",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        }
    ],
    "bytecode": "0x60a060405234801561001057600080fd5b5030606081901b608052610d1061004a60003980610118528061019c52806102b2528061042952806104b2528061054b5250610d106000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063cefa51221161005b578063cefa5122146100c8578063e9852569146100e8578063eeb30fea146100fb578063f83d08ba146101035761007d565b8063241686a0146100825780632d34ba79146100a05780635bc9d96d146100b5575b600080fd5b61008a61010b565b6040516100979190610a5b565b60405180910390f35b6100b36100ae366004610982565b610191565b005b6100b36100c33660046109ba565b6102a7565b6100db6100d6366004610966565b61041c565b6040516100979190610c89565b6100db6100f6366004610982565b6104a5565b61008a61053e565b6100db6105bb565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561015f5760405162461bcd60e51b815260040161015690610c52565b60405180910390fd5b6001600054146101815760405162461bcd60e51b815260040161015690610b8b565b506002546001600160a01b031690565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156101da5760405162461bcd60e51b815260040161015690610c52565b6001546001600160a01b0316156102035760405162461bcd60e51b815260040161015690610c22565b6001600160a01b0382161580159061022357506001600160a01b03811615155b61023f5760405162461bcd60e51b815260040161015690610b29565b806001600160a01b0316826001600160a01b031614156102715760405162461bcd60e51b815260040161015690610abb565b6102796105c1565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156102f05760405162461bcd60e51b815260040161015690610c52565b6001600054146103125760405162461bcd60e51b815260040161015690610b8b565b6002600055336001600160a01b038316148061033f5750806001600160a01b0316826001600160a01b0316145b61035b5760405162461bcd60e51b815260040161015690610beb565b6001600160a01b03808416600090815260046020908152604080832093861683529290529081205461038e9085906105c8565b9050600081116103b05760405162461bcd60e51b815260040161015690610bc2565b6001600160a01b038085166000908152600460209081526040808320938716835292905220546103e090826105e3565b6001600160a01b03808616600090815260046020908152604080832093881683529290522055610411848383610625565b505060016000555050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156104675760405162461bcd60e51b815260040161015690610c52565b6001600054146104895760405162461bcd60e51b815260040161015690610b8b565b506001600160a01b031660009081526003602052604090205490565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156104f05760405162461bcd60e51b815260040161015690610c52565b6001600054146105125760405162461bcd60e51b815260040161015690610b8b565b506001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156105895760405162461bcd60e51b815260040161015690610c52565b6001600054146105ab5760405162461bcd60e51b815260040161015690610b8b565b506001546001600160a01b031690565b60005481565b6001600055565b60006105dc826105d78561065b565b6106f3565b9392505050565b60006105dc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610709565b61062f8382610735565b61063a838383610757565b6106565760405162461bcd60e51b815260040161015690610af2565b505050565b600061066682610788565b6106eb576040516370a0823160e01b81526001600160a01b038316906370a0823190610696903090600401610a5b565b60206040518083038186803b1580156106ae57600080fd5b505afa1580156106c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e69190610a24565b6106ed565b475b92915050565b600081831061070257816105dc565b5090919050565b6000818484111561072d5760405162461bcd60e51b81526004016101569190610a88565b505050900390565b6001600160a01b03909116600090815260036020526040902080549091019055565b600061076284610788565b61077657610771848484610795565b610780565b61078083836107a2565b949350505050565b6001600160a01b03161590565b600061078084848461081a565b6000806060846001600160a01b0316846040516107be90610a58565b60006040518083038185875af1925050503d80600081146107fb576040519150601f19603f3d011682016040523d82523d6000602084013e610800565b606091505b509150915061080f8282610862565b506001949350505050565b6000610780848484604051602401610833929190610a6f565b60408051601f198184030181529190526020810180516001600160e01b031663a9059cbb60e01b179052610873565b8161086f57805160208201fd5b5050565b600061087e8361092d565b61089a5760405162461bcd60e51b815260040161015690610b60565b60006060846001600160a01b0316846040516108b69190610a3c565b6000604051808303816000865af19150503d80600081146108f3576040519150601f19603f3d011682016040523d82523d6000602084013e6108f8565b606091505b50915091506109078282610862565b805115806109245750808060200190518101906109249190610a04565b95945050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590610780575050151592915050565b600060208284031215610977578081fd5b81356105dc81610cc2565b60008060408385031215610994578081fd5b823561099f81610cc2565b915060208301356109af81610cc2565b809150509250929050565b6000806000606084860312156109ce578081fd5b83356109d981610cc2565b925060208401356109e981610cc2565b915060408401356109f981610cc2565b809150509250925092565b600060208284031215610a15578081fd5b815180151581146105dc578182fd5b600060208284031215610a35578081fd5b5051919050565b60008251610a4e818460208701610c92565b9190910192915050565b90565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6000602082528251806020840152610aa7816040850160208701610c92565b601f01601f19169190910160400192915050565b6020808252601f908201527f434d43436f72653a204944454e544943414c5f5041525449434950414e545300604082015260600190565b60208082526019908201527f434d4341737365743a205452414e534645525f4641494c454400000000000000604082015260600190565b6020808252601c908201527f434d43436f72653a20494e56414c49445f5041525449434950414e5400000000604082015260600190565b6020808252601190820152704c696245524332303a204e4f5f434f444560781b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a205245454e5452414e545f43414c4c00604082015260600190565b6020808252600f908201526e0434d4341737365743a204e4f5f4f5608c1b604082015260600190565b60208082526018908201527f434d4341737365743a204f574e45525f4d49534d415443480000000000000000604082015260600190565b6020808252601690820152750434d43436f72653a20414c52454144595f53455455560541b604082015260600190565b6020808252601a908201527f4d6173746572636f70793a204f4e4c595f5649415f50524f5859000000000000604082015260600190565b90815260200190565b60005b83811015610cad578181015183820152602001610c95565b83811115610cbc576000848401525b50505050565b6001600160a01b0381168114610cd757600080fd5b5056fea2646970667358221220a4ebe9893bd73239a3cbe9e70f1a464bdf5a69da62d4539058d08f7cbe81e08d64736f6c63430007010033",
    "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063cefa51221161005b578063cefa5122146100c8578063e9852569146100e8578063eeb30fea146100fb578063f83d08ba146101035761007d565b8063241686a0146100825780632d34ba79146100a05780635bc9d96d146100b5575b600080fd5b61008a61010b565b6040516100979190610a5b565b60405180910390f35b6100b36100ae366004610982565b610191565b005b6100b36100c33660046109ba565b6102a7565b6100db6100d6366004610966565b61041c565b6040516100979190610c89565b6100db6100f6366004610982565b6104a5565b61008a61053e565b6100db6105bb565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561015f5760405162461bcd60e51b815260040161015690610c52565b60405180910390fd5b6001600054146101815760405162461bcd60e51b815260040161015690610b8b565b506002546001600160a01b031690565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156101da5760405162461bcd60e51b815260040161015690610c52565b6001546001600160a01b0316156102035760405162461bcd60e51b815260040161015690610c22565b6001600160a01b0382161580159061022357506001600160a01b03811615155b61023f5760405162461bcd60e51b815260040161015690610b29565b806001600160a01b0316826001600160a01b031614156102715760405162461bcd60e51b815260040161015690610abb565b6102796105c1565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156102f05760405162461bcd60e51b815260040161015690610c52565b6001600054146103125760405162461bcd60e51b815260040161015690610b8b565b6002600055336001600160a01b038316148061033f5750806001600160a01b0316826001600160a01b0316145b61035b5760405162461bcd60e51b815260040161015690610beb565b6001600160a01b03808416600090815260046020908152604080832093861683529290529081205461038e9085906105c8565b9050600081116103b05760405162461bcd60e51b815260040161015690610bc2565b6001600160a01b038085166000908152600460209081526040808320938716835292905220546103e090826105e3565b6001600160a01b03808616600090815260046020908152604080832093881683529290522055610411848383610625565b505060016000555050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156104675760405162461bcd60e51b815260040161015690610c52565b6001600054146104895760405162461bcd60e51b815260040161015690610b8b565b506001600160a01b031660009081526003602052604090205490565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156104f05760405162461bcd60e51b815260040161015690610c52565b6001600054146105125760405162461bcd60e51b815260040161015690610b8b565b506001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156105895760405162461bcd60e51b815260040161015690610c52565b6001600054146105ab5760405162461bcd60e51b815260040161015690610b8b565b506001546001600160a01b031690565b60005481565b6001600055565b60006105dc826105d78561065b565b6106f3565b9392505050565b60006105dc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610709565b61062f8382610735565b61063a838383610757565b6106565760405162461bcd60e51b815260040161015690610af2565b505050565b600061066682610788565b6106eb576040516370a0823160e01b81526001600160a01b038316906370a0823190610696903090600401610a5b565b60206040518083038186803b1580156106ae57600080fd5b505afa1580156106c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e69190610a24565b6106ed565b475b92915050565b600081831061070257816105dc565b5090919050565b6000818484111561072d5760405162461bcd60e51b81526004016101569190610a88565b505050900390565b6001600160a01b03909116600090815260036020526040902080549091019055565b600061076284610788565b61077657610771848484610795565b610780565b61078083836107a2565b949350505050565b6001600160a01b03161590565b600061078084848461081a565b6000806060846001600160a01b0316846040516107be90610a58565b60006040518083038185875af1925050503d80600081146107fb576040519150601f19603f3d011682016040523d82523d6000602084013e610800565b606091505b509150915061080f8282610862565b506001949350505050565b6000610780848484604051602401610833929190610a6f565b60408051601f198184030181529190526020810180516001600160e01b031663a9059cbb60e01b179052610873565b8161086f57805160208201fd5b5050565b600061087e8361092d565b61089a5760405162461bcd60e51b815260040161015690610b60565b60006060846001600160a01b0316846040516108b69190610a3c565b6000604051808303816000865af19150503d80600081146108f3576040519150601f19603f3d011682016040523d82523d6000602084013e6108f8565b606091505b50915091506109078282610862565b805115806109245750808060200190518101906109249190610a04565b95945050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590610780575050151592915050565b600060208284031215610977578081fd5b81356105dc81610cc2565b60008060408385031215610994578081fd5b823561099f81610cc2565b915060208301356109af81610cc2565b809150509250929050565b6000806000606084860312156109ce578081fd5b83356109d981610cc2565b925060208401356109e981610cc2565b915060408401356109f981610cc2565b809150509250925092565b600060208284031215610a15578081fd5b815180151581146105dc578182fd5b600060208284031215610a35578081fd5b5051919050565b60008251610a4e818460208701610c92565b9190910192915050565b90565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6000602082528251806020840152610aa7816040850160208701610c92565b601f01601f19169190910160400192915050565b6020808252601f908201527f434d43436f72653a204944454e544943414c5f5041525449434950414e545300604082015260600190565b60208082526019908201527f434d4341737365743a205452414e534645525f4641494c454400000000000000604082015260600190565b6020808252601c908201527f434d43436f72653a20494e56414c49445f5041525449434950414e5400000000604082015260600190565b6020808252601190820152704c696245524332303a204e4f5f434f444560781b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a205245454e5452414e545f43414c4c00604082015260600190565b6020808252600f908201526e0434d4341737365743a204e4f5f4f5608c1b604082015260600190565b60208082526018908201527f434d4341737365743a204f574e45525f4d49534d415443480000000000000000604082015260600190565b6020808252601690820152750434d43436f72653a20414c52454144595f53455455560541b604082015260600190565b6020808252601a908201527f4d6173746572636f70793a204f4e4c595f5649415f50524f5859000000000000604082015260600190565b90815260200190565b60005b83811015610cad578181015183820152602001610c95565b83811115610cbc576000848401525b50505050565b6001600160a01b0381168114610cd757600080fd5b5056fea2646970667358221220a4ebe9893bd73239a3cbe9e70f1a464bdf5a69da62d4539058d08f7cbe81e08d64736f6c63430007010033",
    "linkReferences": {},
    "deployedLinkReferences": {}
}
