{
	"targets": {
	  "SafeDecimalMath": {
		"name": "SafeDecimalMath",
		"address": "0x4930E28CC58A2Caa9533dA4cC3FB2471876D7481",
		"source": "SafeDecimalMath"
	  },
	  "SystemSettingsLib": {
		"name": "SystemSettingsLib",
		"address": "0x6CC6B82a1a0E3AAbb27Ed2a0C2c95BF38Db109ba",
		"source": "SystemSettingsLib"
	  },
	  "AddressResolver": {
		"name": "AddressResolver",
		"address": "0x7880A600F4268945a35BF8908488743c4a0be34c",
		"source": "AddressResolver"
	  },
	  "FlexibleStorage": {
		"name": "FlexibleStorage",
		"address": "0x142d427a74F0a67421eE96ec77bc836f3041671D",
		"source": "FlexibleStorage"
	  },
	  "SystemSettings": {
		"name": "SystemSettings",
		"address": "0x9526d580234Ec31E4c398AEAe105879D353cC7b8",
		"source": "SystemSettings"
	  },
	  "SystemStatus": {
		"name": "SystemStatus",
		"address": "0x5D6EF1d7BB35eAB111ED528D475BCADCb7E31fE8",
		"source": "SystemStatus"
	  },
	  "ExchangeRates": {
		"name": "ExchangeRates",
		"address": "0xafac8df44a724ea386b08e0ae7c8fe8a4723dcb8",
		"source": "ExchangeRatesWithDexPricing"
	  },
	  "ProxyFeePool": {
		"name": "ProxyFeePool",
		"address": "0xBD126B5ad7bDa600971bbe8aa6F9b5D7A5A4A4f5",
		"source": "FeePool"
	  },
	  "FeePool": {
		"name": "FeePool",
		"address": "0xd104692ec8F1D543D47969C8B3737dD607f5e0a0",
		"source": "FeePool"
	  },
	  "ProxySynthetix": {
		"name": "ProxySynthetix",
		"address": "0xd0E2dC85501e58A4eB689Ed2231D39EeC02752F5",
		"source": "Synthetix"
	  },
	  "Synthetix": {
		"name": "Synthetix",
		"address": "0xd0E2dC85501e58A4eB689Ed2231D39EeC02752F5",
		"source": "Synthetix"
	  },
	  "Exchanger": {
		"name": "Exchanger",
		"address": "0x810DcA3f79B489828943DCe5dE66E8D5A361Db89",
		"source": "ExchangerWithFeeRecAlternatives"
	  },
	  "ExchangeCircuitBreaker": {
		"name": "ExchangeCircuitBreaker",
		"address": "0xf41d104a039c6D603997188287B429b3b6D63534",
		"source": "ExchangeCircuitBreaker"
	  },
	  "ExchangeState": {
		"name": "ExchangeState",
		"address": "0x91FF5eA5c3bfFAE7C4Bd5013F8373EEe4C593DeE",
		"source": "ExchangeState"
	  },
	  "Issuer": {
		"name": "Issuer",
		"address": "0x75C8D91d31CdCDCdA88dBC0304E439B9249ac21b",
		"source": "Issuer"
	  },
	  "SynthRedeemer": {
		"name": "SynthRedeemer",
		"address": "0xb2602610469CdC621280e5EBd6485e74b0d7ac1E",
		"source": "SynthRedeemer"
	  },
	  "SynthrBridge": {
		"name": "SynthrBridge",
		"address": "0xB56fbf6C2Bf372305Aa6f751F045cb183E6c5318",
		"source": "SynthrBridge"
	  },
	  "CollateralManager": {
		"name": "CollateralManager",
		"address": "0xD6BbA8f8443083Af9218AA88De9931157A391eB5",
		"source": "CollateralManager"
	  },
	  "SynthUtil": {
		"name": "SynthUtil",
		"address": "0x3e49fC69dC6b0e9a21d8e067732f60d97d3a8D53",
		"source": "SynthUtil"
	  },
	  "TokenStatesUSD": {
		"name": "TokenStatesUSD",
		"address": "0x9c753D65ff4a3CcA91eFbC9F562477B65045561d",
		"source": "TokenState"
	  },
	  "SynthsUSD": {
		"name": "SynthsUSD",
		"address": "0xAa10520939C0b0112C9FCFF5aca588844565AFeE",
		"source": "MultiCollateralSynth"
	  },
	  "TokenStatesDOT": {
		"name": "TokenStatesDOT",
		"address": "0x1dcc2fC45d092d939Ab9555Ce043390F665A4c4B",
		"source": "TokenState"
	  },
	  "SynthsDOT": {
		"name": "SynthsDOT",
		"address": "0xEaf37D86818C8aA5f10C728f5A6741f9A0c8d6b0",
		"source": "MultiCollateralSynth"
	  },
	  "TokenStatesBTC": {
		"name": "TokenStatesBTC",
		"address": "0xc7260FD9b4242689540342B1AE2E41b0bC2d24C8",
		"source": "TokenState"
	  },
	  "SynthsBTC": {
		"name": "SynthsBTC",
		"address": "0x4b5ABAc5a02Ee24eD43B1ec280c999984FE3691F",
		"source": "MultiCollateralSynth"
	  },
	  "TokenStatesAVAX": {
		"name": "TokenStatesAVAX",
		"address": "0xb92DE63eb7D8A652bF80385906812F92D49C5139",
		"source": "TokenState"
	  },
	  "SynthsAVAX": {
		"name": "SynthsAVAX",
		"address": "0xA522F12c5990427438aCea21FF798A66AF03e230",
		"source": "MultiCollateralSynth"
	  },
	  "TokenStatesBNB": {
		"name": "TokenStatesBNB",
		"address": "0xb68A1B6914261d77Bb4e29adD171C88fA08D747B",
		"source": "TokenState"
	  },
	  "SynthsBNB": {
		"name": "SynthsBNB",
		"address": "0x17f988eA587307c51Ce9b291390067a78b5b9bcD",
		"source": "MultiCollateralSynth"
	  },
	  "TokenStatesMATIC": {
		"name": "TokenStatesMATIC",
		"address": "0xaD02412cdB342Fe736506AB8422de523A20E84E1",
		"source": "TokenState"
	  },
	  "SynthsMATIC": {
		"name": "SynthsMATIC",
		"address": "0x84dF5c37859E8FD0754E2D44C9eb2c5F418f7796",
		"source": "MultiCollateralSynth"
	  },
	  "TokenStatesETH": {
		"name": "TokenStatesETH",
		"address": "0x5b3b27d2046f6024f0de8cC4950d4d52b5aCE8Fe",
		"source": "TokenState"
	  },
	  "SynthsETH": {
		"name": "SynthsETH",
		"address": "0x6adbe457D10A1044662cd495DC72B7C0204E2eA5",
		"source": "MultiCollateralSynth"
	  },
	  "ExternWrappedStateToken": {
		"name": "ExternWrappedStateToken",
		"address": "0xf608D873f7DAC5DFB03ece090beBcb5d7851A0c6",
		"source": "ExternWrappedStateToken"
	  },
	  "SynthrSwap": {
		"name": "SynthrSwap",
		"address": "0x94062Fc7eB730cff0Cc7f67DA6C470e62f068Cc5",
		"source": "SynthrSwap"
	  },
	  "DexAggregator": {
		"name": "DexAggregator",
		"address": "0x88E51f364739b6Cb0de572aea92fd5793e0Ffd34",
		"source": "DexAggregator"
	  },
	  "SynthrSwapWithDex": {
		"name": "SynthrSwapWithDex",
		"address": "0xEa159F6CD436aC9f3998eED82F89dB7355e520d0",
		"source": "SynthrSwapWithDex"
	  },
	  "DexBridge": {
		"name": "DexBridge",
		"address": "0xe1ea2e219cd74e6bc8d7766eb61cabf203c1e39e",
		"source": "DexBridge"
	  },
	  "CircuitBreaker": {
		"name": "CircuitBreaker",
		"address": "0x3df7DAc5f0caE13C665a512787c23299Dcc2FD09",
		"source": "CircuitBreaker"
	  },
	  "PerpsV2ExchangeRate": {
		"name": "PerpsV2ExchangeRate",
		"address": "0xDe9e8Fa0e7305e4bF5ea43A3f99306DC014A98d2",
		"source": "PerpsV2ExchangeRate"
	  },
	  "OffChainExchanger": {
		"name": "OffChainExchanger",
		"address": "0xd3045375384c1bc5a7b061c46832870d3c0b79df",
		"source": "OffChainExchanger"
	  }
	},
	"sources": {
	  "OffChainExchanger": {
		"abi": [
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_owner",
						"type": "address"
					},
					{
						"internalType": "address",
						"name": "_resolver",
						"type": "address"
					}
				],
				"stateMutability": "nonpayable",
				"type": "constructor"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "name",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "address",
						"name": "destination",
						"type": "address"
					}
				],
				"name": "CacheUpdated",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "account",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "currencyKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "amount",
						"type": "uint256"
					}
				],
				"name": "DestIssueForOffChainExchange",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "account",
						"type": "address"
					},
					{
						"indexed": true,
						"internalType": "address",
						"name": "toAddress",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "fromCurrencyKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "fromAmount",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "toCurrencyKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "toAmount",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "fee",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "uint16",
						"name": "destChainId",
						"type": "uint16"
					}
				],
				"name": "OffChainSynthExchange",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": false,
						"internalType": "address",
						"name": "oldOwner",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "address",
						"name": "newOwner",
						"type": "address"
					}
				],
				"name": "OwnerChanged",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": false,
						"internalType": "address",
						"name": "newOwner",
						"type": "address"
					}
				],
				"name": "OwnerNominated",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "bytes32",
						"name": "currencyKey",
						"type": "bytes32"
					},
					{
						"indexed": true,
						"internalType": "bytes32",
						"name": "parameter",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "value",
						"type": "uint256"
					}
				],
				"name": "ParameterUpdated",
				"type": "event"
			},
			{
				"inputs": [],
				"name": "CONTRACT_NAME",
				"outputs": [
					{
						"internalType": "bytes32",
						"name": "",
						"type": "bytes32"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "acceptOwnership",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"components": [
							{
								"internalType": "address",
								"name": "fromAccount",
								"type": "address"
							},
							{
								"internalType": "address",
								"name": "destAccount",
								"type": "address"
							},
							{
								"internalType": "bytes32",
								"name": "sourceCurrencyKey",
								"type": "bytes32"
							},
							{
								"internalType": "bytes32",
								"name": "destCurrencyKey",
								"type": "bytes32"
							},
							{
								"internalType": "uint256",
								"name": "sourceAmount",
								"type": "uint256"
							},
							{
								"internalType": "uint256",
								"name": "destAmount",
								"type": "uint256"
							},
							{
								"internalType": "uint256",
								"name": "fee",
								"type": "uint256"
							},
							{
								"internalType": "uint256",
								"name": "reclaimed",
								"type": "uint256"
							},
							{
								"internalType": "uint256",
								"name": "refunded",
								"type": "uint256"
							},
							{
								"internalType": "uint16",
								"name": "destChainId",
								"type": "uint16"
							},
							{
								"internalType": "bool",
								"name": "erc20Payment",
								"type": "bool"
							}
						],
						"internalType": "struct IExchanger.ExchangeArgs",
						"name": "args",
						"type": "tuple"
					},
					{
						"internalType": "bytes32",
						"name": "bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "bytes[]",
						"name": "priceUpdateData",
						"type": "bytes[]"
					}
				],
				"name": "exchange",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"stateMutability": "payable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"internalType": "bytes32",
						"name": "_sourceKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_destKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_sourceAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes[]",
						"name": "_priceUpdateData",
						"type": "bytes[]"
					},
					{
						"internalType": "uint16",
						"name": "_destChainId",
						"type": "uint16"
					}
				],
				"name": "exchangeForDexAggregation",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "destAmount",
						"type": "uint256"
					},
					{
						"internalType": "uint256",
						"name": "fee",
						"type": "uint256"
					}
				],
				"stateMutability": "payable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "bytes32",
						"name": "sourceCurrencyKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "destinationCurrencyKey",
						"type": "bytes32"
					}
				],
				"name": "feeRateForOffChainExchange",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "bytes32",
						"name": "_sourceKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_destKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_destAmount",
						"type": "uint256"
					}
				],
				"name": "getAmountsForOffChainExchangeMinusFees",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "amountReceived",
						"type": "uint256"
					},
					{
						"internalType": "uint256",
						"name": "fee",
						"type": "uint256"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"internalType": "bytes32",
						"name": "_sourceKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_destKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_sourceAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "uint16",
						"name": "_destChainId",
						"type": "uint16"
					}
				],
				"name": "getSendOffChainExchangeGasFee",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "isResolverCached",
				"outputs": [
					{
						"internalType": "bool",
						"name": "",
						"type": "bool"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_owner",
						"type": "address"
					}
				],
				"name": "nominateNewOwner",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "nominatedOwner",
				"outputs": [
					{
						"internalType": "address",
						"name": "",
						"type": "address"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "bytes32",
						"name": "_currencyKey",
						"type": "bytes32"
					}
				],
				"name": "offchainPriceDivergence",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "bytes32",
						"name": "_currencyKey",
						"type": "bytes32"
					}
				],
				"name": "offchainPriceMaxAge",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "owner",
				"outputs": [
					{
						"internalType": "address",
						"name": "",
						"type": "address"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "rebuildCache",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "resolver",
				"outputs": [
					{
						"internalType": "contract AddressResolverLightChain",
						"name": "",
						"type": "address"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "resolverAddressesRequired",
				"outputs": [
					{
						"internalType": "bytes32[]",
						"name": "addresses",
						"type": "bytes32[]"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "bytes32[]",
						"name": "_currencyKeys",
						"type": "bytes32[]"
					},
					{
						"internalType": "uint256[]",
						"name": "_offchainPriceDivergences",
						"type": "uint256[]"
					}
				],
				"name": "setOffchainPriceDivergence",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "bytes32[]",
						"name": "_currencyKeys",
						"type": "bytes32[]"
					},
					{
						"internalType": "uint256[]",
						"name": "_offchainPriceMaxAges",
						"type": "uint256[]"
					}
				],
				"name": "setOffchainPriceMaxAge",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "recipient",
						"type": "address"
					},
					{
						"internalType": "bytes32",
						"name": "destinationKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "destinationAmount",
						"type": "uint256"
					}
				],
				"name": "updateDestinationForExchange",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			}
		]
	  },
	  "PerpsV2ExchangeRate": {
		"abi": [
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "_resolver",
				"type": "address"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "constructor"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "associatedContract",
				"type": "address"
			  }
			],
			"name": "AssociatedContractAdded",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "associatedContract",
				"type": "address"
			  }
			],
			"name": "AssociatedContractRemoved",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "name",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "destination",
				"type": "address"
			  }
			],
			"name": "CacheUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "offchainOracle",
				"type": "address"
			  }
			],
			"name": "OffchainOracleUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "assetId",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "priceFeedId",
				"type": "bytes32"
			  }
			],
			"name": "OffchainPriceFeedIdUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "oldOwner",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerChanged",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerNominated",
			"type": "event"
		  },
		  {
			"inputs": [],
			"name": "CONTRACT_NAME",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "acceptOwnership",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address[]",
				"name": "associatedContracts_",
				"type": "address[]"
			  }
			],
			"name": "addAssociatedContracts",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "associatedContracts",
			"outputs": [
			  {
				"internalType": "address[]",
				"name": "",
				"type": "address[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "_sourceRate",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "_sourceAmount",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "_destRate",
				"type": "uint256"
			  }
			],
			"name": "calculateExchangeRate",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "pure",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "_sourceKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "_sourceAmount",
				"type": "uint256"
			  },
			  {
				"internalType": "bytes32",
				"name": "_destKey",
				"type": "bytes32"
			  }
			],
			"name": "getExchangeAmount",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "destAmount",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "sourceRate",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "destRate",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes[]",
				"name": "priceUpdateData",
				"type": "bytes[]"
			  }
			],
			"name": "getUpdateFee",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "isResolverCached",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  }
			],
			"name": "nominateNewOwner",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "nominatedOwner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "offchainOracle",
			"outputs": [
			  {
				"internalType": "contract IPyth",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "assetId",
				"type": "bytes32"
			  }
			],
			"name": "offchainPriceFeedId",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "owner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "rebuildCache",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address[]",
				"name": "associatedContracts_",
				"type": "address[]"
			  }
			],
			"name": "removeAssociatedContracts",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "assetId",
				"type": "bytes32"
			  }
			],
			"name": "resolveAndGetLatestPrice",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "price",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "publishTime",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "assetId",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "maxAge",
				"type": "uint256"
			  }
			],
			"name": "resolveAndGetPrice",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "price",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "publishTime",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resolver",
			"outputs": [
			  {
				"internalType": "contract AddressResolverLightChain",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resolverAddressesRequired",
			"outputs": [
			  {
				"internalType": "bytes32[]",
				"name": "addresses",
				"type": "bytes32[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "offchainOracle_",
				"type": "address"
			  }
			],
			"name": "setOffchainOracle",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "assetId",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32",
				"name": "priceFeedId",
				"type": "bytes32"
			  }
			],
			"name": "setOffchainPriceFeedId",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "sender",
				"type": "address"
			  },
			  {
				"internalType": "bytes[]",
				"name": "priceUpdateData",
				"type": "bytes[]"
			  }
			],
			"name": "updatePythPrice",
			"outputs": [],
			"stateMutability": "payable",
			"type": "function"
		  }
		]
	  },
	  "CircuitBreaker": {
		"abi": [
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "_resolver",
				"type": "address"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "constructor"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "name",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "destination",
				"type": "address"
			  }
			],
			"name": "CacheUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": true,
				"internalType": "address",
				"name": "oracleAddress",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "previousValue",
				"type": "uint256"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "newValue",
				"type": "uint256"
			  }
			],
			"name": "CircuitBroken",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": true,
				"internalType": "address",
				"name": "oracleAddress",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "previousValue",
				"type": "uint256"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "newValue",
				"type": "uint256"
			  }
			],
			"name": "LastValueOverridden",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "oldOwner",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerChanged",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerNominated",
			"type": "event"
		  },
		  {
			"inputs": [],
			"name": "CONTRACT_NAME",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "acceptOwnership",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "oracleAddress",
				"type": "address"
			  }
			],
			"name": "circuitBroken",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "base",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "comparison",
				"type": "uint256"
			  }
			],
			"name": "isDeviationAboveThreshold",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "oracleAddress",
				"type": "address"
			  },
			  {
				"internalType": "uint256",
				"name": "value",
				"type": "uint256"
			  }
			],
			"name": "isInvalid",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "isResolverCached",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "oracleAddress",
				"type": "address"
			  }
			],
			"name": "lastValue",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  }
			],
			"name": "nominateNewOwner",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "nominatedOwner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "owner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "priceDeviationThresholdFactor",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "oracleAddress",
				"type": "address"
			  },
			  {
				"internalType": "uint256",
				"name": "value",
				"type": "uint256"
			  }
			],
			"name": "probeCircuitBreaker",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "circuitBroken",
				"type": "bool"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "rebuildCache",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address[]",
				"name": "oracleAddresses",
				"type": "address[]"
			  },
			  {
				"internalType": "uint256[]",
				"name": "values",
				"type": "uint256[]"
			  }
			],
			"name": "resetLastValue",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resolver",
			"outputs": [
			  {
				"internalType": "contract AddressResolverLightChain",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resolverAddressesRequired",
			"outputs": [
			  {
				"internalType": "bytes32[]",
				"name": "addresses",
				"type": "bytes32[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  }
		]
	  },
	  "DexBridge": {
		"abi": [
		  {
			"inputs": [
			  { "internalType": "address", "name": "_owner", "type": "address" },
			  {
				"internalType": "address",
				"name": "_resolver",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "_factory",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "_swapRouter",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "_wrappedNative",
				"type": "address"
			  },
			  {
				"internalType": "bytes32",
				"name": "_nativeSynth",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32",
				"name": "_nativeKey",
				"type": "bytes32"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "constructor"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "name",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "destination",
				"type": "address"
			  }
			],
			"name": "CacheUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": true,
				"internalType": "address",
				"name": "_account",
				"type": "address"
			  },
			  {
				"indexed": true,
				"internalType": "bytes32",
				"name": "_destNativeKey",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "_destNativeAmount",
				"type": "uint256"
			  },
			  {
				"indexed": true,
				"internalType": "bytes32",
				"name": "_sourceSynthKey",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "_sourceSynthAmount",
				"type": "uint256"
			  }
			],
			"name": "DexSwapNativeToSynth",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": true,
				"internalType": "address",
				"name": "_account",
				"type": "address"
			  },
			  {
				"indexed": true,
				"internalType": "bytes32",
				"name": "_sourceSynthKey",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "_sourceSynthAmount",
				"type": "uint256"
			  },
			  {
				"indexed": true,
				"internalType": "bytes32",
				"name": "_destNativeKey",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "_destNativeAmount",
				"type": "uint256"
			  }
			],
			"name": "DexSwapSynthToNative",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "oldOwner",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerChanged",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerNominated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": true,
				"internalType": "address",
				"name": "_to",
				"type": "address"
			  },
			  {
				"indexed": true,
				"internalType": "address",
				"name": "_currency",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "_amount",
				"type": "uint256"
			  }
			],
			"name": "OwnerWithdraw",
			"type": "event"
		  },
		  {
			"inputs": [],
			"name": "CONTRACT_NAME",
			"outputs": [
			  { "internalType": "bytes32", "name": "", "type": "bytes32" }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "acceptOwnership",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "_destSynthAmount",
				"type": "uint256"
			  }
			],
			"name": "getNativeInForSynth",
			"outputs": [
			  { "internalType": "uint256", "name": "", "type": "uint256" }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "_sourceSynthAmount",
				"type": "uint256"
			  }
			],
			"name": "getNativeOutFromSynth",
			"outputs": [
			  { "internalType": "uint256", "name": "", "type": "uint256" }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "_destNativeAmount",
				"type": "uint256"
			  }
			],
			"name": "getSynthInForNative",
			"outputs": [
			  { "internalType": "uint256", "name": "", "type": "uint256" }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "_sourceNativeAmount",
				"type": "uint256"
			  }
			],
			"name": "getSynthOutFromNative",
			"outputs": [
			  { "internalType": "uint256", "name": "", "type": "uint256" }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "isResolverCached",
			"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "lbFactory",
			"outputs": [
			  { "internalType": "address", "name": "", "type": "address" }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "nativeKey",
			"outputs": [
			  { "internalType": "bytes32", "name": "", "type": "bytes32" }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "nativeSynthKey",
			"outputs": [
			  { "internalType": "bytes32", "name": "", "type": "bytes32" }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  { "internalType": "address", "name": "_owner", "type": "address" }
			],
			"name": "nominateNewOwner",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "nominatedOwner",
			"outputs": [
			  { "internalType": "address", "name": "", "type": "address" }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "owner",
			"outputs": [
			  { "internalType": "address", "name": "", "type": "address" }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  { "internalType": "address", "name": "_to", "type": "address" },
			  {
				"internalType": "address",
				"name": "_currency",
				"type": "address"
			  },
			  { "internalType": "uint256", "name": "_amount", "type": "uint256" }
			],
			"name": "ownerWithdraw",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "rebuildCache",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_account",
				"type": "address"
			  },
			  {
				"internalType": "bytes32",
				"name": "_synthKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "_synthAmount",
				"type": "uint256"
			  }
			],
			"name": "refundSynth",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resolver",
			"outputs": [
			  {
				"internalType": "contract AddressResolver",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resolverAddressesRequired",
			"outputs": [
			  {
				"internalType": "bytes32[]",
				"name": "addresses",
				"type": "bytes32[]"
			  }
			],
			"stateMutability": "pure",
			"type": "function"
		  },
		  {
			"inputs": [
			  { "internalType": "address", "name": "_router", "type": "address" }
			],
			"name": "setRouter",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_wrappedNative",
				"type": "address"
			  }
			],
			"name": "setWrappedNative",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_account",
				"type": "address"
			  },
			  {
				"internalType": "uint256",
				"name": "_sourceNativeAmount",
				"type": "uint256"
			  }
			],
			"name": "swapNativeToSynth",
			"outputs": [
			  { "internalType": "uint256", "name": "", "type": "uint256" }
			],
			"stateMutability": "payable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "swapRouter",
			"outputs": [
			  { "internalType": "address", "name": "", "type": "address" }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_account",
				"type": "address"
			  },
			  {
				"internalType": "uint256",
				"name": "_sourceSynthAmount",
				"type": "uint256"
			  }
			],
			"name": "swapSynthToNative",
			"outputs": [
			  { "internalType": "uint256", "name": "", "type": "uint256" }
			],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "wrappedNative",
			"outputs": [
			  { "internalType": "address", "name": "", "type": "address" }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  { "stateMutability": "payable", "type": "receive" }
		]
	  },
	  "SynthrSwapWithDex": {
		"abi": [
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_owner",
						"type": "address"
					},
					{
						"internalType": "address",
						"name": "_resolver",
						"type": "address"
					}
				],
				"stateMutability": "nonpayable",
				"type": "constructor"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "name",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "address",
						"name": "destination",
						"type": "address"
					}
				],
				"name": "CacheUpdated",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": false,
						"internalType": "address",
						"name": "oldOwner",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "address",
						"name": "newOwner",
						"type": "address"
					}
				],
				"name": "OwnerChanged",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": false,
						"internalType": "address",
						"name": "newOwner",
						"type": "address"
					}
				],
				"name": "OwnerNominated",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "uint16",
						"name": "_chainId",
						"type": "uint16"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_originalCurrencyKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_originalSynthKey",
						"type": "bytes32"
					}
				],
				"name": "RemoveNativeAssetByChain",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "uint16",
						"name": "_chainId",
						"type": "uint16"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_nativeCurrencyKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_nativeSynth",
						"type": "bytes32"
					}
				],
				"name": "SetNativeAssetByChain",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_sourceSynthKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_sourceSynthAmount",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_destSynthKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_destSynthAmount",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_destNativeKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_swappedNativeAmount",
						"type": "uint256"
					}
				],
				"name": "SwapNativeToNative",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "string",
						"name": "reason",
						"type": "string"
					}
				],
				"name": "SwapNativeToNativeFailed",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_sourceSynthKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_sourceAmount",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_destSynthKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_swappedSynthAmount",
						"type": "uint256"
					}
				],
				"name": "SwapNativeToSynth",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_sourceNativeKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_sourceNativeAmount",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_sourceSynthKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_sourceSynthAmount",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_destNativeKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint16",
						"name": "_destChainId",
						"type": "uint16"
					}
				],
				"name": "SwapSourceNativeToNative",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_sourceNativeKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_sourceNativeAmount",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_sourceSynthKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_sourceSynthAmount",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_destSynthKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint16",
						"name": "_destChainId",
						"type": "uint16"
					}
				],
				"name": "SwapSourceNativeToSynth",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_sourceSynthKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_sourceSynthAmount",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_destNativeKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint16",
						"name": "_destChainId",
						"type": "uint16"
					}
				],
				"name": "SwapSourceSynthToNative",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_sourceSynthKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_sourceSynthAmount",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_destSynthKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_destSynthAmount",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_destNativeKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_swappedNativeAmount",
						"type": "uint256"
					}
				],
				"name": "SwapSynthToNative",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "string",
						"name": "reason",
						"type": "string"
					}
				],
				"name": "SwapSynthToNativeFailed",
				"type": "event"
			},
			{
				"inputs": [],
				"name": "CONTRACT_NAME",
				"outputs": [
					{
						"internalType": "bytes32",
						"name": "",
						"type": "bytes32"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "acceptOwnership",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"internalType": "bytes32",
						"name": "_sourceKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_sourceAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_destKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_destAmount",
						"type": "uint256"
					}
				],
				"name": "destSwapNativeToNative",
				"outputs": [
					{
						"internalType": "bool",
						"name": "",
						"type": "bool"
					}
				],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"internalType": "bytes32",
						"name": "_sourceKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_sourceAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_destKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_destAmount",
						"type": "uint256"
					}
				],
				"name": "destSwapNativeToSynth",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"internalType": "bytes32",
						"name": "_sourceSynthKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_sourceSynthAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_destSynthKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_destSynthAmount",
						"type": "uint256"
					}
				],
				"name": "destSwapSynthToNative",
				"outputs": [
					{
						"internalType": "bool",
						"name": "",
						"type": "bool"
					}
				],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "bytes32",
						"name": "",
						"type": "bytes32"
					}
				],
				"name": "equivalentCurrencyKey",
				"outputs": [
					{
						"internalType": "bytes32",
						"name": "",
						"type": "bytes32"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "bytes32",
						"name": "",
						"type": "bytes32"
					}
				],
				"name": "equivalentSynthKey",
				"outputs": [
					{
						"internalType": "bytes32",
						"name": "",
						"type": "bytes32"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"internalType": "uint256",
						"name": "_sourceNativeAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_sourceNativeKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_destNativeKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "uint16",
						"name": "_chainId",
						"type": "uint16"
					}
				],
				"name": "getSwapNativeToNativeLZFee",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"internalType": "uint256",
						"name": "_sourceNativeAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_sourceNativeKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_destSynthKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "uint16",
						"name": "_chainId",
						"type": "uint16"
					}
				],
				"name": "getSwapNativeToSynthLZFee",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"internalType": "uint256",
						"name": "_sourceAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_sourceKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_destKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "uint16",
						"name": "_chainId",
						"type": "uint16"
					}
				],
				"name": "getSwapSynthToNativeLZFee",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "isResolverCached",
				"outputs": [
					{
						"internalType": "bool",
						"name": "",
						"type": "bool"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "uint16",
						"name": "",
						"type": "uint16"
					}
				],
				"name": "nativeSynthPerChain",
				"outputs": [
					{
						"internalType": "bytes32",
						"name": "",
						"type": "bytes32"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_owner",
						"type": "address"
					}
				],
				"name": "nominateNewOwner",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "nominatedOwner",
				"outputs": [
					{
						"internalType": "address",
						"name": "",
						"type": "address"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "owner",
				"outputs": [
					{
						"internalType": "address",
						"name": "",
						"type": "address"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "rebuildCache",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "uint16",
						"name": "_chainId",
						"type": "uint16"
					}
				],
				"name": "removeNativeAsset",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "resolver",
				"outputs": [
					{
						"internalType": "contract AddressResolver",
						"name": "",
						"type": "address"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "resolverAddressesRequired",
				"outputs": [
					{
						"internalType": "bytes32[]",
						"name": "addresses",
						"type": "bytes32[]"
					}
				],
				"stateMutability": "pure",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "uint16",
						"name": "_chainId",
						"type": "uint16"
					},
					{
						"internalType": "bytes32",
						"name": "_nativeKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_nativeSynth",
						"type": "bytes32"
					}
				],
				"name": "setNativeAsset",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "uint256",
						"name": "_sourceNativeAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_sourceNativeKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_destNativeKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "bytes[]",
						"name": "_priceUpdateData",
						"type": "bytes[]"
					},
					{
						"internalType": "uint16",
						"name": "_destChainId",
						"type": "uint16"
					},
					{
						"internalType": "bool",
						"name": "_erc20Payment",
						"type": "bool"
					}
				],
				"name": "swapNativeToNative",
				"outputs": [],
				"stateMutability": "payable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "uint256",
						"name": "_sourceNativeAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_sourceNativeKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_destSynthKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "bytes[]",
						"name": "_priceUpdateData",
						"type": "bytes[]"
					},
					{
						"internalType": "uint16",
						"name": "_chainId",
						"type": "uint16"
					},
					{
						"internalType": "bool",
						"name": "_erc20Payment",
						"type": "bool"
					}
				],
				"name": "swapNativeToSynth",
				"outputs": [],
				"stateMutability": "payable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "uint256",
						"name": "_sourceSynthAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_sourceSynthKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_destNativeKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "bytes[]",
						"name": "_priceUpdateData",
						"type": "bytes[]"
					},
					{
						"internalType": "uint16",
						"name": "_chainId",
						"type": "uint16"
					},
					{
						"internalType": "bool",
						"name": "_erc20Payment",
						"type": "bool"
					}
				],
				"name": "swapSynthToNative",
				"outputs": [],
				"stateMutability": "payable",
				"type": "function"
			},
			{
				"stateMutability": "payable",
				"type": "receive"
			}
		]
	  },
	  "DexAggregator": {
		"abi": [
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "_resolver",
				"type": "address"
			  },
			  {
				"internalType": "bytes32",
				"name": "_nativeKey",
				"type": "bytes32"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "constructor"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "name",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "destination",
				"type": "address"
			  }
			],
			"name": "CacheUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": true,
				"internalType": "address",
				"name": "_account",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "_sourceNativeKey",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "_sourceNativeAmount",
				"type": "uint256"
			  },
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "_destSynthKey",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "_swappedSynthAmount",
				"type": "uint256"
			  }
			],
			"name": "DexSwapNativeToSynthOn0x",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": true,
				"internalType": "address",
				"name": "_account",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "_sourceSynthKey",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "_sourceSynthAmount",
				"type": "uint256"
			  },
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "_destNativeKey",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "_swappedNativeAmount",
				"type": "uint256"
			  }
			],
			"name": "DexSwapSynthToNativeOn0x",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "oldOwner",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerChanged",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerNominated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": true,
				"internalType": "address",
				"name": "_to",
				"type": "address"
			  },
			  {
				"indexed": true,
				"internalType": "address",
				"name": "_currency",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "_amount",
				"type": "uint256"
			  }
			],
			"name": "OwnerWithdraw",
			"type": "event"
		  },
		  {
			"inputs": [],
			"name": "CONTRACT_NAME",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "acceptOwnership",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "isResolverCached",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "nativeKey",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  }
			],
			"name": "nominateNewOwner",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "nominatedOwner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "owner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_to",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "_currency",
				"type": "address"
			  },
			  {
				"internalType": "uint256",
				"name": "_amount",
				"type": "uint256"
			  }
			],
			"name": "ownerWithdraw",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "rebuildCache",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_account",
				"type": "address"
			  },
			  {
				"internalType": "bytes32",
				"name": "_synthKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "_synthAmount",
				"type": "uint256"
			  }
			],
			"name": "refundSynth",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resolver",
			"outputs": [
			  {
				"internalType": "contract AddressResolver",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resolverAddressesRequired",
			"outputs": [
			  {
				"internalType": "bytes32[]",
				"name": "addresses",
				"type": "bytes32[]"
			  }
			],
			"stateMutability": "pure",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_account",
				"type": "address"
			  },
			  {
				"internalType": "bytes32",
				"name": "_nativeKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "_nativeAmount",
				"type": "uint256"
			  },
			  {
				"internalType": "bytes32",
				"name": "_destSynthKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "address",
				"name": "_target",
				"type": "address"
			  },
			  {
				"internalType": "bytes",
				"name": "_data",
				"type": "bytes"
			  }
			],
			"name": "swapNativeToSynthOn0X",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "payable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_account",
				"type": "address"
			  },
			  {
				"internalType": "bytes32",
				"name": "_synthKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "_synthAmount",
				"type": "uint256"
			  },
			  {
				"internalType": "address",
				"name": "_target",
				"type": "address"
			  },
			  {
				"internalType": "bytes",
				"name": "_data",
				"type": "bytes"
			  }
			],
			"name": "swapSynthToNativeOn0X",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"stateMutability": "payable",
			"type": "receive"
		  }
		]
	  },
	  "SynthrSwap": {
		"abi": [
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_owner",
						"type": "address"
					},
					{
						"internalType": "address",
						"name": "_resolver",
						"type": "address"
					}
				],
				"stateMutability": "nonpayable",
				"type": "constructor"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "name",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "address",
						"name": "destination",
						"type": "address"
					}
				],
				"name": "CacheUpdated",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": false,
						"internalType": "address",
						"name": "oldOwner",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "address",
						"name": "newOwner",
						"type": "address"
					}
				],
				"name": "OwnerChanged",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": false,
						"internalType": "address",
						"name": "newOwner",
						"type": "address"
					}
				],
				"name": "OwnerNominated",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "uint16",
						"name": "_chainId",
						"type": "uint16"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_originalCurrencyKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_originalSynthKey",
						"type": "bytes32"
					}
				],
				"name": "RemoveNativeAssetByChain",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "uint16",
						"name": "_chainId",
						"type": "uint16"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_nativeCurrencyKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_nativeSynth",
						"type": "bytes32"
					}
				],
				"name": "SetNativeAssetByChain",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "string",
						"name": "reason",
						"type": "string"
					}
				],
				"name": "SwapNativeToNativeFailedOn0x",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_sourceSynthKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_sourceSynthAmount",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_destSynthKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_destSynthAmount",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_destNativeKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_swappedNativeAmount",
						"type": "uint256"
					}
				],
				"name": "SwapNativeToNativeOn0x",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_sourceSynthKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_sourceAmount",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_destSynthKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_swappedSynthAmount",
						"type": "uint256"
					}
				],
				"name": "SwapNativeToSynthOn0x",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_sourceNativeKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_sourceNativeAmount",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_sourceSynthKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_sourceSynthAmount",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_destNativeKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint16",
						"name": "_destChainId",
						"type": "uint16"
					}
				],
				"name": "SwapSourceNativeToNativeOn0x",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_sourceNativeKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_sourceNativeAmount",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_sourceSynthKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_sourceSynthAmount",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_destSynthKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint16",
						"name": "_destChainId",
						"type": "uint16"
					}
				],
				"name": "SwapSourceNativeToSynthOn0x",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_sourceSynthKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_sourceSynthAmount",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_destNativeKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint16",
						"name": "_destChainId",
						"type": "uint16"
					}
				],
				"name": "SwapSourceSynthToNativeOn0x",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "string",
						"name": "reason",
						"type": "string"
					}
				],
				"name": "SwapSynthToNativeFailedOn0x",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_sourceSynthKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_sourceSynthAmount",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_destSynthKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_destSynthAmount",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "_destNativeKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "_swappedNativeAmount",
						"type": "uint256"
					}
				],
				"name": "SwapSynthToNativeOn0x",
				"type": "event"
			},
			{
				"inputs": [],
				"name": "CONTRACT_NAME",
				"outputs": [
					{
						"internalType": "bytes32",
						"name": "",
						"type": "bytes32"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "acceptOwnership",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"internalType": "bytes32",
						"name": "_sourceSynthKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_sourceSynthAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_destSynthKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_destSynthAmount",
						"type": "uint256"
					},
					{
						"internalType": "address",
						"name": "_target",
						"type": "address"
					},
					{
						"internalType": "bytes",
						"name": "_data",
						"type": "bytes"
					}
				],
				"name": "destSwapNativeToNative",
				"outputs": [
					{
						"internalType": "bool",
						"name": "",
						"type": "bool"
					}
				],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"internalType": "bytes32",
						"name": "_sourceKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_sourceAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_destKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_destAmount",
						"type": "uint256"
					}
				],
				"name": "destSwapNativeToSynth",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"internalType": "bytes32",
						"name": "_sourceSynthKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_sourceSynthAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_destSynthKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_destSynthAmount",
						"type": "uint256"
					},
					{
						"internalType": "address",
						"name": "_target",
						"type": "address"
					},
					{
						"internalType": "bytes",
						"name": "_data",
						"type": "bytes"
					}
				],
				"name": "destSwapSynthToNative",
				"outputs": [
					{
						"internalType": "bool",
						"name": "",
						"type": "bool"
					}
				],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "bytes32",
						"name": "",
						"type": "bytes32"
					}
				],
				"name": "equivalentCurrencyKey",
				"outputs": [
					{
						"internalType": "bytes32",
						"name": "",
						"type": "bytes32"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "bytes32",
						"name": "",
						"type": "bytes32"
					}
				],
				"name": "equivalentSynthKey",
				"outputs": [
					{
						"internalType": "bytes32",
						"name": "",
						"type": "bytes32"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"internalType": "uint256",
						"name": "_sourceNativeAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_sourceNativeKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_destNativeKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "address",
						"name": "_target",
						"type": "address"
					},
					{
						"internalType": "bytes",
						"name": "_data",
						"type": "bytes"
					},
					{
						"internalType": "uint16",
						"name": "_chainId",
						"type": "uint16"
					}
				],
				"name": "getSwapNativeToNativeLZFee",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"internalType": "uint256",
						"name": "_sourceNativeAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_sourceNativeKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_destSynthKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "address",
						"name": "_target",
						"type": "address"
					},
					{
						"internalType": "bytes",
						"name": "_data",
						"type": "bytes"
					},
					{
						"internalType": "uint16",
						"name": "_chainId",
						"type": "uint16"
					}
				],
				"name": "getSwapNativeToSynthLZFee",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"internalType": "uint256",
						"name": "_sourceAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_sourceKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_destKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "address",
						"name": "_target",
						"type": "address"
					},
					{
						"internalType": "bytes",
						"name": "_data",
						"type": "bytes"
					},
					{
						"internalType": "uint16",
						"name": "_chainId",
						"type": "uint16"
					}
				],
				"name": "getSwapSynthToNativeLZFee",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "isResolverCached",
				"outputs": [
					{
						"internalType": "bool",
						"name": "",
						"type": "bool"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "uint16",
						"name": "",
						"type": "uint16"
					}
				],
				"name": "nativeSynthPerChain",
				"outputs": [
					{
						"internalType": "bytes32",
						"name": "",
						"type": "bytes32"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_owner",
						"type": "address"
					}
				],
				"name": "nominateNewOwner",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "nominatedOwner",
				"outputs": [
					{
						"internalType": "address",
						"name": "",
						"type": "address"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "owner",
				"outputs": [
					{
						"internalType": "address",
						"name": "",
						"type": "address"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "rebuildCache",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "uint16",
						"name": "_chainId",
						"type": "uint16"
					}
				],
				"name": "removeNativeAsset",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "resolver",
				"outputs": [
					{
						"internalType": "contract AddressResolver",
						"name": "",
						"type": "address"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "resolverAddressesRequired",
				"outputs": [
					{
						"internalType": "bytes32[]",
						"name": "addresses",
						"type": "bytes32[]"
					}
				],
				"stateMutability": "pure",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "uint16",
						"name": "_chainId",
						"type": "uint16"
					},
					{
						"internalType": "bytes32",
						"name": "_nativeKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_nativeSynth",
						"type": "bytes32"
					}
				],
				"name": "setNativeAsset",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "uint256",
						"name": "_sourceNativeAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_sourceNativeKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_destNativeKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "address[]",
						"name": "_targets",
						"type": "address[]"
					},
					{
						"internalType": "bytes[]",
						"name": "_callData",
						"type": "bytes[]"
					},
					{
						"internalType": "bytes[]",
						"name": "_priceUpdateData",
						"type": "bytes[]"
					},
					{
						"internalType": "uint16",
						"name": "_destChainId",
						"type": "uint16"
					},
					{
						"internalType": "bool",
						"name": "_erc20Payment",
						"type": "bool"
					}
				],
				"name": "swapNativeToNative",
				"outputs": [],
				"stateMutability": "payable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "uint256",
						"name": "_sourceNativeAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_sourceNativeKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_destSynthKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "address[]",
						"name": "_targets",
						"type": "address[]"
					},
					{
						"internalType": "bytes[]",
						"name": "_data",
						"type": "bytes[]"
					},
					{
						"internalType": "bytes[]",
						"name": "_priceUpdateData",
						"type": "bytes[]"
					},
					{
						"internalType": "uint16",
						"name": "_destChainId",
						"type": "uint16"
					},
					{
						"internalType": "bool",
						"name": "_erc20Payment",
						"type": "bool"
					}
				],
				"name": "swapNativeToSynth",
				"outputs": [],
				"stateMutability": "payable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "uint256",
						"name": "_sourceSynthAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_sourceSynthKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_destNativeKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "address[]",
						"name": "_targets",
						"type": "address[]"
					},
					{
						"internalType": "bytes[]",
						"name": "_data",
						"type": "bytes[]"
					},
					{
						"internalType": "bytes[]",
						"name": "_priceUpdateData",
						"type": "bytes[]"
					},
					{
						"internalType": "uint16",
						"name": "_destChainId",
						"type": "uint16"
					},
					{
						"internalType": "bool",
						"name": "_erc20Payment",
						"type": "bool"
					}
				],
				"name": "swapSynthToNative",
				"outputs": [],
				"stateMutability": "payable",
				"type": "function"
			},
			{
				"stateMutability": "payable",
				"type": "receive"
			}
		]
	  },
	  "ExternWrappedStateToken": {
		"abi": [
		  {
			"inputs": [
			  {
				"internalType": "string",
				"name": "_name",
				"type": "string"
			  },
			  {
				"internalType": "string",
				"name": "_symbol",
				"type": "string"
			  },
			  {
				"internalType": "uint8",
				"name": "_decimals",
				"type": "uint8"
			  },
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "_associatedContract",
				"type": "address"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "constructor"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "associatedContract",
				"type": "address"
			  }
			],
			"name": "AssociatedContractUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "collateralCurrency",
				"type": "address"
			  }
			],
			"name": "CollateralCurrencyAdded",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "collateralCurrency",
				"type": "address"
			  }
			],
			"name": "CollateralCurrencyRemoved",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "oldOwner",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerChanged",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerNominated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": true,
				"internalType": "address",
				"name": "_account",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "_currencyKey",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "_amount",
				"type": "uint256"
			  }
			],
			"name": "SetCollateralBalance",
			"type": "event"
		  },
		  {
			"inputs": [],
			"name": "acceptOwnership",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_collateralAddress",
				"type": "address"
			  },
			  {
				"internalType": "bytes32",
				"name": "_currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "addCollateralCurrency",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "associatedContract",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"name": "availableCollateralCurrencies",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  },
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"name": "collateralByIssuer",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"name": "collateralCurrency",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "decimals",
			"outputs": [
			  {
				"internalType": "uint8",
				"name": "",
				"type": "uint8"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_to",
				"type": "address"
			  },
			  {
				"internalType": "bytes32",
				"name": "_currencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "_collateralAmount",
				"type": "uint256"
			  }
			],
			"name": "decreaseCollateral",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "getAvailableCollaterals",
			"outputs": [
			  {
				"internalType": "bytes32[]",
				"name": "",
				"type": "bytes32[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_to",
				"type": "address"
			  },
			  {
				"internalType": "bytes32",
				"name": "_currencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "_collateralAmount",
				"type": "uint256"
			  }
			],
			"name": "increaseCollateral",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "name",
			"outputs": [
			  {
				"internalType": "string",
				"name": "",
				"type": "string"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  }
			],
			"name": "nominateNewOwner",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "nominatedOwner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "owner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "_currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "removeCollateralCurrency",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_associatedContract",
				"type": "address"
			  }
			],
			"name": "setAssociatedContract",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_account",
				"type": "address"
			  },
			  {
				"internalType": "bytes32",
				"name": "_currencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "_amount",
				"type": "uint256"
			  }
			],
			"name": "setCollateralBalance",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "symbol",
			"outputs": [
			  {
				"internalType": "string",
				"name": "",
				"type": "string"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"name": "totalSupplyPerKey",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_to",
				"type": "address"
			  },
			  {
				"internalType": "bytes32",
				"name": "_currencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "_collateralAmount",
				"type": "uint256"
			  }
			],
			"name": "withdrawCollateral",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_to",
				"type": "address"
			  },
			  {
				"internalType": "bytes32",
				"name": "_currencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "_collateralAmount",
				"type": "uint256"
			  }
			],
			"name": "withdrawFundsByAdmin",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"stateMutability": "payable",
			"type": "receive"
		  }
		]
	  },
	  "SafeDecimalMath": {
		"abi": [
		  {
			"inputs": [],
			"name": "PRECISE_UNIT",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "UNIT",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "decimals",
			"outputs": [
			  {
				"internalType": "uint8",
				"name": "",
				"type": "uint8"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "highPrecisionDecimals",
			"outputs": [
			  {
				"internalType": "uint8",
				"name": "",
				"type": "uint8"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "preciseUnit",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "pure",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "unit",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "pure",
			"type": "function"
		  }
		]
	  },
	  "SystemSettingsLib": {
		"abi": [
		  {
			"inputs": [],
			"name": "MAX_ATOMIC_TWAP_WINDOW",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "MAX_ATOMIC_VOLATILITY_CONSIDERATION_WINDOW",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "MAX_ATOMIC_VOLUME_PER_BLOCK",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "MAX_EXCHANGE_FEE_RATE",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "MAX_ISSUANCE_RATIO",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "MAX_MINIMUM_STAKE_TIME",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "MAX_TARGET_THRESHOLD",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "MIN_ATOMIC_TWAP_WINDOW",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "MIN_ATOMIC_VOLATILITY_CONSIDERATION_WINDOW",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "RATIO_FROM_TARGET_BUFFER",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "SETTINGS_CONTRACT_NAME",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "contractName",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "pure",
			"type": "function"
		  }
		]
	  },
	  "AddressResolver": {
		"abi": [
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "constructor"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": true,
				"internalType": "bytes32",
				"name": "bridgeName",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "bridgeAddress",
				"type": "address"
			  }
			],
			"name": "AddBridge",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "name",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "destination",
				"type": "address"
			  }
			],
			"name": "AddressImported",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "oldOwner",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerChanged",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerNominated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": true,
				"internalType": "bytes32",
				"name": "bridgeName",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "bridgeAddress",
				"type": "address"
			  }
			],
			"name": "RemoveBridge",
			"type": "event"
		  },
		  {
			"inputs": [],
			"name": "acceptOwnership",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "bridgeName",
				"type": "bytes32"
			  },
			  {
				"internalType": "address",
				"name": "bridgeAddress",
				"type": "address"
			  }
			],
			"name": "addAvailableBridge",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32[]",
				"name": "names",
				"type": "bytes32[]"
			  },
			  {
				"internalType": "address[]",
				"name": "destinations",
				"type": "address[]"
			  }
			],
			"name": "areAddressesImported",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"name": "availableBridge",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"name": "bridgeList",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "name",
				"type": "bytes32"
			  }
			],
			"name": "getAddress",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "bridgeName",
				"type": "bytes32"
			  }
			],
			"name": "getAvailableBridge",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "getBridgeList",
			"outputs": [
			  {
				"internalType": "bytes32[]",
				"name": "",
				"type": "bytes32[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "key",
				"type": "bytes32"
			  }
			],
			"name": "getSynth",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32[]",
				"name": "names",
				"type": "bytes32[]"
			  },
			  {
				"internalType": "address[]",
				"name": "destinations",
				"type": "address[]"
			  }
			],
			"name": "importAddresses",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"name": "isBridge",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  }
			],
			"name": "nominateNewOwner",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "nominatedOwner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "owner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "contract MixinResolver[]",
				"name": "destinations",
				"type": "address[]"
			  }
			],
			"name": "rebuildCaches",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "bridgeName",
				"type": "bytes32"
			  }
			],
			"name": "removeAvailableBridge",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"name": "repository",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "name",
				"type": "bytes32"
			  },
			  {
				"internalType": "string",
				"name": "reason",
				"type": "string"
			  }
			],
			"name": "requireAndGetAddress",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  }
		]
	  },
	  "FlexibleStorage": {
		"abi": [
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "_resolver",
				"type": "address"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "constructor"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "fromContractName",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "toContractName",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "bool",
				"name": "removeAccessFromPreviousContract",
				"type": "bool"
			  }
			],
			"name": "KeyMigrated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "oldOwner",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerChanged",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerNominated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "value",
				"type": "address"
			  }
			],
			"name": "ValueDeletedAddress",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "bool",
				"name": "value",
				"type": "bool"
			  }
			],
			"name": "ValueDeletedBool",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "value",
				"type": "bytes32"
			  }
			],
			"name": "ValueDeletedBytes32",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "int256",
				"name": "value",
				"type": "int256"
			  }
			],
			"name": "ValueDeletedInt",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "value",
				"type": "uint256"
			  }
			],
			"name": "ValueDeletedUInt",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "value",
				"type": "address"
			  }
			],
			"name": "ValueSetAddress",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "bool",
				"name": "value",
				"type": "bool"
			  }
			],
			"name": "ValueSetBool",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "value",
				"type": "bytes32"
			  }
			],
			"name": "ValueSetBytes32",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "int256",
				"name": "value",
				"type": "int256"
			  }
			],
			"name": "ValueSetInt",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "value",
				"type": "uint256"
			  }
			],
			"name": "ValueSetUInt",
			"type": "event"
		  },
		  {
			"inputs": [],
			"name": "acceptOwnership",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  }
			],
			"name": "deleteAddressValue",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  }
			],
			"name": "deleteBoolValue",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  }
			],
			"name": "deleteBytes32Value",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  }
			],
			"name": "deleteIntValue",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  }
			],
			"name": "deleteUIntValue",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  }
			],
			"name": "getAddressValue",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32[]",
				"name": "records",
				"type": "bytes32[]"
			  }
			],
			"name": "getAddressValues",
			"outputs": [
			  {
				"internalType": "address[]",
				"name": "",
				"type": "address[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  }
			],
			"name": "getBoolValue",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32[]",
				"name": "records",
				"type": "bytes32[]"
			  }
			],
			"name": "getBoolValues",
			"outputs": [
			  {
				"internalType": "bool[]",
				"name": "",
				"type": "bool[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  }
			],
			"name": "getBytes32Value",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32[]",
				"name": "records",
				"type": "bytes32[]"
			  }
			],
			"name": "getBytes32Values",
			"outputs": [
			  {
				"internalType": "bytes32[]",
				"name": "",
				"type": "bytes32[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  }
			],
			"name": "getIntValue",
			"outputs": [
			  {
				"internalType": "int256",
				"name": "",
				"type": "int256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32[]",
				"name": "records",
				"type": "bytes32[]"
			  }
			],
			"name": "getIntValues",
			"outputs": [
			  {
				"internalType": "int256[]",
				"name": "",
				"type": "int256[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  }
			],
			"name": "getUIntValue",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32[]",
				"name": "records",
				"type": "bytes32[]"
			  }
			],
			"name": "getUIntValues",
			"outputs": [
			  {
				"internalType": "uint256[]",
				"name": "",
				"type": "uint256[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"name": "hashes",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "fromContractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32",
				"name": "toContractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bool",
				"name": "removeAccessFromPreviousContract",
				"type": "bool"
			  }
			],
			"name": "migrateContractKey",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  }
			],
			"name": "nominateNewOwner",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "nominatedOwner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "owner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resolverProxy",
			"outputs": [
			  {
				"internalType": "contract IAddressResolver",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  },
			  {
				"internalType": "address",
				"name": "value",
				"type": "address"
			  }
			],
			"name": "setAddressValue",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32[]",
				"name": "records",
				"type": "bytes32[]"
			  },
			  {
				"internalType": "address[]",
				"name": "values",
				"type": "address[]"
			  }
			],
			"name": "setAddressValues",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  },
			  {
				"internalType": "bool",
				"name": "value",
				"type": "bool"
			  }
			],
			"name": "setBoolValue",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32[]",
				"name": "records",
				"type": "bytes32[]"
			  },
			  {
				"internalType": "bool[]",
				"name": "values",
				"type": "bool[]"
			  }
			],
			"name": "setBoolValues",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32",
				"name": "value",
				"type": "bytes32"
			  }
			],
			"name": "setBytes32Value",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32[]",
				"name": "records",
				"type": "bytes32[]"
			  },
			  {
				"internalType": "bytes32[]",
				"name": "values",
				"type": "bytes32[]"
			  }
			],
			"name": "setBytes32Values",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  },
			  {
				"internalType": "int256",
				"name": "value",
				"type": "int256"
			  }
			],
			"name": "setIntValue",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32[]",
				"name": "records",
				"type": "bytes32[]"
			  },
			  {
				"internalType": "int256[]",
				"name": "values",
				"type": "int256[]"
			  }
			],
			"name": "setIntValues",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "contract IAddressResolver",
				"name": "_resolver",
				"type": "address"
			  }
			],
			"name": "setResolver",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32",
				"name": "record",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "value",
				"type": "uint256"
			  }
			],
			"name": "setUIntValue",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "contractName",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32[]",
				"name": "records",
				"type": "bytes32[]"
			  },
			  {
				"internalType": "uint256[]",
				"name": "values",
				"type": "uint256[]"
			  }
			],
			"name": "setUIntValues",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  }
		]
	  },
	  "SystemSettings": {
		"abi": [
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "_resolver",
				"type": "address"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "constructor"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "flags",
				"type": "address"
			  }
			],
			"name": "AggregatorWarningFlagsUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "synthKey",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "equivalent",
				"type": "address"
			  }
			],
			"name": "AtomicEquivalentForDexPricingUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "synthKey",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "newExchangeFeeRate",
				"type": "uint256"
			  }
			],
			"name": "AtomicExchangeFeeUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "newMaxVolume",
				"type": "uint256"
			  }
			],
			"name": "AtomicMaxVolumePerBlockUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "newWindow",
				"type": "uint256"
			  }
			],
			"name": "AtomicTwapWindowUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "synthKey",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "newVolatilityConsiderationWindow",
				"type": "uint256"
			  }
			],
			"name": "AtomicVolatilityConsiderationWindowUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "synthKey",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "newVolatilityUpdateThreshold",
				"type": "uint256"
			  }
			],
			"name": "AtomicVolatilityUpdateThresholdUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "name",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "destination",
				"type": "address"
			  }
			],
			"name": "CacheUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "dynamicFeeRounds",
				"type": "uint256"
			  }
			],
			"name": "ExchangeDynamicFeeRoundsUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "dynamicFeeThreshold",
				"type": "uint256"
			  }
			],
			"name": "ExchangeDynamicFeeThresholdUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "dynamicFeeWeightDecay",
				"type": "uint256"
			  }
			],
			"name": "ExchangeDynamicFeeWeightDecayUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "synthKey",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "newExchangeFeeRate",
				"type": "uint256"
			  }
			],
			"name": "ExchangeFeeUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "maxDynamicFee",
				"type": "uint256"
			  }
			],
			"name": "ExchangeMaxDynamicFeeUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "oldOwner",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerChanged",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerNominated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "threshold",
				"type": "uint256"
			  }
			],
			"name": "PriceDeviationThresholdUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "synthKey",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "bool",
				"name": "enabled",
				"type": "bool"
			  }
			],
			"name": "PureChainlinkPriceForAtomicSwapsEnabledUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "rateStalePeriod",
				"type": "uint256"
			  }
			],
			"name": "RateStalePeriodUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "waitingPeriodSecs",
				"type": "uint256"
			  }
			],
			"name": "WaitingPeriodSecsUpdated",
			"type": "event"
		  },
		  {
			"inputs": [],
			"name": "CONTRACT_NAME",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "pure",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "acceptOwnership",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "aggregatorWarningFlags",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "atomicEquivalentForDexPricing",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "atomicExchangeFeeRate",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "atomicMaxVolumePerBlock",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "atomicTwapWindow",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "atomicVolatilityConsiderationWindow",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "atomicVolatilityUpdateThreshold",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "exchangeDynamicFeeRounds",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "exchangeDynamicFeeThreshold",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "exchangeDynamicFeeWeightDecay",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "exchangeFeeRate",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "exchangeMaxDynamicFee",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "isResolverCached",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  }
			],
			"name": "nominateNewOwner",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "nominatedOwner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "owner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "priceDeviationThresholdFactor",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "pureChainlinkPriceForAtomicSwapsEnabled",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "rateStalePeriod",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "rebuildCache",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resolver",
			"outputs": [
			  {
				"internalType": "contract AddressResolverLightChain",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resolverAddressesRequired",
			"outputs": [
			  {
				"internalType": "bytes32[]",
				"name": "addresses",
				"type": "bytes32[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_flags",
				"type": "address"
			  }
			],
			"name": "setAggregatorWarningFlags",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "_currencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "address",
				"name": "_equivalent",
				"type": "address"
			  }
			],
			"name": "setAtomicEquivalentForDexPricing",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "_currencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "_exchangeFeeRate",
				"type": "uint256"
			  }
			],
			"name": "setAtomicExchangeFeeRate",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "_maxVolume",
				"type": "uint256"
			  }
			],
			"name": "setAtomicMaxVolumePerBlock",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "_window",
				"type": "uint256"
			  }
			],
			"name": "setAtomicTwapWindow",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "_currencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "_window",
				"type": "uint256"
			  }
			],
			"name": "setAtomicVolatilityConsiderationWindow",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "_currencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "_threshold",
				"type": "uint256"
			  }
			],
			"name": "setAtomicVolatilityUpdateThreshold",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "rounds",
				"type": "uint256"
			  }
			],
			"name": "setExchangeDynamicFeeRounds",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "threshold",
				"type": "uint256"
			  }
			],
			"name": "setExchangeDynamicFeeThreshold",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "weightDecay",
				"type": "uint256"
			  }
			],
			"name": "setExchangeDynamicFeeWeightDecay",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32[]",
				"name": "synthKeys",
				"type": "bytes32[]"
			  },
			  {
				"internalType": "uint256[]",
				"name": "exchangeFeeRates",
				"type": "uint256[]"
			  }
			],
			"name": "setExchangeFeeRateForSynths",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "maxFee",
				"type": "uint256"
			  }
			],
			"name": "setExchangeMaxDynamicFee",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "_priceDeviationThresholdFactor",
				"type": "uint256"
			  }
			],
			"name": "setPriceDeviationThresholdFactor",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "_currencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "bool",
				"name": "_enabled",
				"type": "bool"
			  }
			],
			"name": "setPureChainlinkPriceForAtomicSwapsEnabled",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "period",
				"type": "uint256"
			  }
			],
			"name": "setRateStalePeriod",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "_waitingPeriodSecs",
				"type": "uint256"
			  }
			],
			"name": "setWaitingPeriodSecs",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "waitingPeriodSecs",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  }
		]
	  },
	  "SystemStatus": {
		"abi": [
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "constructor"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": true,
				"internalType": "bytes32",
				"name": "section",
				"type": "bytes32"
			  },
			  {
				"indexed": true,
				"internalType": "address",
				"name": "account",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "bool",
				"name": "canSuspend",
				"type": "bool"
			  },
			  {
				"indexed": false,
				"internalType": "bool",
				"name": "canResume",
				"type": "bool"
			  }
			],
			"name": "AccessControlUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "reason",
				"type": "uint256"
			  }
			],
			"name": "ExchangeResumed",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "reason",
				"type": "uint256"
			  }
			],
			"name": "ExchangeSuspended",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "reason",
				"type": "uint256"
			  }
			],
			"name": "IssuanceResumed",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "reason",
				"type": "uint256"
			  }
			],
			"name": "IssuanceSuspended",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "oldOwner",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerChanged",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerNominated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "reason",
				"type": "uint256"
			  }
			],
			"name": "SynthExchangeResumed",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "reason",
				"type": "uint256"
			  }
			],
			"name": "SynthExchangeSuspended",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "reason",
				"type": "uint256"
			  }
			],
			"name": "SynthResumed",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "reason",
				"type": "uint256"
			  }
			],
			"name": "SynthSuspended",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "reason",
				"type": "uint256"
			  }
			],
			"name": "SystemResumed",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "reason",
				"type": "uint256"
			  }
			],
			"name": "SystemSuspended",
			"type": "event"
		  },
		  {
			"inputs": [],
			"name": "CONTRACT_NAME",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "SECTION_EXCHANGE",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "SECTION_ISSUANCE",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "SECTION_SYNTH",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "SECTION_SYNTH_EXCHANGE",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "SECTION_SYSTEM",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "SUSPENSION_REASON_UPGRADE",
			"outputs": [
			  {
				"internalType": "uint248",
				"name": "",
				"type": "uint248"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "acceptOwnership",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  },
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"name": "accessControl",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "canSuspend",
				"type": "bool"
			  },
			  {
				"internalType": "bool",
				"name": "canResume",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "exchangeSuspension",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "suspended",
				"type": "bool"
			  },
			  {
				"internalType": "uint248",
				"name": "reason",
				"type": "uint248"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32[]",
				"name": "synths",
				"type": "bytes32[]"
			  }
			],
			"name": "getSynthExchangeSuspensions",
			"outputs": [
			  {
				"internalType": "bool[]",
				"name": "exchangeSuspensions",
				"type": "bool[]"
			  },
			  {
				"internalType": "uint256[]",
				"name": "reasons",
				"type": "uint256[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32[]",
				"name": "synths",
				"type": "bytes32[]"
			  }
			],
			"name": "getSynthSuspensions",
			"outputs": [
			  {
				"internalType": "bool[]",
				"name": "suspensions",
				"type": "bool[]"
			  },
			  {
				"internalType": "uint256[]",
				"name": "reasons",
				"type": "uint256[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "isSystemUpgrading",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "issuanceSuspension",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "suspended",
				"type": "bool"
			  },
			  {
				"internalType": "uint248",
				"name": "reason",
				"type": "uint248"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  }
			],
			"name": "nominateNewOwner",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "nominatedOwner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "owner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "requireExchangeActive",
			"outputs": [],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "sourceCurrencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32",
				"name": "destinationCurrencyKey",
				"type": "bytes32"
			  }
			],
			"name": "requireExchangeBetweenSynthsAllowed",
			"outputs": [],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "requireIssuanceActive",
			"outputs": [],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "requireSynthActive",
			"outputs": [],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "requireSynthExchangeActive",
			"outputs": [],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "sourceCurrencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32",
				"name": "destinationCurrencyKey",
				"type": "bytes32"
			  }
			],
			"name": "requireSynthsActive",
			"outputs": [],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "requireSystemActive",
			"outputs": [],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resumeExchange",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resumeIssuance",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "resumeSynth",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "resumeSynthExchange",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32[]",
				"name": "currencyKeys",
				"type": "bytes32[]"
			  }
			],
			"name": "resumeSynths",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32[]",
				"name": "currencyKeys",
				"type": "bytes32[]"
			  }
			],
			"name": "resumeSynthsExchange",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resumeSystem",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "reason",
				"type": "uint256"
			  }
			],
			"name": "suspendExchange",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "reason",
				"type": "uint256"
			  }
			],
			"name": "suspendIssuance",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "reason",
				"type": "uint256"
			  }
			],
			"name": "suspendSynth",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "reason",
				"type": "uint256"
			  }
			],
			"name": "suspendSynthExchange",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32[]",
				"name": "currencyKeys",
				"type": "bytes32[]"
			  },
			  {
				"internalType": "uint256",
				"name": "reason",
				"type": "uint256"
			  }
			],
			"name": "suspendSynths",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32[]",
				"name": "currencyKeys",
				"type": "bytes32[]"
			  },
			  {
				"internalType": "uint256",
				"name": "reason",
				"type": "uint256"
			  }
			],
			"name": "suspendSynthsExchange",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "reason",
				"type": "uint256"
			  }
			],
			"name": "suspendSystem",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"name": "synthExchangeSuspension",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "suspended",
				"type": "bool"
			  },
			  {
				"internalType": "uint248",
				"name": "reason",
				"type": "uint248"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "synthSuspended",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"name": "synthSuspension",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "suspended",
				"type": "bool"
			  },
			  {
				"internalType": "uint248",
				"name": "reason",
				"type": "uint248"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "systemSuspended",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "systemSuspension",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "suspended",
				"type": "bool"
			  },
			  {
				"internalType": "uint248",
				"name": "reason",
				"type": "uint248"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "section",
				"type": "bytes32"
			  },
			  {
				"internalType": "address",
				"name": "account",
				"type": "address"
			  },
			  {
				"internalType": "bool",
				"name": "canSuspend",
				"type": "bool"
			  },
			  {
				"internalType": "bool",
				"name": "canResume",
				"type": "bool"
			  }
			],
			"name": "updateAccessControl",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32[]",
				"name": "sections",
				"type": "bytes32[]"
			  },
			  {
				"internalType": "address[]",
				"name": "accounts",
				"type": "address[]"
			  },
			  {
				"internalType": "bool[]",
				"name": "canSuspends",
				"type": "bool[]"
			  },
			  {
				"internalType": "bool[]",
				"name": "canResumes",
				"type": "bool[]"
			  }
			],
			"name": "updateAccessControls",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  }
		]
	  },
	  "ExchangeRatesWithDexPricing": {
		"abi": [
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "_resolver",
				"type": "address"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "constructor"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "aggregator",
				"type": "address"
			  }
			],
			"name": "AggregatorAdded",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "aggregator",
				"type": "address"
			  }
			],
			"name": "AggregatorRemoved",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "name",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "destination",
				"type": "address"
			  }
			],
			"name": "CacheUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newDexPriceAggregator",
				"type": "address"
			  }
			],
			"name": "DexPriceAggregatorUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "oldOwner",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerChanged",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerNominated",
			"type": "event"
		  },
		  {
			"inputs": [],
			"name": "CONTRACT_NAME",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "acceptOwnership",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "address",
				"name": "aggregatorAddress",
				"type": "address"
			  }
			],
			"name": "addAggregator",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"name": "aggregatorKeys",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "aggregatorWarningFlags",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"name": "aggregators",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32[]",
				"name": "currencyKeys",
				"type": "bytes32[]"
			  }
			],
			"name": "anyRateIsInvalid",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32[]",
				"name": "currencyKeys",
				"type": "bytes32[]"
			  },
			  {
				"internalType": "uint256[]",
				"name": "roundIds",
				"type": "uint256[]"
			  }
			],
			"name": "anyRateIsInvalidAtRound",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "atomicEquivalentForDexPricing",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "atomicTwapWindow",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "atomicVolatilityConsiderationWindow",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "atomicVolatilityUpdateThreshold",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "aggregator",
				"type": "address"
			  }
			],
			"name": "currenciesUsingAggregator",
			"outputs": [
			  {
				"internalType": "bytes32[]",
				"name": "currencies",
				"type": "bytes32[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"name": "currencyKeyDecimals",
			"outputs": [
			  {
				"internalType": "uint8",
				"name": "",
				"type": "uint8"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "dexPriceAggregator",
			"outputs": [
			  {
				"internalType": "contract IDexPriceAggregator",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "sourceCurrencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "sourceAmount",
				"type": "uint256"
			  },
			  {
				"internalType": "bytes32",
				"name": "destinationCurrencyKey",
				"type": "bytes32"
			  }
			],
			"name": "effectiveAtomicValueAndRates",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "value",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "systemValue",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "systemSourceRate",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "systemDestinationRate",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "sourceCurrencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "sourceAmount",
				"type": "uint256"
			  },
			  {
				"internalType": "bytes32",
				"name": "destinationCurrencyKey",
				"type": "bytes32"
			  }
			],
			"name": "effectiveValue",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "value",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "sourceCurrencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "sourceAmount",
				"type": "uint256"
			  },
			  {
				"internalType": "bytes32",
				"name": "destinationCurrencyKey",
				"type": "bytes32"
			  }
			],
			"name": "effectiveValueAndRates",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "value",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "sourceRate",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "destinationRate",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "sourceCurrencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "sourceAmount",
				"type": "uint256"
			  },
			  {
				"internalType": "bytes32",
				"name": "destinationCurrencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "roundIdForSrc",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "roundIdForDest",
				"type": "uint256"
			  }
			],
			"name": "effectiveValueAndRatesAtRound",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "value",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "sourceRate",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "destinationRate",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "getCurrentRoundId",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "startingRoundId",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "startingTimestamp",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "timediff",
				"type": "uint256"
			  }
			],
			"name": "getLastRoundIdBeforeElapsedSecs",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "isResolverCached",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "lastRateUpdateTimes",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32[]",
				"name": "currencyKeys",
				"type": "bytes32[]"
			  }
			],
			"name": "lastRateUpdateTimesForCurrencies",
			"outputs": [
			  {
				"internalType": "uint256[]",
				"name": "",
				"type": "uint256[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  }
			],
			"name": "nominateNewOwner",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "nominatedOwner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "owner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "rateAndInvalid",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "rate",
				"type": "uint256"
			  },
			  {
				"internalType": "bool",
				"name": "isInvalid",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "roundId",
				"type": "uint256"
			  }
			],
			"name": "rateAndTimestampAtRound",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "rate",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "time",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "rateAndUpdatedTime",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "rate",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "time",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "rateForCurrency",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "rateIsFlagged",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "rateIsInvalid",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "rateIsStale",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "rateStalePeriod",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "rateWithSafetyChecks",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "rate",
				"type": "uint256"
			  },
			  {
				"internalType": "bool",
				"name": "broken",
				"type": "bool"
			  },
			  {
				"internalType": "bool",
				"name": "staleOrInvalid",
				"type": "bool"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32[]",
				"name": "currencyKeys",
				"type": "bytes32[]"
			  }
			],
			"name": "ratesAndInvalidForCurrencies",
			"outputs": [
			  {
				"internalType": "uint256[]",
				"name": "rates",
				"type": "uint256[]"
			  },
			  {
				"internalType": "bool",
				"name": "anyRateInvalid",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "numRounds",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "roundId",
				"type": "uint256"
			  }
			],
			"name": "ratesAndUpdatedTimeForCurrencyLastNRounds",
			"outputs": [
			  {
				"internalType": "uint256[]",
				"name": "rates",
				"type": "uint256[]"
			  },
			  {
				"internalType": "uint256[]",
				"name": "times",
				"type": "uint256[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32[]",
				"name": "currencyKeys",
				"type": "bytes32[]"
			  }
			],
			"name": "ratesForCurrencies",
			"outputs": [
			  {
				"internalType": "uint256[]",
				"name": "",
				"type": "uint256[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "rebuildCache",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "removeAggregator",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resolver",
			"outputs": [
			  {
				"internalType": "contract AddressResolverLightChain",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resolverAddressesRequired",
			"outputs": [
			  {
				"internalType": "bytes32[]",
				"name": "addresses",
				"type": "bytes32[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "contract IDexPriceAggregator",
				"name": "_dexPriceAggregator",
				"type": "address"
			  }
			],
			"name": "setDexPriceAggregator",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "synthTooVolatileForAtomicExchange",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  }
		]
	  },
	  "FeePool": {
		"abi": [
		  {
			"inputs": [
			  {
				"internalType": "address payable",
				"name": "_proxy",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "_resolver",
				"type": "address"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "constructor"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "name",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "destination",
				"type": "address"
			  }
			],
			"name": "CacheUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "feePeriodId",
				"type": "uint256"
			  }
			],
			"name": "FeePeriodClosed",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "account",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "sUSDAmount",
				"type": "uint256"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "synthTokenRewards",
				"type": "uint256"
			  }
			],
			"name": "FeesClaimed",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "oldOwner",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerChanged",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerNominated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "proxyAddress",
				"type": "address"
			  }
			],
			"name": "ProxyUpdated",
			"type": "event"
		  },
		  {
			"inputs": [],
			"name": "CONTRACT_NAME",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "FEE_ADDRESS",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "FEE_PERIOD_LENGTH",
			"outputs": [
			  {
				"internalType": "uint8",
				"name": "",
				"type": "uint8"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "acceptOwnership",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "allNetworksBackedDebt",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "debt",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "updatedAt",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "allNetworksDebtSharesSupply",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "sharesSupply",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "updatedAt",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "claimFees",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "closeCurrentFeePeriod",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "account",
				"type": "address"
			  },
			  {
				"internalType": "uint256",
				"name": "period",
				"type": "uint256"
			  }
			],
			"name": "effectiveDebtRatioForPeriod",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "feePeriodDuration",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "account",
				"type": "address"
			  }
			],
			"name": "feesAvailable",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "account",
				"type": "address"
			  }
			],
			"name": "feesByPeriod",
			"outputs": [
			  {
				"internalType": "uint256[2][2]",
				"name": "results",
				"type": "uint256[2][2]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_claimingAddress",
				"type": "address"
			  }
			],
			"name": "getLastFeeWithdrawal",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "getPenaltyThresholdRatio",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "feePeriodIndex",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "feePeriodId",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "startTime",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "feesToDistribute",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "feesClaimed",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "rewardsToDistribute",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "rewardsClaimed",
				"type": "uint256"
			  }
			],
			"name": "importFeePeriod",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "account",
				"type": "address"
			  }
			],
			"name": "isFeesClaimable",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "feesClaimable",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "isResolverCached",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "issuanceRatio",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "messageSender",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  }
			],
			"name": "nominateNewOwner",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "nominatedOwner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "owner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "proxy",
			"outputs": [
			  {
				"internalType": "contract Proxy",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "rebuildCache",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "index",
				"type": "uint256"
			  }
			],
			"name": "recentFeePeriods",
			"outputs": [
			  {
				"internalType": "uint64",
				"name": "feePeriodId",
				"type": "uint64"
			  },
			  {
				"internalType": "uint64",
				"name": "unused",
				"type": "uint64"
			  },
			  {
				"internalType": "uint64",
				"name": "startTime",
				"type": "uint64"
			  },
			  {
				"internalType": "uint256",
				"name": "feesToDistribute",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "feesClaimed",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "rewardsToDistribute",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "rewardsClaimed",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "amount",
				"type": "uint256"
			  }
			],
			"name": "recordFeePaid",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resolver",
			"outputs": [
			  {
				"internalType": "contract AddressResolver",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resolverAddressesRequired",
			"outputs": [
			  {
				"internalType": "bytes32[]",
				"name": "addresses",
				"type": "bytes32[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "sender",
				"type": "address"
			  }
			],
			"name": "setMessageSender",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address payable",
				"name": "_proxy",
				"type": "address"
			  }
			],
			"name": "setProxy",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "amount",
				"type": "uint256"
			  }
			],
			"name": "setRewardsToDistribute",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "setupExpiryTime",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "targetThreshold",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "totalFeesAvailable",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "totalRewardsAvailable",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  }
		]
	  },
	  "Synthetix": {
		"abi": [
			{
				"inputs": [
					{
						"internalType": "contract ExternWrappedStateTokenLightChain",
						"name": "_extTokenState",
						"type": "address"
					},
					{
						"internalType": "address",
						"name": "_owner",
						"type": "address"
					},
					{
						"internalType": "address",
						"name": "_resolver",
						"type": "address"
					}
				],
				"stateMutability": "nonpayable",
				"type": "constructor"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "account",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "synthRedeemed",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "amountLiquidated",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "address",
						"name": "liquidator",
						"type": "address"
					}
				],
				"name": "AccountLiquidated",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "from",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "synthKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "synthAmount",
						"type": "uint256"
					}
				],
				"name": "BurnSynth",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "name",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "address",
						"name": "destination",
						"type": "address"
					}
				],
				"name": "CacheUpdated",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "from",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "collateralKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "collateralAmount",
						"type": "uint256"
					}
				],
				"name": "CollateralTransfer",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": false,
						"internalType": "address",
						"name": "oldOwner",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "address",
						"name": "newOwner",
						"type": "address"
					}
				],
				"name": "OwnerChanged",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": false,
						"internalType": "address",
						"name": "newOwner",
						"type": "address"
					}
				],
				"name": "OwnerNominated",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "from",
						"type": "address"
					},
					{
						"indexed": true,
						"internalType": "address",
						"name": "to",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "collateralKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "collateralAmount",
						"type": "uint256"
					}
				],
				"name": "StakeCollateral",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "from",
						"type": "address"
					},
					{
						"indexed": true,
						"internalType": "address",
						"name": "to",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "value",
						"type": "uint256"
					}
				],
				"name": "Transfer",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "account",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "transferAmount",
						"type": "uint256"
					}
				],
				"name": "TransferMargin",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "from",
						"type": "address"
					},
					{
						"indexed": true,
						"internalType": "bytes32",
						"name": "collateralKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "address",
						"name": "collateralCurrency",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "collateralAmount",
						"type": "uint256"
					}
				],
				"name": "WithdrawCollateral",
				"type": "event"
			},
			{
				"inputs": [],
				"name": "CONTRACT_NAME",
				"outputs": [
					{
						"internalType": "bytes32",
						"name": "",
						"type": "bytes32"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "acceptOwnership",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "account",
						"type": "address"
					}
				],
				"name": "balanceOf",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"internalType": "bytes32",
						"name": "_collateralKey",
						"type": "bytes32"
					}
				],
				"name": "balanceOfPerKey",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "uint256",
						"name": "_amount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_synthKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "bool",
						"name": "_erc20Payment",
						"type": "bool"
					}
				],
				"name": "burnSynths",
				"outputs": [],
				"stateMutability": "payable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "bytes32",
						"name": "_collateralKey",
						"type": "bytes32"
					}
				],
				"name": "collateralCurrency",
				"outputs": [
					{
						"internalType": "address",
						"name": "",
						"type": "address"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_from",
						"type": "address"
					},
					{
						"internalType": "bytes32",
						"name": "_collateralKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_collateralAmount",
						"type": "uint256"
					}
				],
				"name": "collateralTransfer",
				"outputs": [
					{
						"internalType": "bool",
						"name": "",
						"type": "bool"
					}
				],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "decimals",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "bytes32",
						"name": "sourceCurrencyKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "sourceAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "destinationCurrencyKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "uint16",
						"name": "destChainId",
						"type": "uint16"
					},
					{
						"internalType": "bool",
						"name": "erc20Payment",
						"type": "bool"
					}
				],
				"name": "exchange",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "amountReceived",
						"type": "uint256"
					}
				],
				"stateMutability": "payable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "bytes32",
						"name": "sourceCurrencyKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "sourceAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "destinationCurrencyKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "minAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "uint16",
						"name": "destChainId",
						"type": "uint16"
					},
					{
						"internalType": "bool",
						"name": "erc20Payment",
						"type": "bool"
					}
				],
				"name": "exchangeAtomically",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "amountReceived",
						"type": "uint256"
					}
				],
				"stateMutability": "payable",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "getAvailableCollaterals",
				"outputs": [
					{
						"internalType": "bytes32[]",
						"name": "",
						"type": "bytes32[]"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"internalType": "bytes32",
						"name": "_synthKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_synthAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "uint16",
						"name": "_destChainId",
						"type": "uint16"
					}
				],
				"name": "getSendBurnGasFee",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"internalType": "bytes32",
						"name": "_collateralKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_collateralAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "uint16",
						"name": "_destChainId",
						"type": "uint16"
					}
				],
				"name": "getSendStakingGasFee",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"internalType": "uint256",
						"name": "_marginDelta",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_marketKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "_bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "uint16",
						"name": "_destChainId",
						"type": "uint16"
					}
				],
				"name": "getSendTransferMargin",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "isResolverCached",
				"outputs": [
					{
						"internalType": "bool",
						"name": "",
						"type": "bool"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "name",
				"outputs": [
					{
						"internalType": "string",
						"name": "",
						"type": "string"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_owner",
						"type": "address"
					}
				],
				"name": "nominateNewOwner",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "nominatedOwner",
				"outputs": [
					{
						"internalType": "address",
						"name": "",
						"type": "address"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "bytes32",
						"name": "sourceCurrencyKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "sourceAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "destinationCurrencyKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "bytes[]",
						"name": "priceUpdateData",
						"type": "bytes[]"
					},
					{
						"internalType": "uint16",
						"name": "destChainId",
						"type": "uint16"
					},
					{
						"internalType": "bool",
						"name": "erc20Payment",
						"type": "bool"
					}
				],
				"name": "offChainExchange",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "amountReceived",
						"type": "uint256"
					}
				],
				"stateMutability": "payable",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "owner",
				"outputs": [
					{
						"internalType": "address",
						"name": "",
						"type": "address"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "rebuildCache",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "resolver",
				"outputs": [
					{
						"internalType": "contract AddressResolverLightChain",
						"name": "",
						"type": "address"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "resolverAddressesRequired",
				"outputs": [
					{
						"internalType": "bytes32[]",
						"name": "addresses",
						"type": "bytes32[]"
					}
				],
				"stateMutability": "pure",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "sUSD",
				"outputs": [
					{
						"internalType": "bytes32",
						"name": "",
						"type": "bytes32"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "bytes32",
						"name": "currencyKey",
						"type": "bytes32"
					}
				],
				"name": "settle",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "reclaimed",
						"type": "uint256"
					},
					{
						"internalType": "uint256",
						"name": "refunded",
						"type": "uint256"
					},
					{
						"internalType": "uint256",
						"name": "numEntriesSettled",
						"type": "uint256"
					}
				],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "bytes32",
						"name": "_collateralKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_collateralAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "bool",
						"name": "_erc20Payment",
						"type": "bool"
					}
				],
				"name": "stakeCollateral",
				"outputs": [],
				"stateMutability": "payable",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "symbol",
				"outputs": [
					{
						"internalType": "string",
						"name": "",
						"type": "string"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "uint256",
						"name": "marginDelta",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "marketKey",
						"type": "bytes32"
					},
					{
						"internalType": "bytes32",
						"name": "bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "bool",
						"name": "erc20Payment",
						"type": "bool"
					}
				],
				"name": "transferMargin",
				"outputs": [],
				"stateMutability": "payable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_from",
						"type": "address"
					},
					{
						"internalType": "address",
						"name": "_to",
						"type": "address"
					},
					{
						"internalType": "bytes32",
						"name": "_collateralKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_collateralAmount",
						"type": "uint256"
					}
				],
				"name": "withdrawCollateral",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"stateMutability": "payable",
				"type": "receive"
			}
		]
	  },
	  "ExchangerWithFeeRecAlternatives": {
		"abi": [
			{
				"inputs": [
					{ "internalType": "address", "name": "_owner", "type": "address" },
					{ "internalType": "address", "name": "_resolver", "type": "address" }
				],
				"stateMutability": "nonpayable",
				"type": "constructor"
			},
			{
				"anonymous": false,
				"inputs": [
					{ "indexed": true, "internalType": "address", "name": "account", "type": "address" },
					{ "indexed": true, "internalType": "address", "name": "toAddress", "type": "address" },
					{ "indexed": false, "internalType": "bytes32", "name": "fromCurrencyKey", "type": "bytes32" },
					{ "indexed": false, "internalType": "uint256", "name": "fromAmount", "type": "uint256" },
					{ "indexed": false, "internalType": "bytes32", "name": "toCurrencyKey", "type": "bytes32" },
					{ "indexed": false, "internalType": "uint256", "name": "toAmount", "type": "uint256" },
					{ "indexed": false, "internalType": "uint256", "name": "fee", "type": "uint256" },
					{ "indexed": false, "internalType": "uint16", "name": "destChainId", "type": "uint16" }
				],
				"name": "AtomicSynthExchange",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{ "indexed": false, "internalType": "bytes32", "name": "name", "type": "bytes32" },
					{ "indexed": false, "internalType": "address", "name": "destination", "type": "address" }
				],
				"name": "CacheUpdated",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{ "indexed": true, "internalType": "address", "name": "account", "type": "address" },
					{ "indexed": false, "internalType": "bytes32", "name": "currencyKey", "type": "bytes32" },
					{ "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }
				],
				"name": "DestIssueForExchange",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{ "indexed": true, "internalType": "address", "name": "account", "type": "address" },
					{ "indexed": false, "internalType": "bytes32", "name": "src", "type": "bytes32" },
					{ "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" },
					{ "indexed": false, "internalType": "bytes32", "name": "dest", "type": "bytes32" },
					{ "indexed": false, "internalType": "uint256", "name": "amountReceived", "type": "uint256" },
					{ "indexed": false, "internalType": "uint256", "name": "exchangeFeeRate", "type": "uint256" },
					{ "indexed": false, "internalType": "uint256", "name": "roundIdForSrc", "type": "uint256" },
					{ "indexed": false, "internalType": "uint256", "name": "roundIdForDest", "type": "uint256" }
				],
				"name": "ExchangeEntryAppended",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{ "indexed": true, "internalType": "address", "name": "from", "type": "address" },
					{ "indexed": false, "internalType": "bytes32", "name": "src", "type": "bytes32" },
					{ "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" },
					{ "indexed": false, "internalType": "bytes32", "name": "dest", "type": "bytes32" },
					{ "indexed": false, "internalType": "uint256", "name": "reclaim", "type": "uint256" },
					{ "indexed": false, "internalType": "uint256", "name": "rebate", "type": "uint256" },
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "srcRoundIdAtPeriodEnd",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "destRoundIdAtPeriodEnd",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "exchangeTimestamp",
						"type": "uint256"
					}
				],
				"name": "ExchangeEntrySettled",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{ "indexed": true, "internalType": "address", "name": "account", "type": "address" },
					{ "indexed": false, "internalType": "bytes32", "name": "currencyKey", "type": "bytes32" },
					{ "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }
				],
				"name": "ExchangeRebate",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{ "indexed": true, "internalType": "address", "name": "account", "type": "address" },
					{ "indexed": false, "internalType": "bytes32", "name": "currencyKey", "type": "bytes32" },
					{ "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }
				],
				"name": "ExchangeReclaim",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{ "indexed": false, "internalType": "address", "name": "oldOwner", "type": "address" },
					{ "indexed": false, "internalType": "address", "name": "newOwner", "type": "address" }
				],
				"name": "OwnerChanged",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{ "indexed": false, "internalType": "address", "name": "newOwner", "type": "address" }
				],
				"name": "OwnerNominated",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{ "indexed": true, "internalType": "address", "name": "account", "type": "address" },
					{ "indexed": true, "internalType": "address", "name": "toAddress", "type": "address" },
					{ "indexed": false, "internalType": "bytes32", "name": "fromCurrencyKey", "type": "bytes32" },
					{ "indexed": false, "internalType": "uint256", "name": "fromAmount", "type": "uint256" },
					{ "indexed": false, "internalType": "bytes32", "name": "toCurrencyKey", "type": "bytes32" },
					{ "indexed": false, "internalType": "uint256", "name": "toAmount", "type": "uint256" },
					{ "indexed": false, "internalType": "uint256", "name": "fee", "type": "uint256" },
					{ "indexed": false, "internalType": "uint16", "name": "destChainId", "type": "uint16" }
				],
				"name": "SynthExchange",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{ "indexed": true, "internalType": "address", "name": "account", "type": "address" },
					{ "indexed": true, "internalType": "address", "name": "toAddress", "type": "address" },
					{ "indexed": false, "internalType": "bytes32", "name": "fromCurrencyKey", "type": "bytes32" },
					{ "indexed": false, "internalType": "uint256", "name": "fromAmount", "type": "uint256" },
					{ "indexed": false, "internalType": "bytes32", "name": "toCurrencyKey", "type": "bytes32" },
					{ "indexed": false, "internalType": "uint256", "name": "toAmount", "type": "uint256" },
					{ "indexed": false, "internalType": "uint256", "name": "fee", "type": "uint256" },
					{ "indexed": false, "internalType": "uint16", "name": "destChainId", "type": "uint16" }
				],
				"name": "TrackingSynthExchange",
				"type": "event"
			},
			{
				"inputs": [],
				"name": "CONTRACT_NAME",
				"outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "acceptOwnership",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{ "internalType": "address", "name": "from", "type": "address" },
					{ "internalType": "bytes32", "name": "currencyKey", "type": "bytes32" },
					{ "internalType": "uint256", "name": "amount", "type": "uint256" },
					{ "internalType": "uint256", "name": "refunded", "type": "uint256" }
				],
				"name": "calculateAmountAfterSettlement",
				"outputs": [{ "internalType": "uint256", "name": "amountAfterSettlement", "type": "uint256" }],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{ "internalType": "bytes32", "name": "sourceCurrencyKey", "type": "bytes32" },
					{ "internalType": "bytes32", "name": "destinationCurrencyKey", "type": "bytes32" }
				],
				"name": "dynamicFeeRateForExchange",
				"outputs": [
					{ "internalType": "uint256", "name": "feeRate", "type": "uint256" },
					{ "internalType": "bool", "name": "tooVolatile", "type": "bool" }
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"components": [
							{ "internalType": "address", "name": "fromAccount", "type": "address" },
							{ "internalType": "address", "name": "destAccount", "type": "address" },
							{ "internalType": "bytes32", "name": "sourceCurrencyKey", "type": "bytes32" },
							{ "internalType": "bytes32", "name": "destCurrencyKey", "type": "bytes32" },
							{ "internalType": "uint256", "name": "sourceAmount", "type": "uint256" },
							{ "internalType": "uint256", "name": "destAmount", "type": "uint256" },
							{ "internalType": "uint256", "name": "fee", "type": "uint256" },
							{ "internalType": "uint256", "name": "reclaimed", "type": "uint256" },
							{ "internalType": "uint256", "name": "refunded", "type": "uint256" },
							{ "internalType": "uint16", "name": "destChainId", "type": "uint16" },
							{ "internalType": "bool", "name": "erc20Payment", "type": "bool" }
						],
						"internalType": "struct IExchanger.ExchangeArgs",
						"name": "args",
						"type": "tuple"
					},
					{ "internalType": "bytes32", "name": "bridgeName", "type": "bytes32" }
				],
				"name": "exchange",
				"outputs": [{ "internalType": "uint256", "name": "amountReceived", "type": "uint256" }],
				"stateMutability": "payable",
				"type": "function"
			},
			{
				"inputs": [
					{ "internalType": "uint256", "name": "minAmount", "type": "uint256" },
					{
						"components": [
							{ "internalType": "address", "name": "fromAccount", "type": "address" },
							{ "internalType": "address", "name": "destAccount", "type": "address" },
							{ "internalType": "bytes32", "name": "sourceCurrencyKey", "type": "bytes32" },
							{ "internalType": "bytes32", "name": "destCurrencyKey", "type": "bytes32" },
							{ "internalType": "uint256", "name": "sourceAmount", "type": "uint256" },
							{ "internalType": "uint256", "name": "destAmount", "type": "uint256" },
							{ "internalType": "uint256", "name": "fee", "type": "uint256" },
							{ "internalType": "uint256", "name": "reclaimed", "type": "uint256" },
							{ "internalType": "uint256", "name": "refunded", "type": "uint256" },
							{ "internalType": "uint16", "name": "destChainId", "type": "uint16" },
							{ "internalType": "bool", "name": "erc20Payment", "type": "bool" }
						],
						"internalType": "struct IExchanger.ExchangeArgs",
						"name": "args",
						"type": "tuple"
					},
					{ "internalType": "bytes32", "name": "bridgeName", "type": "bytes32" }
				],
				"name": "exchangeAtomically",
				"outputs": [{ "internalType": "uint256", "name": "amountReceived", "type": "uint256" }],
				"stateMutability": "payable",
				"type": "function"
			},
			{
				"inputs": [
					{ "internalType": "bytes32", "name": "sourceCurrencyKey", "type": "bytes32" },
					{ "internalType": "bytes32", "name": "destinationCurrencyKey", "type": "bytes32" }
				],
				"name": "feeRateForExchange",
				"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{ "internalType": "uint256", "name": "sourceAmount", "type": "uint256" },
					{ "internalType": "bytes32", "name": "sourceCurrencyKey", "type": "bytes32" },
					{ "internalType": "bytes32", "name": "destinationCurrencyKey", "type": "bytes32" }
				],
				"name": "getAmountsForAtomicExchange",
				"outputs": [
					{ "internalType": "uint256", "name": "amountReceived", "type": "uint256" },
					{ "internalType": "uint256", "name": "fee", "type": "uint256" },
					{ "internalType": "uint256", "name": "exchangeFeeRate", "type": "uint256" }
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{ "internalType": "uint256", "name": "sourceAmount", "type": "uint256" },
					{ "internalType": "bytes32", "name": "sourceCurrencyKey", "type": "bytes32" },
					{ "internalType": "bytes32", "name": "destinationCurrencyKey", "type": "bytes32" }
				],
				"name": "getAmountsForExchange",
				"outputs": [
					{ "internalType": "uint256", "name": "amountReceived", "type": "uint256" },
					{ "internalType": "uint256", "name": "fee", "type": "uint256" },
					{ "internalType": "uint256", "name": "exchangeFeeRate", "type": "uint256" }
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{ "internalType": "address", "name": "_account", "type": "address" },
					{ "internalType": "bytes32", "name": "_sourceKey", "type": "bytes32" },
					{ "internalType": "uint256", "name": "_sourceAmount", "type": "uint256" },
					{ "internalType": "bytes32", "name": "_destKey", "type": "bytes32" },
					{ "internalType": "bytes32", "name": "_bridgeName", "type": "bytes32" },
					{ "internalType": "uint16", "name": "_destChainId", "type": "uint16" }
				],
				"name": "getSendExchangeGasFee",
				"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "isResolverCached",
				"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [{ "internalType": "bytes32", "name": "currencyKey", "type": "bytes32" }],
				"name": "isSynthRateInvalid",
				"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "lastAtomicVolume",
				"outputs": [
					{ "internalType": "uint64", "name": "time", "type": "uint64" },
					{ "internalType": "uint192", "name": "volume", "type": "uint192" }
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{ "internalType": "address", "name": "account", "type": "address" },
					{ "internalType": "bytes32", "name": "currencyKey", "type": "bytes32" }
				],
				"name": "maxSecsLeftInWaitingPeriod",
				"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [{ "internalType": "address", "name": "_owner", "type": "address" }],
				"name": "nominateNewOwner",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "nominatedOwner",
				"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "owner",
				"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "rebuildCache",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "resolver",
				"outputs": [
					{ "internalType": "contract AddressResolverLightChain", "name": "", "type": "address" }
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "resolverAddressesRequired",
				"outputs": [{ "internalType": "bytes32[]", "name": "addresses", "type": "bytes32[]" }],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{ "internalType": "address", "name": "from", "type": "address" },
					{ "internalType": "bytes32", "name": "currencyKey", "type": "bytes32" }
				],
				"name": "settle",
				"outputs": [
					{ "internalType": "uint256", "name": "reclaimed", "type": "uint256" },
					{ "internalType": "uint256", "name": "refunded", "type": "uint256" },
					{ "internalType": "uint256", "name": "numEntriesSettled", "type": "uint256" }
				],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{ "internalType": "address", "name": "account", "type": "address" },
					{ "internalType": "bytes32", "name": "currencyKey", "type": "bytes32" }
				],
				"name": "settlementOwing",
				"outputs": [
					{ "internalType": "uint256", "name": "reclaimAmount", "type": "uint256" },
					{ "internalType": "uint256", "name": "rebateAmount", "type": "uint256" },
					{ "internalType": "uint256", "name": "numEntries", "type": "uint256" }
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [{ "internalType": "bytes32", "name": "currencyKey", "type": "bytes32" }],
				"name": "suspendSynthWithInvalidRate",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{ "internalType": "address", "name": "recipient", "type": "address" },
					{ "internalType": "bytes32", "name": "destinationKey", "type": "bytes32" },
					{ "internalType": "uint256", "name": "destinationAmount", "type": "uint256" }
				],
				"name": "updateDestinationForExchange",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			}
		]
	  },
	  "ExchangeCircuitBreaker": {
		"abi": [
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "_resolver",
				"type": "address"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "constructor"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "name",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "destination",
				"type": "address"
			  }
			],
			"name": "CacheUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "previousRate",
				"type": "uint256"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "newRate",
				"type": "uint256"
			  }
			],
			"name": "LastRateOverriden",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "oldOwner",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerChanged",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerNominated",
			"type": "event"
		  },
		  {
			"inputs": [],
			"name": "CIRCUIT_BREAKER_SUSPENSION_REASON",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "CONTRACT_NAME",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "acceptOwnership",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "exchangeRates",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "base",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "comparison",
				"type": "uint256"
			  }
			],
			"name": "isDeviationAboveThreshold",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "isResolverCached",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "lastExchangeRate",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  }
			],
			"name": "nominateNewOwner",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "nominatedOwner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "owner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "priceDeviationThresholdFactor",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "rateWithBreakCircuit",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "lastValidRate",
				"type": "uint256"
			  },
			  {
				"internalType": "bool",
				"name": "circuitBroken",
				"type": "bool"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "rateWithInvalid",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  },
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "rebuildCache",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "bytes32[]",
				"name": "currencyKeys",
				"type": "bytes32[]"
			  }
			],
			"name": "resetLastExchangeRate",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resolver",
			"outputs": [
			  {
				"internalType": "contract AddressResolverLightChain",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resolverAddressesRequired",
			"outputs": [
			  {
				"internalType": "bytes32[]",
				"name": "addresses",
				"type": "bytes32[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  }
		]
	  },
	  "ExchangeState": {
		"abi": [
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "_associatedContract",
				"type": "address"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "constructor"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "associatedContract",
				"type": "address"
			  }
			],
			"name": "AssociatedContractUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "oldOwner",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerChanged",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerNominated",
			"type": "event"
		  },
		  {
			"inputs": [],
			"name": "acceptOwnership",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "account",
				"type": "address"
			  },
			  {
				"internalType": "bytes32",
				"name": "src",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "amount",
				"type": "uint256"
			  },
			  {
				"internalType": "bytes32",
				"name": "dest",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "amountReceived",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "exchangeFeeRate",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "timestamp",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "roundIdForSrc",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "roundIdForDest",
				"type": "uint256"
			  }
			],
			"name": "appendExchangeEntry",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "associatedContract",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  },
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"name": "exchanges",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "src",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "amount",
				"type": "uint256"
			  },
			  {
				"internalType": "bytes32",
				"name": "dest",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "amountReceived",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "exchangeFeeRate",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "timestamp",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "roundIdForSrc",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "roundIdForDest",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "account",
				"type": "address"
			  },
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "index",
				"type": "uint256"
			  }
			],
			"name": "getEntryAt",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "src",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "amount",
				"type": "uint256"
			  },
			  {
				"internalType": "bytes32",
				"name": "dest",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "amountReceived",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "exchangeFeeRate",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "timestamp",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "roundIdForSrc",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "roundIdForDest",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "account",
				"type": "address"
			  },
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "getLengthOfEntries",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "account",
				"type": "address"
			  },
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "getMaxTimestamp",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "maxEntriesInQueue",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  }
			],
			"name": "nominateNewOwner",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "nominatedOwner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "owner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "account",
				"type": "address"
			  },
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "removeEntries",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_associatedContract",
				"type": "address"
			  }
			],
			"name": "setAssociatedContract",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "_maxEntriesInQueue",
				"type": "uint256"
			  }
			],
			"name": "setMaxEntriesInQueue",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  }
		]
	  },
	  "Issuer": {
		"abi": [
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_owner",
						"type": "address"
					},
					{
						"internalType": "address",
						"name": "_resolver",
						"type": "address"
					}
				],
				"stateMutability": "nonpayable",
				"type": "constructor"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "account",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "currencyKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "synthAmount",
						"type": "uint256"
					},
					{
						"indexed": false,
						"internalType": "uint16",
						"name": "destChainId",
						"type": "uint16"
					}
				],
				"name": "BurnSynthForBridge",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "name",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "address",
						"name": "destination",
						"type": "address"
					}
				],
				"name": "CacheUpdated",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"internalType": "address",
						"name": "account",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "currencyKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "uint256",
						"name": "synthAmount",
						"type": "uint256"
					}
				],
				"name": "DestIssue",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": false,
						"internalType": "address",
						"name": "oldOwner",
						"type": "address"
					},
					{
						"indexed": false,
						"internalType": "address",
						"name": "newOwner",
						"type": "address"
					}
				],
				"name": "OwnerChanged",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": false,
						"internalType": "address",
						"name": "newOwner",
						"type": "address"
					}
				],
				"name": "OwnerNominated",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "currencyKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "address",
						"name": "synth",
						"type": "address"
					}
				],
				"name": "SynthAdded",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": false,
						"internalType": "bytes32",
						"name": "currencyKey",
						"type": "bytes32"
					},
					{
						"indexed": false,
						"internalType": "address",
						"name": "synth",
						"type": "address"
					}
				],
				"name": "SynthRemoved",
				"type": "event"
			},
			{
				"inputs": [],
				"name": "CIRCUIT_BREAKER_SUSPENSION_REASON",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "CONTRACT_NAME",
				"outputs": [
					{
						"internalType": "bytes32",
						"name": "",
						"type": "bytes32"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "acceptOwnership",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "contract ISynth",
						"name": "synth",
						"type": "address"
					}
				],
				"name": "addSynth",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "availableCurrencyKeys",
				"outputs": [
					{
						"internalType": "bytes32[]",
						"name": "",
						"type": "bytes32[]"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "availableSynthCount",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"name": "availableSynths",
				"outputs": [
					{
						"internalType": "contract ISynth",
						"name": "",
						"type": "address"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"internalType": "bytes32",
						"name": "_synthKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_amount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "uint16",
						"name": "_destChainId",
						"type": "uint16"
					},
					{
						"internalType": "bool",
						"name": "_erc20Payment",
						"type": "bool"
					}
				],
				"name": "bridgeSynth",
				"outputs": [
					{
						"internalType": "bool",
						"name": "",
						"type": "bool"
					}
				],
				"stateMutability": "payable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "deprecatedSynth",
						"type": "address"
					},
					{
						"internalType": "address",
						"name": "account",
						"type": "address"
					},
					{
						"internalType": "uint256",
						"name": "balance",
						"type": "uint256"
					}
				],
				"name": "burnForRedemption",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"internalType": "bytes32",
						"name": "_synthKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_amount",
						"type": "uint256"
					}
				],
				"name": "burnSynths",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					},
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					},
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					},
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"internalType": "bytes32",
						"name": "_synthKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_synthAmount",
						"type": "uint256"
					}
				],
				"name": "destIssue",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"internalType": "bytes32",
						"name": "_synthKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_synthAmount",
						"type": "uint256"
					},
					{
						"internalType": "bytes32",
						"name": "_bridgeName",
						"type": "bytes32"
					},
					{
						"internalType": "uint16",
						"name": "_destChainId",
						"type": "uint16"
					}
				],
				"name": "getSendBridgeSynthGasFee",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "bytes32[]",
						"name": "currencyKeys",
						"type": "bytes32[]"
					}
				],
				"name": "getSynths",
				"outputs": [
					{
						"internalType": "contract ISynth[]",
						"name": "",
						"type": "address[]"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "isResolverCached",
				"outputs": [
					{
						"internalType": "bool",
						"name": "",
						"type": "bool"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "lastDebtRatio",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_owner",
						"type": "address"
					}
				],
				"name": "nominateNewOwner",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "nominatedOwner",
				"outputs": [
					{
						"internalType": "address",
						"name": "",
						"type": "address"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "owner",
				"outputs": [
					{
						"internalType": "address",
						"name": "",
						"type": "address"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "rebuildCache",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "bytes32",
						"name": "currencyKey",
						"type": "bytes32"
					}
				],
				"name": "removeSynth",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "resolver",
				"outputs": [
					{
						"internalType": "contract AddressResolverLightChain",
						"name": "",
						"type": "address"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [],
				"name": "resolverAddressesRequired",
				"outputs": [
					{
						"internalType": "bytes32[]",
						"name": "addresses",
						"type": "bytes32[]"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "_account",
						"type": "address"
					},
					{
						"internalType": "bytes32",
						"name": "_synthKey",
						"type": "bytes32"
					},
					{
						"internalType": "uint256",
						"name": "_synthAmount",
						"type": "uint256"
					}
				],
				"name": "synthIssueFromSynthrSwap",
				"outputs": [],
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "bytes32",
						"name": "",
						"type": "bytes32"
					}
				],
				"name": "synths",
				"outputs": [
					{
						"internalType": "contract ISynth",
						"name": "",
						"type": "address"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "",
						"type": "address"
					}
				],
				"name": "synthsByAddress",
				"outputs": [
					{
						"internalType": "bytes32",
						"name": "",
						"type": "bytes32"
					}
				],
				"stateMutability": "view",
				"type": "function"
			},
			{
				"inputs": [
					{
						"internalType": "address",
						"name": "account",
						"type": "address"
					},
					{
						"internalType": "uint256",
						"name": "marginDelta",
						"type": "uint256"
					}
				],
				"name": "transferMargin",
				"outputs": [
					{
						"internalType": "uint256",
						"name": "",
						"type": "uint256"
					}
				],
				"stateMutability": "nonpayable",
				"type": "function"
			}
		]
	  },
	  "SynthRedeemer": {
		"abi": [
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_resolver",
				"type": "address"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "constructor"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "name",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "destination",
				"type": "address"
			  }
			],
			"name": "CacheUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "synth",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "rateToRedeem",
				"type": "uint256"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "totalSynthSupply",
				"type": "uint256"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "supplyInsUSD",
				"type": "uint256"
			  }
			],
			"name": "SynthDeprecated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "synth",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "account",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "amountOfSynth",
				"type": "uint256"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "amountInsUSD",
				"type": "uint256"
			  }
			],
			"name": "SynthRedeemed",
			"type": "event"
		  },
		  {
			"inputs": [],
			"name": "CONTRACT_NAME",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "contract IERC20",
				"name": "synthProxy",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "account",
				"type": "address"
			  }
			],
			"name": "balanceOf",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "balanceInsUSD",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "contract IERC20",
				"name": "synthProxy",
				"type": "address"
			  },
			  {
				"internalType": "uint256",
				"name": "rateToRedeem",
				"type": "uint256"
			  }
			],
			"name": "deprecate",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "isResolverCached",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "rebuildCache",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "contract IERC20",
				"name": "synthProxy",
				"type": "address"
			  }
			],
			"name": "redeem",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "contract IERC20[]",
				"name": "synthProxies",
				"type": "address[]"
			  }
			],
			"name": "redeemAll",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "contract IERC20",
				"name": "synthProxy",
				"type": "address"
			  },
			  {
				"internalType": "uint256",
				"name": "amountOfSynth",
				"type": "uint256"
			  }
			],
			"name": "redeemPartial",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"name": "redemptions",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resolver",
			"outputs": [
			  {
				"internalType": "contract AddressResolverLightChain",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resolverAddressesRequired",
			"outputs": [
			  {
				"internalType": "bytes32[]",
				"name": "addresses",
				"type": "bytes32[]"
			  }
			],
			"stateMutability": "pure",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "contract IERC20",
				"name": "synthProxy",
				"type": "address"
			  }
			],
			"name": "totalSupply",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "supplyInsUSD",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  }
		]
	  },
	  "TokenState": {
		"abi": [
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "_associatedContract",
				"type": "address"
			  },
			  {
				"internalType": "uint256",
				"name": "_totalSupply",
				"type": "uint256"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "constructor"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "associatedContract",
				"type": "address"
			  }
			],
			"name": "AssociatedContractUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "oldOwner",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerChanged",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerNominated",
			"type": "event"
		  },
		  {
			"inputs": [],
			"name": "acceptOwnership",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"name": "allowance",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "associatedContract",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"name": "balanceOf",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  }
			],
			"name": "nominateNewOwner",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "nominatedOwner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "owner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "tokenOwner",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "spender",
				"type": "address"
			  },
			  {
				"internalType": "uint256",
				"name": "value",
				"type": "uint256"
			  }
			],
			"name": "setAllowance",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_associatedContract",
				"type": "address"
			  }
			],
			"name": "setAssociatedContract",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "account",
				"type": "address"
			  },
			  {
				"internalType": "uint256",
				"name": "value",
				"type": "uint256"
			  }
			],
			"name": "setBalanceOf",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "_amount",
				"type": "uint256"
			  }
			],
			"name": "setTotalSupply",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "totalSupply",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  }
		]
	  },
	  "MultiCollateralSynth": {
		"abi": [
		  {
			"inputs": [
			  {
				"internalType": "contract TokenStateLightChain",
				"name": "_tokenState",
				"type": "address"
			  },
			  {
				"internalType": "string",
				"name": "_tokenName",
				"type": "string"
			  },
			  {
				"internalType": "string",
				"name": "_tokenSymbol",
				"type": "string"
			  },
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  },
			  {
				"internalType": "bytes32",
				"name": "_currencyKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "address",
				"name": "_resolver",
				"type": "address"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "constructor"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": true,
				"internalType": "address",
				"name": "owner",
				"type": "address"
			  },
			  {
				"indexed": true,
				"internalType": "address",
				"name": "spender",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "value",
				"type": "uint256"
			  }
			],
			"name": "Approval",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "name",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "destination",
				"type": "address"
			  }
			],
			"name": "CacheUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "oldOwner",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerChanged",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerNominated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newTokenState",
				"type": "address"
			  }
			],
			"name": "TokenStateUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": true,
				"internalType": "address",
				"name": "from",
				"type": "address"
			  },
			  {
				"indexed": true,
				"internalType": "address",
				"name": "to",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "value",
				"type": "uint256"
			  }
			],
			"name": "Transfer",
			"type": "event"
		  },
		  {
			"inputs": [],
			"name": "CONTRACT_NAME",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "DECIMALS",
			"outputs": [
			  {
				"internalType": "uint8",
				"name": "",
				"type": "uint8"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "FEE_ADDRESS",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "acceptOwnership",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "owner",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "spender",
				"type": "address"
			  }
			],
			"name": "allowance",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "spender",
				"type": "address"
			  },
			  {
				"internalType": "uint256",
				"name": "value",
				"type": "uint256"
			  }
			],
			"name": "approve",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "account",
				"type": "address"
			  }
			],
			"name": "balanceOf",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "account",
				"type": "address"
			  },
			  {
				"internalType": "uint256",
				"name": "amount",
				"type": "uint256"
			  }
			],
			"name": "burn",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "currencyKey",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "decimals",
			"outputs": [
			  {
				"internalType": "uint8",
				"name": "",
				"type": "uint8"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "isResolverCached",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "account",
				"type": "address"
			  },
			  {
				"internalType": "uint256",
				"name": "amount",
				"type": "uint256"
			  }
			],
			"name": "issue",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "name",
			"outputs": [
			  {
				"internalType": "string",
				"name": "",
				"type": "string"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  }
			],
			"name": "nominateNewOwner",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "nominatedOwner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "owner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "rebuildCache",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resolver",
			"outputs": [
			  {
				"internalType": "contract AddressResolverLightChain",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resolverAddressesRequired",
			"outputs": [
			  {
				"internalType": "bytes32[]",
				"name": "addresses",
				"type": "bytes32[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "contract TokenStateLightChain",
				"name": "_tokenState",
				"type": "address"
			  }
			],
			"name": "setTokenState",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint256",
				"name": "amount",
				"type": "uint256"
			  }
			],
			"name": "setTotalSupply",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "symbol",
			"outputs": [
			  {
				"internalType": "string",
				"name": "",
				"type": "string"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "tokenState",
			"outputs": [
			  {
				"internalType": "contract TokenStateLightChain",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "totalSupply",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "to",
				"type": "address"
			  },
			  {
				"internalType": "uint256",
				"name": "value",
				"type": "uint256"
			  }
			],
			"name": "transfer",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "payable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "to",
				"type": "address"
			  },
			  {
				"internalType": "uint256",
				"name": "value",
				"type": "uint256"
			  }
			],
			"name": "transferAndSettle",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "payable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "from",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "to",
				"type": "address"
			  },
			  {
				"internalType": "uint256",
				"name": "value",
				"type": "uint256"
			  }
			],
			"name": "transferFrom",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "payable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "from",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "to",
				"type": "address"
			  },
			  {
				"internalType": "uint256",
				"name": "value",
				"type": "uint256"
			  }
			],
			"name": "transferFromAndSettle",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "payable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "account",
				"type": "address"
			  }
			],
			"name": "transferableSynths",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  }
		]
	  },
	  "CollateralManager": {
		"abi": [
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "_resolver",
				"type": "address"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "constructor"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "name",
				"type": "bytes32"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "destination",
				"type": "address"
			  }
			],
			"name": "CacheUpdated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "_from",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "_collateral",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "_amount",
				"type": "uint256"
			  }
			],
			"name": "DepositCollateral",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "oldOwner",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerChanged",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "newOwner",
				"type": "address"
			  }
			],
			"name": "OwnerNominated",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "_to",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "address",
				"name": "_collateral",
				"type": "address"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "_amount",
				"type": "uint256"
			  }
			],
			"name": "WithdrawCollateral",
			"type": "event"
		  },
		  {
			"inputs": [],
			"name": "CONTRACT_NAME",
			"outputs": [
			  {
				"internalType": "bytes32",
				"name": "",
				"type": "bytes32"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "acceptOwnership",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_from",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "_collateralCurrency",
				"type": "address"
			  },
			  {
				"internalType": "uint256",
				"name": "_collateralAmount",
				"type": "uint256"
			  }
			],
			"name": "depositeCollateral",
			"outputs": [],
			"stateMutability": "payable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "isResolverCached",
			"outputs": [
			  {
				"internalType": "bool",
				"name": "",
				"type": "bool"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			  }
			],
			"name": "nominateNewOwner",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "nominatedOwner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "owner",
			"outputs": [
			  {
				"internalType": "address",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "rebuildCache",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resolver",
			"outputs": [
			  {
				"internalType": "contract AddressResolverLightChain",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "resolverAddressesRequired",
			"outputs": [
			  {
				"internalType": "bytes32[]",
				"name": "addresses",
				"type": "bytes32[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_to",
				"type": "address"
			  },
			  {
				"internalType": "address",
				"name": "_collateralCurrency",
				"type": "address"
			  },
			  {
				"internalType": "uint256",
				"name": "_amount",
				"type": "uint256"
			  }
			],
			"name": "withdrawCollateral",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  }
		]
	  },
	  "SynthUtil": {
		"abi": [
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "resolver",
				"type": "address"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "constructor"
		  },
		  {
			"inputs": [],
			"name": "addressResolverProxy",
			"outputs": [
			  {
				"internalType": "contract IAddressResolver",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "account",
				"type": "address"
			  }
			],
			"name": "synthsBalances",
			"outputs": [
			  {
				"internalType": "bytes32[]",
				"name": "",
				"type": "bytes32[]"
			  },
			  {
				"internalType": "uint256[]",
				"name": "",
				"type": "uint256[]"
			  },
			  {
				"internalType": "uint256[]",
				"name": "",
				"type": "uint256[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "synthsRates",
			"outputs": [
			  {
				"internalType": "bytes32[]",
				"name": "",
				"type": "bytes32[]"
			  },
			  {
				"internalType": "uint256[]",
				"name": "",
				"type": "uint256[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "synthsTotalSupplies",
			"outputs": [
			  {
				"internalType": "bytes32[]",
				"name": "",
				"type": "bytes32[]"
			  },
			  {
				"internalType": "uint256[]",
				"name": "",
				"type": "uint256[]"
			  },
			  {
				"internalType": "uint256[]",
				"name": "",
				"type": "uint256[]"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "account",
				"type": "address"
			  },
			  {
				"internalType": "bytes32",
				"name": "currencyKey",
				"type": "bytes32"
			  }
			],
			"name": "totalSynthsInKey",
			"outputs": [
			  {
				"internalType": "uint256",
				"name": "total",
				"type": "uint256"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  }
		]
	  },
	  "SynthrBridge": {
		"abi": [
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_lzEndpoint",
				"type": "address"
			  }
			],
			"stateMutability": "nonpayable",
			"type": "constructor"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "uint16",
				"name": "_srcChainId",
				"type": "uint16"
			  },
			  {
				"indexed": false,
				"internalType": "bytes",
				"name": "_srcAddress",
				"type": "bytes"
			  },
			  {
				"indexed": false,
				"internalType": "uint64",
				"name": "_nonce",
				"type": "uint64"
			  },
			  {
				"indexed": false,
				"internalType": "bytes",
				"name": "_payload",
				"type": "bytes"
			  },
			  {
				"indexed": false,
				"internalType": "bytes",
				"name": "_reason",
				"type": "bytes"
			  }
			],
			"name": "MessageFailed",
			"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": true,
				"internalType": "uint16",
				"name": "packetType",
				"type": "uint16"
			  },
			  {
				"indexed": true,
				"internalType": "uint16",
				"name": "srcChainId",
				"type": "uint16"
			  },
			  {
				"indexed": false,
				"internalType": "uint64",
				"name": "nonce",
				"type": "uint64"
			  }
			],
			"name": "ReceivePacket",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "uint16",
				"name": "_srcChainId",
				"type": "uint16"
			  },
			  {
				"indexed": false,
				"internalType": "bytes",
				"name": "_srcAddress",
				"type": "bytes"
			  },
			  {
				"indexed": false,
				"internalType": "uint64",
				"name": "_nonce",
				"type": "uint64"
			  },
			  {
				"indexed": false,
				"internalType": "bytes32",
				"name": "_payloadHash",
				"type": "bytes32"
			  }
			],
			"name": "RetryMessageSuccess",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": true,
				"internalType": "uint16",
				"name": "packetType",
				"type": "uint16"
			  },
			  {
				"indexed": true,
				"internalType": "uint16",
				"name": "dstChainId",
				"type": "uint16"
			  },
			  {
				"indexed": false,
				"internalType": "uint64",
				"name": "nonce",
				"type": "uint64"
			  }
			],
			"name": "SendPacket",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "uint16",
				"name": "_dstChainId",
				"type": "uint16"
			  },
			  {
				"indexed": false,
				"internalType": "uint16",
				"name": "_type",
				"type": "uint16"
			  },
			  {
				"indexed": false,
				"internalType": "uint256",
				"name": "_minDstGas",
				"type": "uint256"
			  }
			],
			"name": "SetMinDstGas",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "address",
				"name": "precrime",
				"type": "address"
			  }
			],
			"name": "SetPrecrime",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "uint16",
				"name": "_remoteChainId",
				"type": "uint16"
			  },
			  {
				"indexed": false,
				"internalType": "bytes",
				"name": "_path",
				"type": "bytes"
			  }
			],
			"name": "SetTrustedRemote",
			"type": "event"
		  },
		  {
			"anonymous": false,
			"inputs": [
			  {
				"indexed": false,
				"internalType": "uint16",
				"name": "_remoteChainId",
				"type": "uint16"
			  },
			  {
				"indexed": false,
				"internalType": "bytes",
				"name": "_remoteAddress",
				"type": "bytes"
			  }
			],
			"name": "SetTrustedRemoteAddress",
			"type": "event"
		  },
		  {
			"inputs": [],
			"name": "_synthrAddressResolver",
			"outputs": [
			  { "internalType": "address", "name": "", "type": "address" }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  { "internalType": "bytes", "name": "lzPayload", "type": "bytes" },
			  {
				"internalType": "uint16",
				"name": "packetType",
				"type": "uint16"
			  },
			  { "internalType": "uint16", "name": "dstChainId", "type": "uint16" }
			],
			"name": "calcLZFee",
			"outputs": [
			  { "internalType": "uint256", "name": "lzFee", "type": "uint256" }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  { "internalType": "uint16", "name": "", "type": "uint16" },
			  { "internalType": "bytes", "name": "", "type": "bytes" },
			  { "internalType": "uint64", "name": "", "type": "uint64" }
			],
			"name": "failedMessages",
			"outputs": [
			  { "internalType": "bytes32", "name": "", "type": "bytes32" }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint16",
				"name": "_srcChainId",
				"type": "uint16"
			  },
			  { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }
			],
			"name": "forceResumeReceive",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  { "internalType": "uint16", "name": "_version", "type": "uint16" },
			  { "internalType": "uint16", "name": "_chainId", "type": "uint16" },
			  { "internalType": "address", "name": "", "type": "address" },
			  {
				"internalType": "uint256",
				"name": "_configType",
				"type": "uint256"
			  }
			],
			"name": "getConfig",
			"outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint16",
				"name": "_remoteChainId",
				"type": "uint16"
			  }
			],
			"name": "getTrustedRemoteAddress",
			"outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "__synthrAddressResolver",
				"type": "address"
			  },
			  {
				"internalType": "uint16",
				"name": "__mainChainId",
				"type": "uint16"
			  }
			],
			"name": "initialize",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint16",
				"name": "_srcChainId",
				"type": "uint16"
			  },
			  { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }
			],
			"name": "isTrustedRemote",
			"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "lzEndpoint",
			"outputs": [
			  {
				"internalType": "contract ILayerZeroEndpoint",
				"name": "",
				"type": "address"
			  }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint16",
				"name": "_srcChainId",
				"type": "uint16"
			  },
			  { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" },
			  { "internalType": "uint64", "name": "_nonce", "type": "uint64" },
			  { "internalType": "bytes", "name": "_payload", "type": "bytes" }
			],
			"name": "lzReceive",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  { "internalType": "uint16", "name": "", "type": "uint16" },
			  { "internalType": "uint16", "name": "", "type": "uint16" }
			],
			"name": "minDstGasLookup",
			"outputs": [
			  { "internalType": "uint256", "name": "", "type": "uint256" }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint16",
				"name": "_srcChainId",
				"type": "uint16"
			  },
			  { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" },
			  { "internalType": "uint64", "name": "_nonce", "type": "uint64" },
			  { "internalType": "bytes", "name": "_payload", "type": "bytes" }
			],
			"name": "nonblockingLzReceive",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "owner",
			"outputs": [
			  { "internalType": "address", "name": "", "type": "address" }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "precrime",
			"outputs": [
			  { "internalType": "address", "name": "", "type": "address" }
			],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [],
			"name": "renounceOwnership",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint16",
				"name": "_srcChainId",
				"type": "uint16"
			  },
			  { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" },
			  { "internalType": "uint64", "name": "_nonce", "type": "uint64" },
			  { "internalType": "bytes", "name": "_payload", "type": "bytes" }
			],
			"name": "retryMessage",
			"outputs": [],
			"stateMutability": "payable",
			"type": "function"
		  },
		  {
			"inputs": [
			  { "internalType": "address", "name": "account", "type": "address" },
			  {
				"internalType": "bytes32",
				"name": "synthKey",
				"type": "bytes32"
			  },
			  { "internalType": "uint256", "name": "amount", "type": "uint256" },
			  { "internalType": "uint16", "name": "dstChainId", "type": "uint16" }
			],
			"name": "sendBridgeSyToken",
			"outputs": [],
			"stateMutability": "payable",
			"type": "function"
		  },
		  {
			"inputs": [
			  { "internalType": "address", "name": "account", "type": "address" },
			  {
				"internalType": "bytes32",
				"name": "synthKey",
				"type": "bytes32"
			  },
			  { "internalType": "uint256", "name": "amount", "type": "uint256" }
			],
			"name": "sendBurn",
			"outputs": [],
			"stateMutability": "payable",
			"type": "function"
		  },
		  {
			"inputs": [
			  { "internalType": "address", "name": "account", "type": "address" },
			  {
				"internalType": "bytes32",
				"name": "collateralKey",
				"type": "bytes32"
			  },
			  { "internalType": "uint256", "name": "amount", "type": "uint256" }
			],
			"name": "sendDepositCollateral",
			"outputs": [],
			"stateMutability": "payable",
			"type": "function"
		  },
		  {
			"inputs": [
			  { "internalType": "address", "name": "account", "type": "address" },
			  {
				"internalType": "bytes32",
				"name": "srcSynthKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "bytes32",
				"name": "dstSynthKey",
				"type": "bytes32"
			  },
			  {
				"internalType": "uint256",
				"name": "srcAmount",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "dstAmount",
				"type": "uint256"
			  },
			  {
				"internalType": "uint256",
				"name": "reclaimed",
				"type": "uint256"
			  },
			  { "internalType": "uint256", "name": "refund", "type": "uint256" },
			  { "internalType": "uint256", "name": "fee", "type": "uint256" },
			  { "internalType": "uint16", "name": "dstChainId", "type": "uint16" }
			],
			"name": "sendExchange",
			"outputs": [],
			"stateMutability": "payable",
			"type": "function"
		  },
		  {
			"inputs": [
			  { "internalType": "uint16", "name": "_version", "type": "uint16" },
			  { "internalType": "uint16", "name": "_chainId", "type": "uint16" },
			  {
				"internalType": "uint256",
				"name": "_configType",
				"type": "uint256"
			  },
			  { "internalType": "bytes", "name": "_config", "type": "bytes" }
			],
			"name": "setConfig",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint16",
				"name": "_dstChainId",
				"type": "uint16"
			  },
			  {
				"internalType": "uint16",
				"name": "_packetType",
				"type": "uint16"
			  },
			  { "internalType": "uint256", "name": "_minGas", "type": "uint256" }
			],
			"name": "setMinDstGas",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "address",
				"name": "_precrime",
				"type": "address"
			  }
			],
			"name": "setPrecrime",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  { "internalType": "uint16", "name": "_version", "type": "uint16" }
			],
			"name": "setReceiveVersion",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  { "internalType": "uint16", "name": "_version", "type": "uint16" }
			],
			"name": "setSendVersion",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint16",
				"name": "_srcChainId",
				"type": "uint16"
			  },
			  { "internalType": "bytes", "name": "_path", "type": "bytes" }
			],
			"name": "setTrustedRemote",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  {
				"internalType": "uint16",
				"name": "_remoteChainId",
				"type": "uint16"
			  },
			  {
				"internalType": "bytes",
				"name": "_remoteAddress",
				"type": "bytes"
			  }
			],
			"name": "setTrustedRemoteAddress",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  { "internalType": "address", "name": "newOwner", "type": "address" }
			],
			"name": "transferOwnership",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  {
			"inputs": [
			  { "internalType": "uint16", "name": "", "type": "uint16" }
			],
			"name": "trustedRemoteLookup",
			"outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }],
			"stateMutability": "view",
			"type": "function"
		  },
		  {
			"inputs": [
			  { "internalType": "address", "name": "token", "type": "address" },
			  { "internalType": "uint256", "name": "amount", "type": "uint256" }
			],
			"name": "withdrawAsset",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		  },
		  { "stateMutability": "payable", "type": "receive" }
		]
	  }
	}
  }
  