@luckyfinance/core
Version:
Core contracts for the LuckySwap protocol
145 lines (144 loc) • 20.7 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "Ingot",
"sourceName": "contracts/Ingot.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": "0x608060405234801561001057600080fd5b506040516111533803806111538339818101604052604081101561003357600080fd5b508051602090910151600080546001600160a01b039384166001600160a01b031991821617909155600180549390921692169190911790556110d98061007a6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063396ac32814610051578063964c1f98146100b2578063aac55b39146100d6578063f887ea401461011e575b600080fd5b6100b0600480360361012081101561006857600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e0810135906101000135610126565b005b6100ba6101da565b604080516001600160a01b039092168252519081900360200190f35b6100b0600480360360c08110156100ec57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a001356101e9565b6100ba610297565b60006101328a8a6102a6565b6040805163d505accf60e01b8152336004820152306024820152604481018b90526064810188905260ff8716608482015260a4810186905260c4810185905290519192506001600160a01b0383169163d505accf9160e48082019260009290919082900301818387803b1580156101a857600080fd5b505af11580156101bc573d6000803e3d6000fd5b505050506101ce8a8a8a8a8a8a6101e9565b50505050505050505050565b6000546001600160a01b031681565b42811015610233576040805162461bcd60e51b8152602060048201526012602482015271131d58dade54ddd85c0e881156141254915160721b604482015290519081900360640190fd5b6000806102448888888888886103dc565b915091506000806102578a8a86866105e4565b9150915081841115610279576102796001600160a01b038b1633848703610722565b808311156101ce576101ce6001600160a01b038a1633838603610722565b6001546001600160a01b031681565b60008060006102b58585610779565b9150915060008054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561030557600080fd5b505afa158015610319573d6000803e3d6000fd5b505050506040513d602081101561032f57600080fd5b5051604080516bffffffffffffffffffffffff19606095861b811660208381019190915294861b81166034830152825160288184030181526048830184528051908601206001600160f81b031960688401529390951b9094166069850152607d8401919091527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808501919091528151808503909101815260bd909301905281519101209392505050565b60008060006103eb89896102a6565b604080516323b872dd60e01b81523360048201526001600160a01b03831660248201819052604482018b9052915192935090916323b872dd916064808201926020929091908290030181600087803b15801561044657600080fd5b505af115801561045a573d6000803e3d6000fd5b505050506040513d602081101561047057600080fd5b50506040805163226bf2d160e21b8152306004820152815160009283926001600160a01b038616926389afcb449260248084019391929182900301818787803b1580156104bc57600080fd5b505af11580156104d0573d6000803e3d6000fd5b505050506040513d60408110156104e657600080fd5b508051602090910151909250905060006105008c8c610779565b509050806001600160a01b03168c6001600160a01b031614610523578183610526565b82825b909650945088861015610580576040805162461bcd60e51b815260206004820152601c60248201527f496e676f743a20494e53554646494349454e545f415f414d4f554e5400000000604482015290519081900360640190fd5b878510156105d5576040805162461bcd60e51b815260206004820152601c60248201527f496e676f743a20494e53554646494349454e545f425f414d4f554e5400000000604482015290519081900360640190fd5b50505050965096945050505050565b6000806105f386868686610857565b6001546040805163c45a015560e01b81529051939550919350600092610677926001600160a01b039092169163c45a0155916004808301926020929190829003018186803b15801561064457600080fd5b505afa158015610658573d6000803e3d6000fd5b505050506040513d602081101561066e57600080fd5b50518888610a74565b905061068d6001600160a01b0388168285610722565b6106a16001600160a01b0387168284610722565b604080516335313c2160e11b815233600482015290516001600160a01b03831691636a6278429160248083019260209291908290030181600087803b1580156106e957600080fd5b505af11580156106fd573d6000803e3d6000fd5b505050506040513d602081101561071357600080fd5b50929791965090945050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610774908490610b34565b505050565b600080826001600160a01b0316846001600160a01b031614156107cd5760405162461bcd60e51b8152600401808060200182810382526025815260200180610fe26025913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b0316106107ed5782846107f0565b83835b90925090506001600160a01b038216610850576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b9250929050565b6000806000600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108aa57600080fd5b505afa1580156108be573d6000803e3d6000fd5b505050506040513d60208110156108d457600080fd5b50516040805163e6a4390560e01b81526001600160a01b038a81166004830152898116602483015291519293506000929184169163e6a4390591604480820192602092909190829003018186803b15801561092e57600080fd5b505afa158015610942573d6000803e3d6000fd5b505050506040513d602081101561095857600080fd5b50516001600160a01b031614156109f657806001600160a01b031663c9c6539688886040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b1580156109c957600080fd5b505af11580156109dd573d6000803e3d6000fd5b505050506040513d60208110156109f357600080fd5b50505b600080610a04838a8a610be5565b91509150816000148015610a16575080155b15610a2657869450859350610a68565b6000610a33888484610cb3565b9050868111610a4757879550935083610a66565b6000610a54888486610cb3565b905088811115610a6057fe5b95508694505b505b50505094509492505050565b6000806000610a838585610779565b604080516bffffffffffffffffffffffff19606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501206001600160f81b031960688401529a90941b9093166069840152607d8301989098527fe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b6060610b89826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610d599092919063ffffffff16565b80519091501561077457808060200190516020811015610ba857600080fd5b50516107745760405162461bcd60e51b815260040180806020018281038252602a81526020018061107a602a913960400191505060405180910390fd5b6000806000610bf48585610779565b509050600080610c05888888610a74565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015610c3d57600080fd5b505afa158015610c51573d6000803e3d6000fd5b505050506040513d6060811015610c6757600080fd5b5080516020909101516dffffffffffffffffffffffffffff91821693501690506001600160a01b0387811690841614610ca1578082610ca4565b81815b90999098509650505050505050565b6000808411610cf35760405162461bcd60e51b81526004018080602001828103825260258152602001806110556025913960400191505060405180910390fd5b600083118015610d035750600082115b610d3e5760405162461bcd60e51b815260040180806020018281038252602881526020018061102d6028913960400191505060405180910390fd5b82610d498584610d72565b81610d5057fe5b04949350505050565b6060610d688484600085610ddb565b90505b9392505050565b6000811580610d8d57505080820282828281610d8a57fe5b04145b610dd5576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b92915050565b606082471015610e1c5760405162461bcd60e51b81526004018080602001828103825260268152602001806110076026913960400191505060405180910390fd5b610e2585610f37565b610e76576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610eb55780518252601f199092019160209182019101610e96565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610f17576040519150601f19603f3d011682016040523d82523d6000602084013e610f1c565b606091505b5091509150610f2c828286610f3d565b979650505050505050565b3b151590565b60608315610f4c575081610d6b565b825115610f5c5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610fa6578181015183820152602001610f8e565b50505050905090810190601f168015610fd35780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e545361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220649e1a50ec068127ea0c44a02e91e8b1167de1e2d32fa83daa8b3fc7136ab74564736f6c634300060c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c8063396ac32814610051578063964c1f98146100b2578063aac55b39146100d6578063f887ea401461011e575b600080fd5b6100b0600480360361012081101561006857600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e0810135906101000135610126565b005b6100ba6101da565b604080516001600160a01b039092168252519081900360200190f35b6100b0600480360360c08110156100ec57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a001356101e9565b6100ba610297565b60006101328a8a6102a6565b6040805163d505accf60e01b8152336004820152306024820152604481018b90526064810188905260ff8716608482015260a4810186905260c4810185905290519192506001600160a01b0383169163d505accf9160e48082019260009290919082900301818387803b1580156101a857600080fd5b505af11580156101bc573d6000803e3d6000fd5b505050506101ce8a8a8a8a8a8a6101e9565b50505050505050505050565b6000546001600160a01b031681565b42811015610233576040805162461bcd60e51b8152602060048201526012602482015271131d58dade54ddd85c0e881156141254915160721b604482015290519081900360640190fd5b6000806102448888888888886103dc565b915091506000806102578a8a86866105e4565b9150915081841115610279576102796001600160a01b038b1633848703610722565b808311156101ce576101ce6001600160a01b038a1633838603610722565b6001546001600160a01b031681565b60008060006102b58585610779565b9150915060008054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561030557600080fd5b505afa158015610319573d6000803e3d6000fd5b505050506040513d602081101561032f57600080fd5b5051604080516bffffffffffffffffffffffff19606095861b811660208381019190915294861b81166034830152825160288184030181526048830184528051908601206001600160f81b031960688401529390951b9094166069850152607d8401919091527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808501919091528151808503909101815260bd909301905281519101209392505050565b60008060006103eb89896102a6565b604080516323b872dd60e01b81523360048201526001600160a01b03831660248201819052604482018b9052915192935090916323b872dd916064808201926020929091908290030181600087803b15801561044657600080fd5b505af115801561045a573d6000803e3d6000fd5b505050506040513d602081101561047057600080fd5b50506040805163226bf2d160e21b8152306004820152815160009283926001600160a01b038616926389afcb449260248084019391929182900301818787803b1580156104bc57600080fd5b505af11580156104d0573d6000803e3d6000fd5b505050506040513d60408110156104e657600080fd5b508051602090910151909250905060006105008c8c610779565b509050806001600160a01b03168c6001600160a01b031614610523578183610526565b82825b909650945088861015610580576040805162461bcd60e51b815260206004820152601c60248201527f496e676f743a20494e53554646494349454e545f415f414d4f554e5400000000604482015290519081900360640190fd5b878510156105d5576040805162461bcd60e51b815260206004820152601c60248201527f496e676f743a20494e53554646494349454e545f425f414d4f554e5400000000604482015290519081900360640190fd5b50505050965096945050505050565b6000806105f386868686610857565b6001546040805163c45a015560e01b81529051939550919350600092610677926001600160a01b039092169163c45a0155916004808301926020929190829003018186803b15801561064457600080fd5b505afa158015610658573d6000803e3d6000fd5b505050506040513d602081101561066e57600080fd5b50518888610a74565b905061068d6001600160a01b0388168285610722565b6106a16001600160a01b0387168284610722565b604080516335313c2160e11b815233600482015290516001600160a01b03831691636a6278429160248083019260209291908290030181600087803b1580156106e957600080fd5b505af11580156106fd573d6000803e3d6000fd5b505050506040513d602081101561071357600080fd5b50929791965090945050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610774908490610b34565b505050565b600080826001600160a01b0316846001600160a01b031614156107cd5760405162461bcd60e51b8152600401808060200182810382526025815260200180610fe26025913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b0316106107ed5782846107f0565b83835b90925090506001600160a01b038216610850576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b9250929050565b6000806000600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108aa57600080fd5b505afa1580156108be573d6000803e3d6000fd5b505050506040513d60208110156108d457600080fd5b50516040805163e6a4390560e01b81526001600160a01b038a81166004830152898116602483015291519293506000929184169163e6a4390591604480820192602092909190829003018186803b15801561092e57600080fd5b505afa158015610942573d6000803e3d6000fd5b505050506040513d602081101561095857600080fd5b50516001600160a01b031614156109f657806001600160a01b031663c9c6539688886040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b1580156109c957600080fd5b505af11580156109dd573d6000803e3d6000fd5b505050506040513d60208110156109f357600080fd5b50505b600080610a04838a8a610be5565b91509150816000148015610a16575080155b15610a2657869450859350610a68565b6000610a33888484610cb3565b9050868111610a4757879550935083610a66565b6000610a54888486610cb3565b905088811115610a6057fe5b95508694505b505b50505094509492505050565b6000806000610a838585610779565b604080516bffffffffffffffffffffffff19606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501206001600160f81b031960688401529a90941b9093166069840152607d8301989098527fe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b6060610b89826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610d599092919063ffffffff16565b80519091501561077457808060200190516020811015610ba857600080fd5b50516107745760405162461bcd60e51b815260040180806020018281038252602a81526020018061107a602a913960400191505060405180910390fd5b6000806000610bf48585610779565b509050600080610c05888888610a74565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015610c3d57600080fd5b505afa158015610c51573d6000803e3d6000fd5b505050506040513d6060811015610c6757600080fd5b5080516020909101516dffffffffffffffffffffffffffff91821693501690506001600160a01b0387811690841614610ca1578082610ca4565b81815b90999098509650505050505050565b6000808411610cf35760405162461bcd60e51b81526004018080602001828103825260258152602001806110556025913960400191505060405180910390fd5b600083118015610d035750600082115b610d3e5760405162461bcd60e51b815260040180806020018281038252602881526020018061102d6028913960400191505060405180910390fd5b82610d498584610d72565b81610d5057fe5b04949350505050565b6060610d688484600085610ddb565b90505b9392505050565b6000811580610d8d57505080820282828281610d8a57fe5b04145b610dd5576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b92915050565b606082471015610e1c5760405162461bcd60e51b81526004018080602001828103825260268152602001806110076026913960400191505060405180910390fd5b610e2585610f37565b610e76576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610eb55780518252601f199092019160209182019101610e96565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610f17576040519150601f19603f3d011682016040523d82523d6000602084013e610f1c565b606091505b5091509150610f2c828286610f3d565b979650505050505050565b3b151590565b60608315610f4c575081610d6b565b825115610f5c5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610fa6578181015183820152602001610f8e565b50505050905090810190601f168015610fd35780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e545361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220649e1a50ec068127ea0c44a02e91e8b1167de1e2d32fa83daa8b3fc7136ab74564736f6c634300060c0033",
"linkReferences": {},
"deployedLinkReferences": {}
}