@polycity/core
Version:
Core contracts for the PolyCityDex protocol
145 lines (144 loc) • 20.7 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "PichiRoll",
"sourceName": "contracts/PichiRoll.sol",
"abi": [
{
"inputs": [
{
"internalType": "contract IUniswapV2Router01",
"name": "_oldRouter",
"type": "address"
},
{
"internalType": "contract IUniswapV2Router01",
"name": "_router",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenA",
"type": "address"
},
{
"internalType": "address",
"name": "tokenB",
"type": "address"
},
{
"internalType": "uint256",
"name": "liquidity",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amountAMin",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amountBMin",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
}
],
"name": "migrate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenA",
"type": "address"
},
{
"internalType": "address",
"name": "tokenB",
"type": "address"
},
{
"internalType": "uint256",
"name": "liquidity",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amountAMin",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amountBMin",
"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": "migrateWithPermit",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "oldRouter",
"outputs": [
{
"internalType": "contract IUniswapV2Router01",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "router",
"outputs": [
{
"internalType": "contract IUniswapV2Router01",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b506040516111553803806111558339818101604052604081101561003357600080fd5b508051602090910151600080546001600160a01b039384166001600160a01b031991821617909155600180549390921692169190911790556110db8061007a6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063396ac32814610051578063964c1f98146100b2578063aac55b39146100d6578063f887ea401461011e575b600080fd5b6100b0600480360361012081101561006857600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e0810135906101000135610126565b005b6100ba6101da565b604080516001600160a01b039092168252519081900360200190f35b6100b0600480360360c08110156100ec57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a001356101e9565b6100ba610299565b60006101328a8a6102a8565b6040805163d505accf60e01b8152336004820152306024820152604481018b90526064810188905260ff8716608482015260a4810186905260c4810185905290519192506001600160a01b0383169163d505accf9160e48082019260009290919082900301818387803b1580156101a857600080fd5b505af11580156101bc573d6000803e3d6000fd5b505050506101ce8a8a8a8a8a8a6101e9565b50505050505050505050565b6000546001600160a01b031681565b42811015610235576040805162461bcd60e51b8152602060048201526014602482015273141bdb1e50da5d1e51195e0e881156141254915160621b604482015290519081900360640190fd5b6000806102468888888888886103de565b915091506000806102598a8a86866105e6565b915091508184111561027b5761027b6001600160a01b038b1633848703610724565b808311156101ce576101ce6001600160a01b038a1633838603610724565b6001546001600160a01b031681565b60008060006102b7858561077b565b9150915060008054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561030757600080fd5b505afa15801561031b573d6000803e3d6000fd5b505050506040513d602081101561033157600080fd5b5051604080516bffffffffffffffffffffffff19606095861b811660208381019190915294861b81166034830152825160288184030181526048830184528051908601206001600160f81b031960688401529390951b9094166069850152607d8401919091527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808501919091528151808503909101815260bd909301905281519101209392505050565b60008060006103ed89896102a8565b604080516323b872dd60e01b81523360048201526001600160a01b03831660248201819052604482018b9052915192935090916323b872dd916064808201926020929091908290030181600087803b15801561044857600080fd5b505af115801561045c573d6000803e3d6000fd5b505050506040513d602081101561047257600080fd5b50506040805163226bf2d160e21b8152306004820152815160009283926001600160a01b038616926389afcb449260248084019391929182900301818787803b1580156104be57600080fd5b505af11580156104d2573d6000803e3d6000fd5b505050506040513d60408110156104e857600080fd5b508051602090910151909250905060006105028c8c61077b565b509050806001600160a01b03168c6001600160a01b031614610525578183610528565b82825b909650945088861015610582576040805162461bcd60e51b815260206004820181905260248201527f5069636869526f6c6c3a20494e53554646494349454e545f415f414d4f554e54604482015290519081900360640190fd5b878510156105d7576040805162461bcd60e51b815260206004820181905260248201527f5069636869526f6c6c3a20494e53554646494349454e545f425f414d4f554e54604482015290519081900360640190fd5b50505050965096945050505050565b6000806105f586868686610859565b6001546040805163c45a015560e01b81529051939550919350600092610679926001600160a01b039092169163c45a0155916004808301926020929190829003018186803b15801561064657600080fd5b505afa15801561065a573d6000803e3d6000fd5b505050506040513d602081101561067057600080fd5b50518888610a76565b905061068f6001600160a01b0388168285610724565b6106a36001600160a01b0387168284610724565b604080516335313c2160e11b815233600482015290516001600160a01b03831691636a6278429160248083019260209291908290030181600087803b1580156106eb57600080fd5b505af11580156106ff573d6000803e3d6000fd5b505050506040513d602081101561071557600080fd5b50929791965090945050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610776908490610b36565b505050565b600080826001600160a01b0316846001600160a01b031614156107cf5760405162461bcd60e51b8152600401808060200182810382526025815260200180610fe46025913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b0316106107ef5782846107f2565b83835b90925090506001600160a01b038216610852576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b9250929050565b6000806000600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108ac57600080fd5b505afa1580156108c0573d6000803e3d6000fd5b505050506040513d60208110156108d657600080fd5b50516040805163e6a4390560e01b81526001600160a01b038a81166004830152898116602483015291519293506000929184169163e6a4390591604480820192602092909190829003018186803b15801561093057600080fd5b505afa158015610944573d6000803e3d6000fd5b505050506040513d602081101561095a57600080fd5b50516001600160a01b031614156109f857806001600160a01b031663c9c6539688886040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b1580156109cb57600080fd5b505af11580156109df573d6000803e3d6000fd5b505050506040513d60208110156109f557600080fd5b50505b600080610a06838a8a610be7565b91509150816000148015610a18575080155b15610a2857869450859350610a6a565b6000610a35888484610cb5565b9050868111610a4957879550935083610a68565b6000610a56888486610cb5565b905088811115610a6257fe5b95508694505b505b50505094509492505050565b6000806000610a85858561077b565b604080516bffffffffffffffffffffffff19606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501206001600160f81b031960688401529a90941b9093166069840152607d8301989098527f5f1a38b4b874e3bf854dc01750bdab8bbdbaf5cd32ab74e3a38733f6df4a1f7e609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b6060610b8b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610d5b9092919063ffffffff16565b80519091501561077657808060200190516020811015610baa57600080fd5b50516107765760405162461bcd60e51b815260040180806020018281038252602a81526020018061107c602a913960400191505060405180910390fd5b6000806000610bf6858561077b565b509050600080610c07888888610a76565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015610c3f57600080fd5b505afa158015610c53573d6000803e3d6000fd5b505050506040513d6060811015610c6957600080fd5b5080516020909101516dffffffffffffffffffffffffffff91821693501690506001600160a01b0387811690841614610ca3578082610ca6565b81815b90999098509650505050505050565b6000808411610cf55760405162461bcd60e51b81526004018080602001828103825260258152602001806110576025913960400191505060405180910390fd5b600083118015610d055750600082115b610d405760405162461bcd60e51b815260040180806020018281038252602881526020018061102f6028913960400191505060405180910390fd5b82610d4b8584610d74565b81610d5257fe5b04949350505050565b6060610d6a8484600085610ddd565b90505b9392505050565b6000811580610d8f57505080820282828281610d8c57fe5b04145b610dd7576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b92915050565b606082471015610e1e5760405162461bcd60e51b81526004018080602001828103825260268152602001806110096026913960400191505060405180910390fd5b610e2785610f39565b610e78576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610eb75780518252601f199092019160209182019101610e98565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610f19576040519150601f19603f3d011682016040523d82523d6000602084013e610f1e565b606091505b5091509150610f2e828286610f3f565b979650505050505050565b3b151590565b60608315610f4e575081610d6d565b825115610f5e5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610fa8578181015183820152602001610f90565b50505050905090810190601f168015610fd55780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e545361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220b25ba98056636bd335c06d88052409d31666bcf61ba68f09f529bf08e828797b64736f6c634300060c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c8063396ac32814610051578063964c1f98146100b2578063aac55b39146100d6578063f887ea401461011e575b600080fd5b6100b0600480360361012081101561006857600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e0810135906101000135610126565b005b6100ba6101da565b604080516001600160a01b039092168252519081900360200190f35b6100b0600480360360c08110156100ec57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a001356101e9565b6100ba610299565b60006101328a8a6102a8565b6040805163d505accf60e01b8152336004820152306024820152604481018b90526064810188905260ff8716608482015260a4810186905260c4810185905290519192506001600160a01b0383169163d505accf9160e48082019260009290919082900301818387803b1580156101a857600080fd5b505af11580156101bc573d6000803e3d6000fd5b505050506101ce8a8a8a8a8a8a6101e9565b50505050505050505050565b6000546001600160a01b031681565b42811015610235576040805162461bcd60e51b8152602060048201526014602482015273141bdb1e50da5d1e51195e0e881156141254915160621b604482015290519081900360640190fd5b6000806102468888888888886103de565b915091506000806102598a8a86866105e6565b915091508184111561027b5761027b6001600160a01b038b1633848703610724565b808311156101ce576101ce6001600160a01b038a1633838603610724565b6001546001600160a01b031681565b60008060006102b7858561077b565b9150915060008054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561030757600080fd5b505afa15801561031b573d6000803e3d6000fd5b505050506040513d602081101561033157600080fd5b5051604080516bffffffffffffffffffffffff19606095861b811660208381019190915294861b81166034830152825160288184030181526048830184528051908601206001600160f81b031960688401529390951b9094166069850152607d8401919091527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808501919091528151808503909101815260bd909301905281519101209392505050565b60008060006103ed89896102a8565b604080516323b872dd60e01b81523360048201526001600160a01b03831660248201819052604482018b9052915192935090916323b872dd916064808201926020929091908290030181600087803b15801561044857600080fd5b505af115801561045c573d6000803e3d6000fd5b505050506040513d602081101561047257600080fd5b50506040805163226bf2d160e21b8152306004820152815160009283926001600160a01b038616926389afcb449260248084019391929182900301818787803b1580156104be57600080fd5b505af11580156104d2573d6000803e3d6000fd5b505050506040513d60408110156104e857600080fd5b508051602090910151909250905060006105028c8c61077b565b509050806001600160a01b03168c6001600160a01b031614610525578183610528565b82825b909650945088861015610582576040805162461bcd60e51b815260206004820181905260248201527f5069636869526f6c6c3a20494e53554646494349454e545f415f414d4f554e54604482015290519081900360640190fd5b878510156105d7576040805162461bcd60e51b815260206004820181905260248201527f5069636869526f6c6c3a20494e53554646494349454e545f425f414d4f554e54604482015290519081900360640190fd5b50505050965096945050505050565b6000806105f586868686610859565b6001546040805163c45a015560e01b81529051939550919350600092610679926001600160a01b039092169163c45a0155916004808301926020929190829003018186803b15801561064657600080fd5b505afa15801561065a573d6000803e3d6000fd5b505050506040513d602081101561067057600080fd5b50518888610a76565b905061068f6001600160a01b0388168285610724565b6106a36001600160a01b0387168284610724565b604080516335313c2160e11b815233600482015290516001600160a01b03831691636a6278429160248083019260209291908290030181600087803b1580156106eb57600080fd5b505af11580156106ff573d6000803e3d6000fd5b505050506040513d602081101561071557600080fd5b50929791965090945050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610776908490610b36565b505050565b600080826001600160a01b0316846001600160a01b031614156107cf5760405162461bcd60e51b8152600401808060200182810382526025815260200180610fe46025913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b0316106107ef5782846107f2565b83835b90925090506001600160a01b038216610852576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b9250929050565b6000806000600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108ac57600080fd5b505afa1580156108c0573d6000803e3d6000fd5b505050506040513d60208110156108d657600080fd5b50516040805163e6a4390560e01b81526001600160a01b038a81166004830152898116602483015291519293506000929184169163e6a4390591604480820192602092909190829003018186803b15801561093057600080fd5b505afa158015610944573d6000803e3d6000fd5b505050506040513d602081101561095a57600080fd5b50516001600160a01b031614156109f857806001600160a01b031663c9c6539688886040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b1580156109cb57600080fd5b505af11580156109df573d6000803e3d6000fd5b505050506040513d60208110156109f557600080fd5b50505b600080610a06838a8a610be7565b91509150816000148015610a18575080155b15610a2857869450859350610a6a565b6000610a35888484610cb5565b9050868111610a4957879550935083610a68565b6000610a56888486610cb5565b905088811115610a6257fe5b95508694505b505b50505094509492505050565b6000806000610a85858561077b565b604080516bffffffffffffffffffffffff19606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501206001600160f81b031960688401529a90941b9093166069840152607d8301989098527f5f1a38b4b874e3bf854dc01750bdab8bbdbaf5cd32ab74e3a38733f6df4a1f7e609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b6060610b8b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610d5b9092919063ffffffff16565b80519091501561077657808060200190516020811015610baa57600080fd5b50516107765760405162461bcd60e51b815260040180806020018281038252602a81526020018061107c602a913960400191505060405180910390fd5b6000806000610bf6858561077b565b509050600080610c07888888610a76565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015610c3f57600080fd5b505afa158015610c53573d6000803e3d6000fd5b505050506040513d6060811015610c6957600080fd5b5080516020909101516dffffffffffffffffffffffffffff91821693501690506001600160a01b0387811690841614610ca3578082610ca6565b81815b90999098509650505050505050565b6000808411610cf55760405162461bcd60e51b81526004018080602001828103825260258152602001806110576025913960400191505060405180910390fd5b600083118015610d055750600082115b610d405760405162461bcd60e51b815260040180806020018281038252602881526020018061102f6028913960400191505060405180910390fd5b82610d4b8584610d74565b81610d5257fe5b04949350505050565b6060610d6a8484600085610ddd565b90505b9392505050565b6000811580610d8f57505080820282828281610d8c57fe5b04145b610dd7576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b92915050565b606082471015610e1e5760405162461bcd60e51b81526004018080602001828103825260268152602001806110096026913960400191505060405180910390fd5b610e2785610f39565b610e78576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610eb75780518252601f199092019160209182019101610e98565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610f19576040519150601f19603f3d011682016040523d82523d6000602084013e610f1e565b606091505b5091509150610f2e828286610f3f565b979650505050505050565b3b151590565b60608315610f4e575081610d6d565b825115610f5e5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610fa8578181015183820152602001610f90565b50505050905090810190601f168015610fd55780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e545361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220b25ba98056636bd335c06d88052409d31666bcf61ba68f09f529bf08e828797b64736f6c634300060c0033",
"linkReferences": {},
"deployedLinkReferences": {}
}