[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AllowanceOverflow", "type": "error" }, { "inputs": [], "name": "AllowanceUnderflow", "type": "error" }, { "inputs": [], "name": "InsufficientAllowance", "type": "error" }, { "inputs": [], "name": "InsufficientBalance", "type": "error" }, { "inputs": [], "name": "InvalidPermit", "type": "error" }, { "inputs": [], "name": "PermitExpired", "type": "error" }, { "inputs": [], "name": "TotalSupplyOverflow", "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": "amount", "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": "amount", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "result", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "FRIENDTECH", "outputs": [ { "internalType": "contract IFriendtechSharesV1", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MULTIPLIER", "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": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "uint256", "name": "shares", "type": "uint256" } ], "name": "burn", "outputs": [ { "internalType": "uint256", "name": "proceeds", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "difference", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "factory", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "difference", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_target", "type": "address" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "shares", "type": "uint256" } ], "name": "mint", "outputs": [ { "internalType": "uint256", "name": "refund", "type": "uint256" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "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": "permit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "__name", "type": "string" }, { "internalType": "string", "name": "__symbol", "type": "string" } ], "name": "setNameAndSymbol", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "target", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "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": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60e0604052600d60a09081526c15dc985c1c1959119c9a595b99609a1b60c0526001906200002e908262000114565b50604080518082019091526002808252612ba360f11b60208301529062000056908262000114565b503480156200006457600080fd5b5033608052620001e0565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200009a57607f821691505b602082108103620000bb57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200010f57600081815260208120601f850160051c81016020861015620000ea5750805b601f850160051c820191505b818110156200010b57828155600101620000f6565b5050505b505050565b81516001600160401b038111156200013057620001306200006f565b620001488162000141845462000085565b84620000c1565b602080601f831160018114620001805760008415620001675750858301515b600019600386901b1c1916600185901b1785556200010b565b600085815260208120601f198616915b82811015620001b15788860151825594840194600190910190840162000190565b5085821015620001d05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6080516112286200020a6000396000818161036f0152818161073c0152610b1d01526112286000f3fe6080604052600436106101395760003560e01c806395d89b41116100ab578063c45a01551161006f578063c45a01551461035d578063c4d66de8146103a9578063d4b83992146103c9578063d505accf146103e9578063dd62ed3e14610409578063febf6e761461043f57600080fd5b806395d89b41146102d55780639dc29fac146102ea578063a0712d681461030a578063a457c2d71461031d578063a9059cbb1461033d57600080fd5b8063313ce567116100fd578063313ce567146101fc5780633644e51514610218578063395093511461022d5780635a4462151461024d57806370a082311461026f5780637ecebe00146102a257600080fd5b8063059f8b161461014557806306fdde031461016d578063095ea7b31461018f57806318160ddd146101bf57806323b872dd146101dc57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015a606481565b6040519081526020015b60405180910390f35b34801561017957600080fd5b50610182610467565b6040516101649190610d6a565b34801561019b57600080fd5b506101af6101aa366004610dd4565b6104f9565b6040519015158152602001610164565b3480156101cb57600080fd5b506805345cdf77eb68f44c5461015a565b3480156101e857600080fd5b506101af6101f7366004610dfe565b61053b565b34801561020857600080fd5b5060405160128152602001610164565b34801561022457600080fd5b5061015a6105e7565b34801561023957600080fd5b506101af610248366004610dd4565b61065d565b34801561025957600080fd5b5061026d610268366004610edd565b6106bd565b005b34801561027b57600080fd5b5061015a61028a366004610f41565b6387a211a2600c908152600091909152602090205490565b3480156102ae57600080fd5b5061015a6102bd366004610f41565b6338377508600c908152600091909152602090205490565b3480156102e157600080fd5b5061018261070e565b3480156102f657600080fd5b5061015a610305366004610dd4565b61071d565b61015a610318366004610f63565b610869565b34801561032957600080fd5b506101af610338366004610dd4565b610a48565b34801561034957600080fd5b506101af610358366004610dd4565b610aa9565b34801561036957600080fd5b506103917f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610164565b3480156103b557600080fd5b5061026d6103c4366004610f41565b610b12565b3480156103d557600080fd5b50600054610391906001600160a01b031681565b3480156103f557600080fd5b5061026d610404366004610f7c565b610b7c565b34801561041557600080fd5b5061015a610424366004610fef565b602052637f5e9f20600c908152600091909152603490205490565b34801561044b57600080fd5b5061039173cf205808ed36593aa40a44f10c7f7c2f67d4a4d481565b60606001805461047690611022565b80601f01602080910402602001604051908101604052809291908181526020018280546104a290611022565b80156104ef5780601f106104c4576101008083540402835291602001916104ef565b820191906000526020600020905b8154815290600101906020018083116104d257829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c336000805160206111fc83398151915260206000a35060015b92915050565b60008360601b33602052637f5e9f208117600c526034600c208054600019811461057b5780851115610575576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156105a45763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c6000805160206111dc833981519152602080a3505060019392505050565b60405160006105f4610467565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600082602052637f5e9f20600c52336000526034600c2080548381018181101561068f5763f90670666000526004601cfd5b80835580600052505050602c5160601c336000805160206111fc83398151915260206000a350600192915050565b6000546001600160a01b031633146106f05760405162461bcd60e51b81526004016106e790611056565b60405180910390fd5b60016106fc83826110c2565b50600261070982826110c2565b505050565b60606002805461047690611022565b60006001600160a01b03831633148061075e5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61077a5760405162461bcd60e51b81526004016106e790611056565b6107a083610789606485611198565b61079b90670de0b6b3a7640000611198565b610c98565b600054604051632d47414d60e21b81526001600160a01b0390911660048201526024810183905273cf205808ed36593aa40a44f10c7f7c2f67d4a4d49063b51d053490604401600060405180830381600087803b15801561080057600080fd5b505af1158015610814573d6000803e3d6000fd5b5050604051479350339250479150600081818185875af1925050503d806000811461085b576040519150601f19603f3d011682016040523d82523d6000602084013e610860565b606091505b50505092915050565b60008054604051630f026f6d60e01b81526001600160a01b03909116600482015260248101839052819073cf205808ed36593aa40a44f10c7f7c2f67d4a4d490630f026f6d90604401602060405180830381865afa1580156108cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f391906111af565b9050803410156109455760405162461bcd60e51b815260206004820152601d60248201527f57726170706564467269656e643a206e6f7420656e6f7567682065746800000060448201526064016106e7565b600054604051636945b12360e01b81526001600160a01b0390911660048201526024810184905273cf205808ed36593aa40a44f10c7f7c2f67d4a4d490636945b1239083906044016000604051808303818588803b1580156109a657600080fd5b505af11580156109ba573d6000803e3d6000fd5b50505050506109e7336064856109d09190611198565b6109e290670de0b6b3a7640000611198565b610cfd565b6109f181346111c8565b91508115610a425760405133908390600081818185875af1925050503d8060008114610a39576040519150601f19603f3d011682016040523d82523d6000602084013e610a3e565b606091505b5050505b50919050565b600082602052637f5e9f20600c52336000526034600c20805483811015610a7757638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c336000805160206111fc83398151915260206000a350600192915050565b60006387a211a2600c52336000526020600c20805480841115610ad45763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c336000805160206111dc833981519152602080a350600192915050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b5a5760405162461bcd60e51b81526004016106e790611056565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610b866105e7565b905060405185421115610ba157631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d5114610c595763ddafbaef6000526004601cfd5b6303faf4f960a51b88176040526034602c2087905587896000805160206111fc833981519152602060608501a360405250506000606052505050505050565b6387a211a2600c52816000526020600c20805480831115610cc15763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c8054829003905560008181526001600160a01b0383166000805160206111dc833981519152602083a35050565b6805345cdf77eb68f44c5481810181811015610d215763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60006000805160206111dc833981519152602080a35050565b600060208083528351808285015260005b81811015610d9757858101830151858201604001528201610d7b565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610dcf57600080fd5b919050565b60008060408385031215610de757600080fd5b610df083610db8565b946020939093013593505050565b600080600060608486031215610e1357600080fd5b610e1c84610db8565b9250610e2a60208501610db8565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610e6157600080fd5b813567ffffffffffffffff80821115610e7c57610e7c610e3a565b604051601f8301601f19908116603f01168101908282118183101715610ea457610ea4610e3a565b81604052838152866020858801011115610ebd57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215610ef057600080fd5b823567ffffffffffffffff80821115610f0857600080fd5b610f1486838701610e50565b93506020850135915080821115610f2a57600080fd5b50610f3785828601610e50565b9150509250929050565b600060208284031215610f5357600080fd5b610f5c82610db8565b9392505050565b600060208284031215610f7557600080fd5b5035919050565b600080600080600080600060e0888a031215610f9757600080fd5b610fa088610db8565b9650610fae60208901610db8565b95506040880135945060608801359350608088013560ff81168114610fd257600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561100257600080fd5b61100b83610db8565b915061101960208401610db8565b90509250929050565b600181811c9082168061103657607f821691505b602082108103610a4257634e487b7160e01b600052602260045260246000fd5b6020808252600490820152630c2eae8d60e31b604082015260600190565b601f82111561070957600081815260208120601f850160051c8101602086101561109b5750805b601f850160051c820191505b818110156110ba578281556001016110a7565b505050505050565b815167ffffffffffffffff8111156110dc576110dc610e3a565b6110f0816110ea8454611022565b84611074565b602080601f831160018114611125576000841561110d5750858301515b600019600386901b1c1916600185901b1785556110ba565b600085815260208120601f198616915b8281101561115457888601518255948401946001909101908401611135565b50858210156111725787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761053557610535611182565b6000602082840312156111c157600080fd5b5051919050565b818103818111156105355761053561118256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a164736f6c6343000815000a