UNPKG

blackbull-sdk

Version:

An SDK for building applications on top of Blackbullswap

242 lines (241 loc) 47.5 kB
{ "_format": "hh-sol-artifact-1", "contractName": "PangolinBridgeMigrationRouter", "sourceName": "contracts/pangolin-periphery/PangolinBridgeMigrationRouter.sol", "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "addAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenAddress", "type": "address" }, { "internalType": "address", "name": "migratorAddress", "type": "address" } ], "name": "addMigrator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "bridgeMigrator", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "liquidityPairFrom", "type": "address" }, { "internalType": "address", "name": "liquidityPairTo", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "calculateChargeBack", "outputs": [ { "internalType": "uint256", "name": "amount0", "type": "uint256" }, { "internalType": "uint256", "name": "amount1", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isAdmin", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "liquidityPairFrom", "type": "address" }, { "internalType": "address", "name": "liquidityPairTo", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" } ], "name": "migrateLiquidity", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "liquidityPairFrom", "type": "address" }, { "internalType": "address", "name": "liquidityPairTo", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "migrateLiquidityWithPermit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" } ], "name": "migrateToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "removeAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x60806040523480156200001157600080fd5b506200002d3360006200003360201b62000b751790919060201c565b62000120565b6200003f8282620000b7565b1562000092576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b038216620001005760405162461bcd60e51b8152600401808060200182810382526022815260200180620029c86022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b61289880620001306000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80637048027511610076578063b032fff71161005b578063b032fff7146101ef578063f057d23714610247578063ffc5059414610283576100a3565b8063704802751461017a57806399a0df82146101a0576100a3565b80631785f53c146100a857806324d7806c146100d0578063495952f51461010a5780634c389d261461014c575b600080fd5b6100ce600480360360208110156100be57600080fd5b50356001600160a01b03166102c5565b005b6100f6600480360360208110156100e657600080fd5b50356001600160a01b0316610361565b604080519115158252519081900360200190f35b6100ce600480360360a081101561012057600080fd5b506001600160a01b03813581169160208101358216916040820135169060608101359060800135610373565b6100ce6004803603604081101561016257600080fd5b506001600160a01b03813581169160200135166103c7565b6100ce6004803603602081101561019057600080fd5b50356001600160a01b03166105a1565b6101d6600480360360608110156101b657600080fd5b506001600160a01b03813581169160208101359091169060400135610637565b6040805192835260208301919091528051918290030190f35b6100ce600480360361010081101561020657600080fd5b506001600160a01b03813581169160208101358216916040820135169060608101359060808101359060ff60a0820135169060c08101359060e00135610987565b6100ce6004803603608081101561025d57600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135610a81565b6102a96004803603602081101561029957600080fd5b50356001600160a01b0316610b5a565b604080516001600160a01b039092168252519081900360200190f35b6102d0600033610bf6565b61030b5760405162461bcd60e51b815260040180806020018281038252602b8152602001806126f5602b913960400191505060405180910390fd5b336001600160a01b03821614156103535760405162461bcd60e51b815260040180806020018281038252603881526020018061244c6038913960400191505060405180910390fd5b61035e600082610c5d565b50565b600061036d8183610bf6565b92915050565b80428110156103b35760405162461bcd60e51b81526004018080602001828103825260268152602001806124ee6026913960400191505060405180910390fd5b6103bf86868686610cc4565b505050505050565b6103d2600033610bf6565b61040d5760405162461bcd60e51b815260040180806020018281038252602b8152602001806126f5602b913960400191505060405180910390fd5b6001600160a01b0382166104525760405162461bcd60e51b815260040180806020018281038252603b815260200180612620603b913960400191505060405180910390fd5b6001600160a01b0381166104975760405162461bcd60e51b815260040180806020018281038252603e815260200180612548603e913960400191505060405180910390fd5b6000816001600160a01b031663ab32dbb7846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156104e657600080fd5b505afa1580156104fa573d6000803e3d6000fd5b505050506040513d602081101561051057600080fd5b50519050806105505760405162461bcd60e51b81526004018080602001828103825260348152602001806125146034913960400191505060405180910390fd5b61055a8383611537565b506001600160a01b03918216600090815260016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001691909216179055565b6105ac600033610bf6565b6105e75760405162461bcd60e51b815260040180806020018281038252602b8152602001806126f5602b913960400191505060405180910390fd5b6001600160a01b03811661062c5760405162461bcd60e51b81526004018080602001828103825260348152602001806127686034913960400191505060405180910390fd5b61035e600082610b75565b6000806001600160a01b03851661067f5760405162461bcd60e51b81526004018080602001828103825260488152602001806127206048913960600191505060405180910390fd5b6001600160a01b0384166106c45760405162461bcd60e51b81526004018080602001828103825260468152602001806124a86046913960600191505060405180910390fd5b6000806106d187866115c0565b91509150856001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561070e57600080fd5b505afa158015610722573d6000803e3d6000fd5b505050506040513d602081101561073857600080fd5b505160408051630dfe168160e01b815290516001600160a01b03928316928a1691630dfe1681916004808301926020929190829003018186803b15801561077e57600080fd5b505afa158015610792573d6000803e3d6000fd5b505050506040513d60208110156107a857600080fd5b50516001600160a01b03161480159061089d5750856001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156107f557600080fd5b505afa158015610809573d6000803e3d6000fd5b505050506040513d602081101561081f57600080fd5b50516040805163d21220a760e01b815290516001600160a01b03928316928a169163d21220a7916004808301926020929190829003018186803b15801561086557600080fd5b505afa158015610879573d6000803e3d6000fd5b505050506040513d602081101561088f57600080fd5b50516001600160a01b031614155b156108a457905b600080876001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156108e057600080fd5b505afa1580156108f4573d6000803e3d6000fd5b505050506040513d606081101561090a57600080fd5b5080516020909101519092509050836000610939826dffffffffffffffffffffffffffff808716908616611713565b9050848111156109745784905061097185846dffffffffffffffffffffffffffff16866dffffffffffffffffffffffffffff16611713565b91505b9403999390920397509195505050505050565b83428110156109c75760405162461bcd60e51b81526004018080602001828103825260268152602001806124ee6026913960400191505060405180910390fd5b604080517fd505accf000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018890526064810187905260ff8616608482015260a4810185905260c4810184905290516001600160a01b038b169163d505accf9160e480830192600092919082900301818387803b158015610a5257600080fd5b505af1158015610a66573d6000803e3d6000fd5b50505050610a7689898989610cc4565b505050505050505050565b8042811015610ac15760405162461bcd60e51b81526004018080602001828103825260268152602001806124ee6026913960400191505060405180910390fd5b6001600160a01b0385811660009081526001602052604090205416610b175760405162461bcd60e51b81526004018080602001828103825260368152602001806125866036913960400191505060405180910390fd5b610b23853330866117b9565b610b2d858461193b565b6001600160a01b03808616600090815260016020526040902054610b5391168585611aed565b5050505050565b6001602052600090815260409020546001600160a01b031681565b610b7f8282610bf6565b15610bd1576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b038216610c3d5760405162461bcd60e51b815260040180806020018281038252602281526020018061265b6022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b610c678282610bf6565b610ca25760405162461bcd60e51b81526004018080602001828103825260218152602001806125bc6021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b610cce8484611c7d565b6000846001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b158015610d0957600080fd5b505afa158015610d1d573d6000803e3d6000fd5b505050506040513d6020811015610d3357600080fd5b505160408051630dfe168160e01b815290519192506001600160a01b03861691630dfe168191600480820192602092909190829003018186803b158015610d7957600080fd5b505afa158015610d8d573d6000803e3d6000fd5b505050506040513d6020811015610da357600080fd5b505160408051630dfe168160e01b815290516001600160a01b0392831692881691630dfe1681916004808301926020929190829003018186803b158015610de957600080fd5b505afa158015610dfd573d6000803e3d6000fd5b505050506040513d6020811015610e1357600080fd5b50516001600160a01b03161480610f055750836001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b158015610e5e57600080fd5b505afa158015610e72573d6000803e3d6000fd5b505050506040513d6020811015610e8857600080fd5b505160408051630dfe168160e01b815290516001600160a01b0392831692881691630dfe1681916004808301926020929190829003018186803b158015610ece57600080fd5b505afa158015610ee2573d6000803e3d6000fd5b505050506040513d6020811015610ef857600080fd5b50516001600160a01b0316145b15610f7257846001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b158015610f4357600080fd5b505afa158015610f57573d6000803e3d6000fd5b505050506040513d6020811015610f6d57600080fd5b505190505b6001600160a01b038082166000908152600160205260409020541680610fc95760405162461bcd60e51b81526004018080602001828103825260438152602001806125dd6043913960600191505060405180910390fd5b846001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561100257600080fd5b505afa158015611016573d6000803e3d6000fd5b505050506040513d602081101561102c57600080fd5b50516001600160a01b03828116911614806110b65750846001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561107b57600080fd5b505afa15801561108f573d6000803e3d6000fd5b505050506040513d60208110156110a557600080fd5b50516001600160a01b038281169116145b6110f15760405162461bcd60e51b81526004018080602001828103825260458152602001806123c06045913960600191505060405180910390fd5b6000806110fe8886612124565b915091506000829050886001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561114057600080fd5b505afa158015611154573d6000803e3d6000fd5b505050506040513d602081101561116a57600080fd5b50516001600160a01b038681169116146111815750805b61118b858261193b565b50866001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156111c557600080fd5b505afa1580156111d9573d6000803e3d6000fd5b505050506040513d60208110156111ef57600080fd5b505160408051630dfe168160e01b815290516001600160a01b03928316928b1691630dfe1681916004808301926020929190829003018186803b15801561123557600080fd5b505afa158015611249573d6000803e3d6000fd5b505050506040513d602081101561125f57600080fd5b50516001600160a01b0316148015906113545750866001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156112ac57600080fd5b505afa1580156112c0573d6000803e3d6000fd5b505050506040513d60208110156112d657600080fd5b50516040805163d21220a760e01b815290516001600160a01b03928316928b169163d21220a7916004808301926020929190829003018186803b15801561131c57600080fd5b505afa158015611330573d6000803e3d6000fd5b505050506040513d602081101561134657600080fd5b50516001600160a01b031614155b1561135b57905b60008061143b898a6001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561139b57600080fd5b505afa1580156113af573d6000803e3d6000fd5b505050506040513d60208110156113c557600080fd5b50516040805163d21220a760e01b815290516001600160a01b038e169163d21220a7916004808301926020929190829003018186803b15801561140757600080fd5b505afa15801561141b573d6000803e3d6000fd5b505050506040513d602081101561143157600080fd5b505187878d6121ce565b50909250905081156114b6576114b6896001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561148357600080fd5b505afa158015611497573d6000803e3d6000fd5b505050506040513d60208110156114ad57600080fd5b50518984611aed565b801561152b5761152b896001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156114f857600080fd5b505afa15801561150c573d6000803e3d6000fd5b505050506040513d602081101561152257600080fd5b50518983611aed565b50505050505050505050565b816001600160a01b031663095ea7b3826000196040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561159057600080fd5b505af11580156115a4573d6000803e3d6000fd5b505050506040513d60208110156115ba57600080fd5b50505050565b600080600080856001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156115ff57600080fd5b505afa158015611613573d6000803e3d6000fd5b505050506040513d606081101561162957600080fd5b508051602091820151604080517f18160ddd00000000000000000000000000000000000000000000000000000000815290519295509093506000926001600160a01b038a16926318160ddd926004808201939291829003018186803b15801561169157600080fd5b505afa1580156116a5573d6000803e3d6000fd5b505050506040513d60208110156116bb57600080fd5b50519050806116da876dffffffffffffffffffffffffffff8616612353565b816116e157fe5b049450806116ff876dffffffffffffffffffffffffffff8516612353565b8161170657fe5b0493505050509250929050565b60008084116117535760405162461bcd60e51b81526004018080602001828103825260248152602001806124846024913960400191505060405180910390fd5b6000831180156117635750600082115b61179e5760405162461bcd60e51b815260040180806020018281038252602781526020018061283c6027913960400191505060405180910390fd5b826117a98584612353565b816117b057fe5b04949350505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000178152925182516000948594938a169392918291908083835b6020831061186b5780518252601f19909201916020918201910161184c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146118cd576040519150601f19603f3d011682016040523d82523d6000602084013e6118d2565b606091505b509150915081801561190057508051158061190057508080602001905160208110156118fd57600080fd5b50515b6103bf5760405162461bcd60e51b81526004018080602001828103825260248152602001806128186024913960400191505060405180910390fd5b6001600160a01b0382166119805760405162461bcd60e51b815260040180806020018281038252603b815260200180612620603b913960400191505060405180910390fd5b6001600160a01b038083166000818152600160205260408082205481517fd004f0f7000000000000000000000000000000000000000000000000000000008152600481019490945260248401869052905193169263d004f0f792604480820193929182900301818387803b1580156119f757600080fd5b505af1158015611a0b573d6000803e3d6000fd5b5050506001600160a01b038084166000908152600160209081526040918290205482517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015292518695509316926370a08231926024808201939291829003018186803b158015611a8157600080fd5b505afa158015611a95573d6000803e3d6000fd5b505050506040513d6020811015611aab57600080fd5b505114611ae95760405162461bcd60e51b815260040180806020018281038252603e8152602001806126b7603e913960400191505060405180910390fd5b5050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251825160009485949389169392918291908083835b60208310611b975780518252601f199092019160209182019101611b78565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611bf9576040519150601f19603f3d011682016040523d82523d6000602084013e611bfe565b606091505b5091509150818015611c2c575080511580611c2c5750808060200190516020811015611c2957600080fd5b50515b610b53576040805162461bcd60e51b815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c454400604482015290519081900360640190fd5b6001600160a01b038216611cc25760405162461bcd60e51b815260040180806020018281038252603a81526020018061267d603a913960400191505060405180910390fd5b6001600160a01b038216611d075760405162461bcd60e51b815260040180806020018281038252603881526020018061279c6038913960400191505060405180910390fd5b806001600160a01b0316826001600160a01b03161415611d585760405162461bcd60e51b81526004018080602001828103825260478152602001806124056047913960600191505060405180910390fd5b806001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b158015611d9157600080fd5b505afa158015611da5573d6000803e3d6000fd5b505050506040513d6020811015611dbb57600080fd5b505160408051630dfe168160e01b815290516001600160a01b0392831692851691630dfe1681916004808301926020929190829003018186803b158015611e0157600080fd5b505afa158015611e15573d6000803e3d6000fd5b505050506040513d6020811015611e2b57600080fd5b50516001600160a01b03161480611f1d5750806001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b158015611e7657600080fd5b505afa158015611e8a573d6000803e3d6000fd5b505050506040513d6020811015611ea057600080fd5b505160408051630dfe168160e01b815290516001600160a01b0392831692851691630dfe1681916004808301926020929190829003018186803b158015611ee657600080fd5b505afa158015611efa573d6000803e3d6000fd5b505050506040513d6020811015611f1057600080fd5b50516001600160a01b0316145b806120035750806001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b158015611f5c57600080fd5b505afa158015611f70573d6000803e3d6000fd5b505050506040513d6020811015611f8657600080fd5b50516040805163d21220a760e01b815290516001600160a01b039283169285169163d21220a7916004808301926020929190829003018186803b158015611fcc57600080fd5b505afa158015611fe0573d6000803e3d6000fd5b505050506040513d6020811015611ff657600080fd5b50516001600160a01b0316145b806120e95750806001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561204257600080fd5b505afa158015612056573d6000803e3d6000fd5b505050506040513d602081101561206c57600080fd5b50516040805163d21220a760e01b815290516001600160a01b039283169285169163d21220a7916004808301926020929190829003018186803b1580156120b257600080fd5b505afa1580156120c6573d6000803e3d6000fd5b505050506040513d60208110156120dc57600080fd5b50516001600160a01b0316145b611ae95760405162461bcd60e51b81526004018080602001828103825260448152602001806127d46044913960600191505060405180910390fd5b600080612133843386866117b9565b604080517f89afcb4400000000000000000000000000000000000000000000000000000000815230600482015281516001600160a01b038716926389afcb4492602480820193918290030181600087803b15801561219057600080fd5b505af11580156121a4573d6000803e3d6000fd5b505050506040513d60408110156121ba57600080fd5b508051602090910151909590945092505050565b60008060008060008a6001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561220f57600080fd5b505afa158015612223573d6000803e3d6000fd5b505050506040513d606081101561223957600080fd5b5080516020909101519092509050876000612268826dffffffffffffffffffffffffffff808716908616611713565b9050888111156122a3578890506122a089846dffffffffffffffffffffffffffff16866dffffffffffffffffffffffffffff16611713565b91505b6122ae8c8e84611aed565b6122b98b8e83611aed565b818a03965080890395508c6001600160a01b0316636a627842896040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b15801561231257600080fd5b505af1158015612326573d6000803e3d6000fd5b505050506040513d602081101561233c57600080fd5b5051969d959c50959a509398505050505050505050565b600081158061236e5750508082028282828161236b57fe5b04145b61036d576040805162461bcd60e51b815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe50616e676f6c696e4272696467654d6967726174696f6e526f757465723a205061697220646f65736e2774206d6174636820746865206d6967726174696f6e20746f6b656e50616e676f6c696e4272696467654d6967726174696f6e526f757465723a2043616e7420636f6e7665727420746f207468652073616d65206c697175696469747920706169727350616e676f6c696e4272696467654d6967726174696f6e526f757465723a20596f752063616e27742064656d6f746520796f757273656c6650616e676f6c696e4c6962726172793a20494e53554646494349454e545f414d4f554e5450616e676f6c696e4272696467654d6967726174696f6e526f757465723a206c697175696469747950616972546f20616464726573732030206e6f7420737570706f7274656450616e676f6c696e4272696467654d6967726174696f6e526f757465723a2045585049524544546865206d69677261746f7220646f65736e27742068617665207377617020737570706c7920666f72207468697320746f6b656e50616e676f6c696e4272696467654d6967726174696f6e526f757465723a206d69677261746f72416464726573732030206e6f7420737570706f7274656450616e676f6c696e4272696467654d6967726174696f6e526f757465723a206d69677261746f72206e6f742072656769737465726564526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6550616e676f6c696e4272696467654d6967726174696f6e526f757465723a204d69677261746f72206e6f74207265676973746572656420666f7220746865207061697250616e676f6c696e4272696467654d6967726174696f6e526f757465723a20746f6b656e416464726573732030206e6f7420737570706f72746564526f6c65733a206163636f756e7420697320746865207a65726f206164647265737350616e676f6c696e4272696467654d6967726174696f6e526f757465723a206c69717569646974795061697246726f6d2061646472657373203050616e676f6c696e4272696467654d6967726174696f6e526f757465723a204469646e2774207969656c642074686520636f727265637420616d6f756e7450616e676f6c696e4272696467654d6967726174696f6e526f757465723a20556e617574686f72697a656450616e676f6c696e4272696467654d6967726174696f6e526f757465723a206c69717569646974795061697246726f6d20616464726573732030206e6f7420737570706f7274656450616e676f6c696e4272696467654d6967726174696f6e526f757465723a20416464726573732030206e6f7420616c6c6f77656450616e676f6c696e4272696467654d6967726174696f6e526f757465723a206c697175696469747950616972546f2061646472657373203050616e676f6c696e4272696467654d6967726174696f6e526f757465723a205061697220646f6573206e6f742068617665206f6e6520746f6b656e206d61746368696e675472616e7366657248656c7065723a205452414e534645525f46524f4d5f4641494c454450616e676f6c696e4c6962726172793a20494e53554646494349454e545f4c4951554944495459a26469706673582212204115188ff81e05d844ab997f0419ebad637dfb67383b36d5a2f04a42bac87c8a64736f6c63430007060033526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80637048027511610076578063b032fff71161005b578063b032fff7146101ef578063f057d23714610247578063ffc5059414610283576100a3565b8063704802751461017a57806399a0df82146101a0576100a3565b80631785f53c146100a857806324d7806c146100d0578063495952f51461010a5780634c389d261461014c575b600080fd5b6100ce600480360360208110156100be57600080fd5b50356001600160a01b03166102c5565b005b6100f6600480360360208110156100e657600080fd5b50356001600160a01b0316610361565b604080519115158252519081900360200190f35b6100ce600480360360a081101561012057600080fd5b506001600160a01b03813581169160208101358216916040820135169060608101359060800135610373565b6100ce6004803603604081101561016257600080fd5b506001600160a01b03813581169160200135166103c7565b6100ce6004803603602081101561019057600080fd5b50356001600160a01b03166105a1565b6101d6600480360360608110156101b657600080fd5b506001600160a01b03813581169160208101359091169060400135610637565b6040805192835260208301919091528051918290030190f35b6100ce600480360361010081101561020657600080fd5b506001600160a01b03813581169160208101358216916040820135169060608101359060808101359060ff60a0820135169060c08101359060e00135610987565b6100ce6004803603608081101561025d57600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135610a81565b6102a96004803603602081101561029957600080fd5b50356001600160a01b0316610b5a565b604080516001600160a01b039092168252519081900360200190f35b6102d0600033610bf6565b61030b5760405162461bcd60e51b815260040180806020018281038252602b8152602001806126f5602b913960400191505060405180910390fd5b336001600160a01b03821614156103535760405162461bcd60e51b815260040180806020018281038252603881526020018061244c6038913960400191505060405180910390fd5b61035e600082610c5d565b50565b600061036d8183610bf6565b92915050565b80428110156103b35760405162461bcd60e51b81526004018080602001828103825260268152602001806124ee6026913960400191505060405180910390fd5b6103bf86868686610cc4565b505050505050565b6103d2600033610bf6565b61040d5760405162461bcd60e51b815260040180806020018281038252602b8152602001806126f5602b913960400191505060405180910390fd5b6001600160a01b0382166104525760405162461bcd60e51b815260040180806020018281038252603b815260200180612620603b913960400191505060405180910390fd5b6001600160a01b0381166104975760405162461bcd60e51b815260040180806020018281038252603e815260200180612548603e913960400191505060405180910390fd5b6000816001600160a01b031663ab32dbb7846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156104e657600080fd5b505afa1580156104fa573d6000803e3d6000fd5b505050506040513d602081101561051057600080fd5b50519050806105505760405162461bcd60e51b81526004018080602001828103825260348152602001806125146034913960400191505060405180910390fd5b61055a8383611537565b506001600160a01b03918216600090815260016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001691909216179055565b6105ac600033610bf6565b6105e75760405162461bcd60e51b815260040180806020018281038252602b8152602001806126f5602b913960400191505060405180910390fd5b6001600160a01b03811661062c5760405162461bcd60e51b81526004018080602001828103825260348152602001806127686034913960400191505060405180910390fd5b61035e600082610b75565b6000806001600160a01b03851661067f5760405162461bcd60e51b81526004018080602001828103825260488152602001806127206048913960600191505060405180910390fd5b6001600160a01b0384166106c45760405162461bcd60e51b81526004018080602001828103825260468152602001806124a86046913960600191505060405180910390fd5b6000806106d187866115c0565b91509150856001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561070e57600080fd5b505afa158015610722573d6000803e3d6000fd5b505050506040513d602081101561073857600080fd5b505160408051630dfe168160e01b815290516001600160a01b03928316928a1691630dfe1681916004808301926020929190829003018186803b15801561077e57600080fd5b505afa158015610792573d6000803e3d6000fd5b505050506040513d60208110156107a857600080fd5b50516001600160a01b03161480159061089d5750856001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156107f557600080fd5b505afa158015610809573d6000803e3d6000fd5b505050506040513d602081101561081f57600080fd5b50516040805163d21220a760e01b815290516001600160a01b03928316928a169163d21220a7916004808301926020929190829003018186803b15801561086557600080fd5b505afa158015610879573d6000803e3d6000fd5b505050506040513d602081101561088f57600080fd5b50516001600160a01b031614155b156108a457905b600080876001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156108e057600080fd5b505afa1580156108f4573d6000803e3d6000fd5b505050506040513d606081101561090a57600080fd5b5080516020909101519092509050836000610939826dffffffffffffffffffffffffffff808716908616611713565b9050848111156109745784905061097185846dffffffffffffffffffffffffffff16866dffffffffffffffffffffffffffff16611713565b91505b9403999390920397509195505050505050565b83428110156109c75760405162461bcd60e51b81526004018080602001828103825260268152602001806124ee6026913960400191505060405180910390fd5b604080517fd505accf000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018890526064810187905260ff8616608482015260a4810185905260c4810184905290516001600160a01b038b169163d505accf9160e480830192600092919082900301818387803b158015610a5257600080fd5b505af1158015610a66573d6000803e3d6000fd5b50505050610a7689898989610cc4565b505050505050505050565b8042811015610ac15760405162461bcd60e51b81526004018080602001828103825260268152602001806124ee6026913960400191505060405180910390fd5b6001600160a01b0385811660009081526001602052604090205416610b175760405162461bcd60e51b81526004018080602001828103825260368152602001806125866036913960400191505060405180910390fd5b610b23853330866117b9565b610b2d858461193b565b6001600160a01b03808616600090815260016020526040902054610b5391168585611aed565b5050505050565b6001602052600090815260409020546001600160a01b031681565b610b7f8282610bf6565b15610bd1576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b038216610c3d5760405162461bcd60e51b815260040180806020018281038252602281526020018061265b6022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b610c678282610bf6565b610ca25760405162461bcd60e51b81526004018080602001828103825260218152602001806125bc6021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b610cce8484611c7d565b6000846001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b158015610d0957600080fd5b505afa158015610d1d573d6000803e3d6000fd5b505050506040513d6020811015610d3357600080fd5b505160408051630dfe168160e01b815290519192506001600160a01b03861691630dfe168191600480820192602092909190829003018186803b158015610d7957600080fd5b505afa158015610d8d573d6000803e3d6000fd5b505050506040513d6020811015610da357600080fd5b505160408051630dfe168160e01b815290516001600160a01b0392831692881691630dfe1681916004808301926020929190829003018186803b158015610de957600080fd5b505afa158015610dfd573d6000803e3d6000fd5b505050506040513d6020811015610e1357600080fd5b50516001600160a01b03161480610f055750836001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b158015610e5e57600080fd5b505afa158015610e72573d6000803e3d6000fd5b505050506040513d6020811015610e8857600080fd5b505160408051630dfe168160e01b815290516001600160a01b0392831692881691630dfe1681916004808301926020929190829003018186803b158015610ece57600080fd5b505afa158015610ee2573d6000803e3d6000fd5b505050506040513d6020811015610ef857600080fd5b50516001600160a01b0316145b15610f7257846001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b158015610f4357600080fd5b505afa158015610f57573d6000803e3d6000fd5b505050506040513d6020811015610f6d57600080fd5b505190505b6001600160a01b038082166000908152600160205260409020541680610fc95760405162461bcd60e51b81526004018080602001828103825260438152602001806125dd6043913960600191505060405180910390fd5b846001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561100257600080fd5b505afa158015611016573d6000803e3d6000fd5b505050506040513d602081101561102c57600080fd5b50516001600160a01b03828116911614806110b65750846001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561107b57600080fd5b505afa15801561108f573d6000803e3d6000fd5b505050506040513d60208110156110a557600080fd5b50516001600160a01b038281169116145b6110f15760405162461bcd60e51b81526004018080602001828103825260458152602001806123c06045913960600191505060405180910390fd5b6000806110fe8886612124565b915091506000829050886001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561114057600080fd5b505afa158015611154573d6000803e3d6000fd5b505050506040513d602081101561116a57600080fd5b50516001600160a01b038681169116146111815750805b61118b858261193b565b50866001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156111c557600080fd5b505afa1580156111d9573d6000803e3d6000fd5b505050506040513d60208110156111ef57600080fd5b505160408051630dfe168160e01b815290516001600160a01b03928316928b1691630dfe1681916004808301926020929190829003018186803b15801561123557600080fd5b505afa158015611249573d6000803e3d6000fd5b505050506040513d602081101561125f57600080fd5b50516001600160a01b0316148015906113545750866001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156112ac57600080fd5b505afa1580156112c0573d6000803e3d6000fd5b505050506040513d60208110156112d657600080fd5b50516040805163d21220a760e01b815290516001600160a01b03928316928b169163d21220a7916004808301926020929190829003018186803b15801561131c57600080fd5b505afa158015611330573d6000803e3d6000fd5b505050506040513d602081101561134657600080fd5b50516001600160a01b031614155b1561135b57905b60008061143b898a6001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561139b57600080fd5b505afa1580156113af573d6000803e3d6000fd5b505050506040513d60208110156113c557600080fd5b50516040805163d21220a760e01b815290516001600160a01b038e169163d21220a7916004808301926020929190829003018186803b15801561140757600080fd5b505afa15801561141b573d6000803e3d6000fd5b505050506040513d602081101561143157600080fd5b505187878d6121ce565b50909250905081156114b6576114b6896001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561148357600080fd5b505afa158015611497573d6000803e3d6000fd5b505050506040513d60208110156114ad57600080fd5b50518984611aed565b801561152b5761152b896001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156114f857600080fd5b505afa15801561150c573d6000803e3d6000fd5b505050506040513d602081101561152257600080fd5b50518983611aed565b50505050505050505050565b816001600160a01b031663095ea7b3826000196040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561159057600080fd5b505af11580156115a4573d6000803e3d6000fd5b505050506040513d60208110156115ba57600080fd5b50505050565b600080600080856001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156115ff57600080fd5b505afa158015611613573d6000803e3d6000fd5b505050506040513d606081101561162957600080fd5b508051602091820151604080517f18160ddd00000000000000000000000000000000000000000000000000000000815290519295509093506000926001600160a01b038a16926318160ddd926004808201939291829003018186803b15801561169157600080fd5b505afa1580156116a5573d6000803e3d6000fd5b505050506040513d60208110156116bb57600080fd5b50519050806116da876dffffffffffffffffffffffffffff8616612353565b816116e157fe5b049450806116ff876dffffffffffffffffffffffffffff8516612353565b8161170657fe5b0493505050509250929050565b60008084116117535760405162461bcd60e51b81526004018080602001828103825260248152602001806124846024913960400191505060405180910390fd5b6000831180156117635750600082115b61179e5760405162461bcd60e51b815260040180806020018281038252602781526020018061283c6027913960400191505060405180910390fd5b826117a98584612353565b816117b057fe5b04949350505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000178152925182516000948594938a169392918291908083835b6020831061186b5780518252601f19909201916020918201910161184c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146118cd576040519150601f19603f3d011682016040523d82523d6000602084013e6118d2565b606091505b509150915081801561190057508051158061190057508080602001905160208110156118fd57600080fd5b50515b6103bf5760405162461bcd60e51b81526004018080602001828103825260248152602001806128186024913960400191505060405180910390fd5b6001600160a01b0382166119805760405162461bcd60e51b815260040180806020018281038252603b815260200180612620603b913960400191505060405180910390fd5b6001600160a01b038083166000818152600160205260408082205481517fd004f0f7000000000000000000000000000000000000000000000000000000008152600481019490945260248401869052905193169263d004f0f792604480820193929182900301818387803b1580156119f757600080fd5b505af1158015611a0b573d6000803e3d6000fd5b5050506001600160a01b038084166000908152600160209081526040918290205482517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015292518695509316926370a08231926024808201939291829003018186803b158015611a8157600080fd5b505afa158015611a95573d6000803e3d6000fd5b505050506040513d6020811015611aab57600080fd5b505114611ae95760405162461bcd60e51b815260040180806020018281038252603e8152602001806126b7603e913960400191505060405180910390fd5b5050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251825160009485949389169392918291908083835b60208310611b975780518252601f199092019160209182019101611b78565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611bf9576040519150601f19603f3d011682016040523d82523d6000602084013e611bfe565b606091505b5091509150818015611c2c575080511580611c2c5750808060200190516020811015611c2957600080fd5b50515b610b53576040805162461bcd60e51b815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c454400604482015290519081900360640190fd5b6001600160a01b038216611cc25760405162461bcd60e51b815260040180806020018281038252603a81526020018061267d603a913960400191505060405180910390fd5b6001600160a01b038216611d075760405162461bcd60e51b815260040180806020018281038252603881526020018061279c6038913960400191505060405180910390fd5b806001600160a01b0316826001600160a01b03161415611d585760405162461bcd60e51b81526004018080602001828103825260478152602001806124056047913960600191505060405180910390fd5b806001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b158015611d9157600080fd5b505afa158015611da5573d6000803e3d6000fd5b505050506040513d6020811015611dbb57600080fd5b505160408051630dfe168160e01b815290516001600160a01b0392831692851691630dfe1681916004808301926020929190829003018186803b158015611e0157600080fd5b505afa158015611e15573d6000803e3d6000fd5b505050506040513d6020811015611e2b57600080fd5b50516001600160a01b03161480611f1d5750806001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b158015611e7657600080fd5b505afa158015611e8a573d6000803e3d6000fd5b505050506040513d6020811015611ea057600080fd5b505160408051630dfe168160e01b815290516001600160a01b0392831692851691630dfe1681916004808301926020929190829003018186803b158015611ee657600080fd5b505afa158015611efa573d6000803e3d6000fd5b505050506040513d6020811015611f1057600080fd5b50516001600160a01b0316145b806120035750806001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b158015611f5c57600080fd5b505afa158015611f70573d6000803e3d6000fd5b505050506040513d6020811015611f8657600080fd5b50516040805163d21220a760e01b815290516001600160a01b039283169285169163d21220a7916004808301926020929190829003018186803b158015611fcc57600080fd5b505afa158015611fe0573d6000803e3d6000fd5b505050506040513d6020811015611ff657600080fd5b50516001600160a01b0316145b806120e95750806001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561204257600080fd5b505afa158015612056573d6000803e3d6000fd5b505050506040513d602081101561206c57600080fd5b50516040805163d21220a760e01b815290516001600160a01b039283169285169163d21220a7916004808301926020929190829003018186803b1580156120b257600080fd5b505afa1580156120c6573d6000803e3d6000fd5b505050506040513d60208110156120dc57600080fd5b50516001600160a01b0316145b611ae95760405162461bcd60e51b81526004018080602001828103825260448152602001806127d46044913960600191505060405180910390fd5b600080612133843386866117b9565b604080517f89afcb4400000000000000000000000000000000000000000000000000000000815230600482015281516001600160a01b038716926389afcb4492602480820193918290030181600087803b15801561219057600080fd5b505af11580156121a4573d6000803e3d6000fd5b505050506040513d60408110156121ba57600080fd5b508051602090910151909590945092505050565b60008060008060008a6001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561220f57600080fd5b505afa158015612223573d6000803e3d6000fd5b505050506040513d606081101561223957600080fd5b5080516020909101519092509050876000612268826dffffffffffffffffffffffffffff808716908616611713565b9050888111156122a3578890506122a089846dffffffffffffffffffffffffffff16866dffffffffffffffffffffffffffff16611713565b91505b6122ae8c8e84611aed565b6122b98b8e83611aed565b818a03965080890395508c6001600160a01b0316636a627842896040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b15801561231257600080fd5b505af1158015612326573d6000803e3d6000fd5b505050506040513d602081101561233c57600080fd5b5051969d959c50959a509398505050505050505050565b600081158061236e5750508082028282828161236b57fe5b04145b61036d576040805162461bcd60e51b815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe50616e676f6c696e4272696467654d6967726174696f6e526f757465723a205061697220646f65736e2774206d6174636820746865206d6967726174696f6e20746f6b656e50616e676f6c696e4272696467654d6967726174696f6e526f757465723a2043616e7420636f6e7665727420746f207468652073616d65206c697175696469747920706169727350616e676f6c696e4272696467654d6967726174696f6e526f757465723a20596f752063616e27742064656d6f746520796f757273656c6650616e676f6c696e4c6962726172793a20494e53554646494349454e545f414d4f554e5450616e676f6c696e4272696467654d6967726174696f6e526f757465723a206c697175696469747950616972546f20616464726573732030206e6f7420737570706f7274656450616e676f6c696e4272696467654d6967726174696f6e526f757465723a2045585049524544546865206d69677261746f7220646f65736e27742068617665207377617020737570706c7920666f72207468697320746f6b656e50616e676f6c696e4272696467654d6967726174696f6e526f757465723a206d69677261746f72416464726573732030206e6f7420737570706f7274656450616e676f6c696e4272696467654d6967726174696f6e526f757465723a206d69677261746f72206e6f742072656769737465726564526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6550616e676f6c696e4272696467654d6967726174696f6e526f757465723a204d69677261746f72206e6f74207265676973746572656420666f7220746865207061697250616e676f6c696e4272696467654d6967726174696f6e526f757465723a20746f6b656e416464726573732030206e6f7420737570706f72746564526f6c65733a206163636f756e7420697320746865207a65726f206164647265737350616e676f6c696e4272696467654d6967726174696f6e526f757465723a206c69717569646974795061697246726f6d2061646472657373203050616e676f6c696e4272696467654d6967726174696f6e526f757465723a204469646e2774207969656c642074686520636f727265637420616d6f756e7450616e676f6c696e4272696467654d6967726174696f6e526f757465723a20556e617574686f72697a656450616e676f6c696e4272696467654d6967726174696f6e526f757465723a206c69717569646974795061697246726f6d20616464726573732030206e6f7420737570706f7274656450616e676f6c696e4272696467654d6967726174696f6e526f757465723a20416464726573732030206e6f7420616c6c6f77656450616e676f6c696e4272696467654d6967726174696f6e526f757465723a206c697175696469747950616972546f2061646472657373203050616e676f6c696e4272696467654d6967726174696f6e526f757465723a205061697220646f6573206e6f742068617665206f6e6520746f6b656e206d61746368696e675472616e7366657248656c7065723a205452414e534645525f46524f4d5f4641494c454450616e676f6c696e4c6962726172793a20494e53554646494349454e545f4c4951554944495459a26469706673582212204115188ff81e05d844ab997f0419ebad637dfb67383b36d5a2f04a42bac87c8a64736f6c63430007060033", "linkReferences": {}, "deployedLinkReferences": {} }