[ { "inputs": [ { "internalType": "address", "name": "tokenA", "type": "address" }, { "internalType": "address", "name": "tokenB", "type": "address" }, { "internalType": "uint256", "name": "_reserveA", "type": "uint256" }, { "internalType": "uint256", "name": "_reserveB", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "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": 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": "MINIMUM_LIQUIDITY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": [], "name": "blockTimestampLast", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getReserves", "outputs": [ { "internalType": "uint112", "name": "_reserve0", "type": "uint112" }, { "internalType": "uint112", "name": "_reserve1", "type": "uint112" }, { "internalType": "uint32", "name": "_blockTimestampLast", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" } ], "name": "mint", "outputs": [ { "internalType": "uint256", "name": "liquidity", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount0Out", "type": "uint256" }, { "internalType": "uint256", "name": "amount1Out", "type": "uint256" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "swap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sync", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "token0", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "token1", "outputs": [ { "internalType": "address", "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": "nonpayable", "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": "nonpayable", "type": "function" } ]
60806040523480156200001157600080fd5b50604051620018773803806200187783398101604081905262000034916200025b565b60408051808201825260028082526104c560f41b60208084018290528451808601909552918452908301529060008282600362000072838262000348565b50600462000081828262000348565b5050506200009633826200014760201b60201c565b505050826001600160a01b0316846001600160a01b031603620000b857600080fd5b826001600160a01b0316846001600160a01b031610620000da578284620000dd565b83835b600680546001600160a01b039283166001600160a01b031991821617909155600580549390921692169190911790556200011d6401000000004262000414565b6007601c6101000a81548163ffffffff021916908363ffffffff160217905550505050506200045f565b62000153828262000157565b5050565b6001600160a01b038216620001865760405163ec442f0560e01b81526000600482015260240160405180910390fd5b62000153600083838060026000828254620001a2919062000437565b90915550620001ae9050565b6001600160a01b038216620001cc57600280548290039055620001eb565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200023191815260200190565b60405180910390a3505050565b80516001600160a01b03811681146200025657600080fd5b919050565b600080600080608085870312156200027257600080fd5b6200027d856200023e565b93506200028d602086016200023e565b6040860151606090960151949790965092505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620002ce57607f821691505b602082108103620002ef57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200034357600081815260208120601f850160051c810160208610156200031e5750805b601f850160051c820191505b818110156200033f578281556001016200032a565b5050505b505050565b81516001600160401b03811115620003645762000364620002a3565b6200037c81620003758454620002b9565b84620002f5565b602080601f831160018114620003b457600084156200039b5750858301515b600019600386901b1c1916600185901b1785556200033f565b600085815260208120601f198616915b82811015620003e557888601518255948401946001909101908401620003c4565b5085821015620004045787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000826200043257634e487b7160e01b600052601260045260246000fd5b500690565b808201808211156200045957634e487b7160e01b600052601160045260246000fd5b92915050565b611408806200046f6000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80636a627842116100ad578063ba9a7a5611610071578063ba9a7a561461028c578063c5700a0214610295578063d21220a7146102c1578063dd62ed3e146102d4578063fff6cae91461030d57600080fd5b80636a6278421461022257806370a082311461023557806395d89b411461025e5780639dc29fac14610266578063a9059cbb1461027957600080fd5b80630dfe1681116100f45780630dfe1681146101b057806318160ddd146101db57806323b872dd146101ed578063313ce5671461020057806340c10f191461020f57600080fd5b8063022c0d9f1461012657806306fdde031461013b5780630902f1ac14610159578063095ea7b31461018d575b600080fd5b61013961013436600461113c565b610315565b005b610143610802565b60405161015091906111d0565b60405180910390f35b610161610894565b604080516001600160701b03948516815293909216602084015263ffffffff1690820152606001610150565b6101a061019b36600461121e565b6108ac565b6040519015158152602001610150565b6005546101c3906001600160a01b031681565b6040516001600160a01b039091168152602001610150565b6002545b604051908152602001610150565b6101a06101fb366004611248565b6108c6565b60405160128152602001610150565b61013961021d36600461121e565b6108ea565b6101df610230366004611284565b6108f8565b6101df610243366004611284565b6001600160a01b031660009081526020819052604090205490565b610143610903565b61013961027436600461121e565b610912565b6101a061028736600461121e565b61091c565b6101df6103e881565b6007546102ac90600160e01b900463ffffffff1681565b60405163ffffffff9091168152602001610150565b6006546101c3906001600160a01b031681565b6101df6102e236600461129f565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61013961092a565b60008511806103245750600084115b6103815760405162461bcd60e51b815260206004820152602360248201527f50616e63616b653a20494e53554646494349454e545f4f55545055545f414d4f60448201526215539560ea1b60648201526084015b60405180910390fd5b60008061038c610a22565b5091509150816001600160701b0316871080156103b15750806001600160701b031686105b6103fd5760405162461bcd60e51b815260206004820152601f60248201527f50616e63616b653a20494e53554646494349454e545f4c4951554944495459006044820152606401610378565b60055460065460009182916001600160a01b0391821691908116908916821480159061043b5750806001600160a01b0316896001600160a01b031614155b61047d5760405162461bcd60e51b815260206004820152601360248201527250616e63616b653a20494e56414c49445f544f60681b6044820152606401610378565b8a156104f85760405163a9059cbb60e01b81526001600160a01b038a81166004830152602482018d905283169063a9059cbb906044016020604051808303816000875af11580156104d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f691906112d2565b505b89156105735760405163a9059cbb60e01b81526001600160a01b038a81166004830152602482018c905282169063a9059cbb906044016020604051808303816000875af115801561054d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057191906112d2565b505b6040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa1580156105b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105db91906112f4565b6040516370a0823160e01b81523060048201529094506001600160a01b038216906370a0823190602401602060405180830381865afa158015610622573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064691906112f4565b92505050600089856001600160701b03166106619190611323565b831161066e57600061068b565b6106818a6001600160701b038716611323565b61068b9084611323565b905060006106a28a6001600160701b038716611323565b83116106af5760006106cc565b6106c28a6001600160701b038716611323565b6106cc9084611323565b905060008211806106dd5750600081115b6107345760405162461bcd60e51b815260206004820152602260248201527f50616e63616b653a20494e53554646494349454e545f494e5055545f414d4f55604482015261139560f21b6064820152608401610378565b600061074183601e611336565b61074d86612710611336565b6107579190611323565b9050600061076683601e611336565b61077286612710611336565b61077c9190611323565b90506107946001600160701b03808916908a16611336565b6107a2906305f5e100611336565b6107ac8284611336565b10156107e75760405162461bcd60e51b815260206004820152600a60248201526950616e63616b653a204b60b01b6044820152606401610378565b50506107f584848888610a4c565b5050505050505050505050565b6060600380546108119061134d565b80601f016020809104026020016040519081016040528092919081815260200182805461083d9061134d565b801561088a5780601f1061085f5761010080835404028352916020019161088a565b820191906000526020600020905b81548152906001019060200180831161086d57829003601f168201915b5050505050905090565b60008060006108a1610a22565b925092509250909192565b6000336108ba818585610b0e565b60019150505b92915050565b6000336108d4858285610b20565b6108df858585610b9e565b506001949350505050565b6108f48282610bfd565b5050565b60006108c082610c33565b6060600480546108119061134d565b6108f48282610e68565b6000336108ba818585610b9e565b6005546040516370a0823160e01b8152306004820152610a20916001600160a01b0316906370a0823190602401602060405180830381865afa158015610974573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099891906112f4565b6006546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156109e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0491906112f4565b6007546001600160701b0380821691600160701b900416610a4c565b565b6007546001600160701b0380821692600160701b830490911691600160e01b900463ffffffff1690565b6001600160701b038411801590610a6a57506001600160701b038311155b610aaa5760405162461bcd60e51b815260206004820152601160248201527050616e63616b653a204f564552464c4f5760781b6044820152606401610378565b6000610abb64010000000042611397565b6007805463ffffffff909216600160e01b026001600160e01b036001600160701b03978816600160701b026001600160e01b03199094169790981696909617919091179590951693909317909355505050565b610b1b8383836001610e9e565b505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114610b985781811015610b8957604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610378565b610b9884848484036000610e9e565b50505050565b6001600160a01b038316610bc857604051634b637e8f60e11b815260006004820152602401610378565b6001600160a01b038216610bf25760405163ec442f0560e01b815260006004820152602401610378565b610b1b838383610f73565b6001600160a01b038216610c275760405163ec442f0560e01b815260006004820152602401610378565b6108f460008383610f73565b6000806000610c40610a22565b506005546040516370a0823160e01b81523060048201529294509092506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015610c92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb691906112f4565b6006546040516370a0823160e01b81523060048201529192506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015610d04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2891906112f4565b90506000610d3f6001600160701b03861684611323565b90506000610d566001600160701b03861684611323565b90506000610d6360025490565b905080600003610da0576103e8610d82610d7d8486611336565b61109d565b610d8c9190611323565b9750610d9b60016103e8610bfd565b610de7565b610de46001600160701b038816610db78386611336565b610dc191906113ab565b6001600160701b038816610dd58486611336565b610ddf91906113ab565b61110d565b97505b60008811610e465760405162461bcd60e51b815260206004820152602660248201527f50616e63616b653a20494e53554646494349454e545f4c49515549444954595f60448201526513525395115160d21b6064820152608401610378565b610e508989610bfd565b610e5c85858989610a4c565b50505050505050919050565b6001600160a01b038216610e9257604051634b637e8f60e11b815260006004820152602401610378565b6108f482600083610f73565b6001600160a01b038416610ec85760405163e602df0560e01b815260006004820152602401610378565b6001600160a01b038316610ef257604051634a1406b160e11b815260006004820152602401610378565b6001600160a01b0380851660009081526001602090815260408083209387168352929052208290558015610b9857826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610f6591815260200190565b60405180910390a350505050565b6001600160a01b038316610f9e578060026000828254610f9391906113bf565b909155506110109050565b6001600160a01b03831660009081526020819052604090205481811015610ff15760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610378565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661102c5760028054829003905561104b565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161109091815260200190565b60405180910390a3505050565b600060038211156110fe57508060006110b76002836113ab565b6110c29060016113bf565b90505b818110156110f8579050806002816110dd81866113ab565b6110e791906113bf565b6110f191906113ab565b90506110c5565b50919050565b8115611108575060015b919050565b600081831061111c578161111e565b825b9392505050565b80356001600160a01b038116811461110857600080fd5b60008060008060006080868803121561115457600080fd5b853594506020860135935061116b60408701611125565b9250606086013567ffffffffffffffff8082111561118857600080fd5b818801915088601f83011261119c57600080fd5b8135818111156111ab57600080fd5b8960208285010111156111bd57600080fd5b9699959850939650602001949392505050565b600060208083528351808285015260005b818110156111fd578581018301518582016040015282016111e1565b506000604082860101526040601f19601f8301168501019250505092915050565b6000806040838503121561123157600080fd5b61123a83611125565b946020939093013593505050565b60008060006060848603121561125d57600080fd5b61126684611125565b925061127460208501611125565b9150604084013590509250925092565b60006020828403121561129657600080fd5b61111e82611125565b600080604083850312156112b257600080fd5b6112bb83611125565b91506112c960208401611125565b90509250929050565b6000602082840312156112e457600080fd5b8151801515811461111e57600080fd5b60006020828403121561130657600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156108c0576108c061130d565b80820281158282048414176108c0576108c061130d565b600181811c9082168061136157607f821691505b6020821081036110f857634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b6000826113a6576113a6611381565b500690565b6000826113ba576113ba611381565b500490565b808201808211156108c0576108c061130d56fea26469706673582212209cde2f948c9d72b4fc807a452757216443d9aaeb6830e5586fb7fa5ef70ef4ef64736f6c6343000815003300000000000000000000000053b7765a53630e1ab480a201fba04298ab3c404d000000000000000000000000420000000000000000000000000000000000002300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0xa26469706673582212209cde2f948c9d72b4fc807a452757216443d9aaeb6830e5586fb7fa5ef70ef4ef64736f6c6343000815003300000000000000000000000053b7765a53630e1ab480a201fba04298ab3c404d000000000000000000000000420000000000000000000000000000000000002300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
----Decoded View------------Arg [0] : tokenA (address): 0x2f948C9D72b4FC807a452757216443D9aAEB6830Arg [1] : tokenB (address): 0x6f6C634300081500330000000000000000000000Arg [2] : _reserveA (uint256): 147914516744184941439184634325575410614169136456352530288983116872268382208Arg [3] : _reserveB (uint256): 116611906275373365752497635049032622044613937204622826579773086690680242176
----Encoded View------------Arg [0] : 0x0000000000000000000000002f948c9d72b4fc807a452757216443d9aaeb6830Arg [1] : 0x0000000000000000000000006f6c634300081500330000000000000000000000Arg [2] : 0x0053b7765a53630e1ab480a201fba04298ab3c404d0000000000000000000000Arg [3] : 0x0042000000000000000000000000000000000000230000000000000000000000