{
	"compiler": {
		"version": "0.8.4+commit.c7e474f2"
	},
	"language": "Solidity",
	"output": {
		"abi": [
			{
				"inputs": [],
				"name": "CannotBridgeToSameNetwork",
				"type": "error"
			},
			{
				"inputs": [],
				"name": "InvalidAmount",
				"type": "error"
			},
			{
				"inputs": [],
				"name": "InvalidConfig",
				"type": "error"
			},
			{
				"inputs": [],
				"name": "NativeValueWithERC",
				"type": "error"
			},
			{
				"inputs": [],
				"name": "NoTransferToNullAddress",
				"type": "error"
			},
			{
				"inputs": [],
				"name": "NullAddrIsNotAValidSpender",
				"type": "error"
			},
			{
				"inputs": [],
				"name": "NullAddrIsNotAnERC20Token",
				"type": "error"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": false,
						"internalType": "address",
						"name": "cBridge",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "chainId",
						"type": "uint256"
					}
				],
				"name": "CBridgeInitialized",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": false,
						"internalType": "string",
						"name": "bridgeUsed",
						"type": "string"
					},
					{
						"indexed": false,
						"internalType": "address",
						"name": "tokenAddress",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "address",
						"name": "from",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "address",
						"name": "to",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "amount",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "chainIdTo",
						"type": "uint256"
					}
				],
				"name": "TransferStarted",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": false,
						"internalType": "address",
						"name": "newAddress",
						"type": "address"
					}
				],
				"name": "UpdatedCBridgeAddress",
				"type": "event"
			},
			{
				"inputs": [
					{
						"components": [
							{
								"internalType": "uint32",
								"name": "maxSlippage",
								"type": "uint32"
							},
							{
								"internalType": "uint64",
								"name": "dstChainId",
								"type": "uint64"
							},
							{
								"internalType": "uint64",
								"name": "nonce",
								"type": "uint64"
							},
							{
								"internalType": "uint256",
								"name": "amount",
								"type": "uint256"
							},
							{
								"internalType": "address",
								"name": "receiver",
								"type": "address"
							},
							{
								"internalType": "address",
								"name": "token",
								"type": "address"
							}
						],
						"internalType": "struct CBridgeFacet.CBridgeData",
						"name": "_cBridgeData",
						"type": "tuple"
					}
				],
				"name": "bridgeTokensCBridge",
				"outputs": [],
				"stateMutability": "payable",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "cBridge",
				"outputs": [
					{
						"internalType": "address",
						"name": "",
						"type": "address"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "chainId",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_cBridge",
						"type": "address"
					},
					{
						"internalType": "uint256",
						"name": "_chainId",
						"type": "uint256"
					}
				],
				"name": "initializeCBridge",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			}
		],
		"devdoc": {
			"kind": "dev",
			"methods": {
				"bridgeTokensCBridge((uint32,uint64,uint64,uint256,address,address))": {
					"params": {
						"_cBridgeData": ": provides necessary data for cBridge transfer"
					}
				},
				"initializeCBridge(address,uint256)": {
					"params": {
						"_cBridge": "address of the canonical CBridge router contract",
						"_chainId": "chainId of this deployed contract"
					}
				}
			},
			"version": 1
		},
		"userdoc": {
			"kind": "user",
			"methods": {
				"bridgeTokensCBridge((uint32,uint64,uint64,uint256,address,address))": {
					"notice": "initiates token bridging"
				},
				"initializeCBridge(address,uint256)": {
					"notice": "initializes state variables for the cBridge facet"
				}
			},
			"version": 1
		}
	},
	"settings": {
		"compilationTarget": {
			"bridges/facets/CBridgeFacet.sol": "CBridgeFacet"
		},
		"evmVersion": "istanbul",
		"libraries": {},
		"metadata": {
			"bytecodeHash": "ipfs"
		},
		"optimizer": {
			"enabled": false,
			"runs": 200
		},
		"remappings": []
	},
	"sources": {
		"@openzeppelin/contracts/security/ReentrancyGuard.sol": {
			"keccak256": "0x0e9621f60b2faabe65549f7ed0f24e8853a45c1b7990d47e8160e523683f3935",
			"license": "MIT",
			"urls": [
				"bzz-raw://287a2f8d5814dd0f05f22b740f18ca8321acc21c9bd03a6cb2203ea626e2f3f2",
				"dweb:/ipfs/QmZRQv9iuwU817VuqkA2WweiaibKii69x9QxYBBEfbNEud"
			]
		},
		"@openzeppelin/contracts/token/ERC20/IERC20.sol": {
			"keccak256": "0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b",
			"license": "MIT",
			"urls": [
				"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34",
				"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr"
			]
		},
		"@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol": {
			"keccak256": "0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329",
			"license": "MIT",
			"urls": [
				"bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95",
				"dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7"
			]
		},
		"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol": {
			"keccak256": "0x032807210d1d7d218963d7355d62e021a84bf1b3339f4f50be2f63b53cccaf29",
			"license": "MIT",
			"urls": [
				"bzz-raw://11756f42121f6541a35a8339ea899ee7514cfaa2e6d740625fcc844419296aa6",
				"dweb:/ipfs/QmekMuk6BY4DAjzeXr4MSbKdgoqqsZnA8JPtuyWc6CwXHf"
			]
		},
		"@openzeppelin/contracts/utils/Address.sol": {
			"keccak256": "0xd6153ce99bcdcce22b124f755e72553295be6abcd63804cfdffceb188b8bef10",
			"license": "MIT",
			"urls": [
				"bzz-raw://35c47bece3c03caaa07fab37dd2bb3413bfbca20db7bd9895024390e0a469487",
				"dweb:/ipfs/QmPGWT2x3QHcKxqe6gRmAkdakhbaRgx3DLzcakHz5M4eXG"
			]
		},
		"bridges/errors/GenericErrors.sol": {
			"keccak256": "0x428005532c28e5c7ab8caf0683f3df926d36d9e4c4d2d84ada50961bbbafc946",
			"license": "MIT",
			"urls": [
				"bzz-raw://c6c8c43e7ff4ed53a714221d42c73aebc8b9bb617f83c6fa39cb0f84ee85ed48",
				"dweb:/ipfs/QmRHpwL8iZVmykWEzbqhF6Are4duCKy4fp66JQgtrPnoUT"
			]
		},
		"bridges/facets/CBridgeFacet.sol": {
			"keccak256": "0x85eff15c3f5836175c627642db4a1b9a21a4b306649b6ed8f943a1e3afcdde5b",
			"license": "MIT",
			"urls": [
				"bzz-raw://502cc604aca3ac38717b63d9fff9c4d18a2c3159f7c65b6d2e469ef3de03769f",
				"dweb:/ipfs/QmZPVZRa6rqBf6G6kLmS8gnhdKjBKcVHcXEKHAxsxWmBcJ"
			]
		},
		"bridges/interfaces/ICBridge.sol": {
			"keccak256": "0x1d9e1f4ef38e6d8f810869d4e4126af4d3c5b70cf23ae0f61abb63151ef1c43c",
			"license": "MIT",
			"urls": [
				"bzz-raw://5e9255411a81a5fdd37caa1707e3888551cd9b5bbb6133c500a17f06856cb05f",
				"dweb:/ipfs/QmTPvY9kQxA6PLXz4zRpqqP9BVgGjLkKGLer3VU7v833rF"
			]
		},
		"bridges/libs/LibAsset.sol": {
			"keccak256": "0x35924399a060d86e97962eee65bc86a7f46a78e6c43d2ab342f9d2d400948666",
			"license": "UNLICENSED",
			"urls": [
				"bzz-raw://e5a16cc175256e3252c326280b96610a21efb16cf1b30599b0979f65277b71bc",
				"dweb:/ipfs/QmQ2WSHaTxfsQRnft5VzY54Zv9nReejXKP7FzKLjaVFBap"
			]
		}
	},
	"version": 1
}