erc20-transfer-authorization

Simple approval escrow for ERC20 spending
Info | Log | Files | Refs

GiftableToken.bin (10672B)


      1 60806040523480156200001157600080fd5b50604051620014d8380380620014d883398181016040528101906200003791906200025d565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600290805190602001906200008f92919062000124565b508160039080519060200190620000a892919062000124565b5080600460006101000a81548160ff021916908360ff16021790555060018060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050506200043d565b82805462000132906200038f565b90600052602060002090601f016020900481019282620001565760008555620001a2565b82601f106200017157805160ff1916838001178555620001a2565b82800160010185558215620001a2579182015b82811115620001a157825182559160200191906001019062000184565b5b509050620001b19190620001b5565b5090565b5b80821115620001d0576000816000905550600101620001b6565b5090565b6000620001eb620001e58462000319565b620002e5565b9050828152602081018484840111156200020457600080fd5b6200021184828562000359565b509392505050565b600082601f8301126200022b57600080fd5b81516200023d848260208601620001d4565b91505092915050565b600081519050620002578162000423565b92915050565b6000806000606084860312156200027357600080fd5b600084015167ffffffffffffffff8111156200028e57600080fd5b6200029c8682870162000219565b935050602084015167ffffffffffffffff811115620002ba57600080fd5b620002c88682870162000219565b9250506040620002db8682870162000246565b9150509250925092565b6000604051905081810181811067ffffffffffffffff821117156200030f576200030e620003f4565b5b8060405250919050565b600067ffffffffffffffff821115620003375762000336620003f4565b5b601f19601f8301169050602081019050919050565b600060ff82169050919050565b60005b83811015620003795780820151818401526020810190506200035c565b8381111562000389576000848401525b50505050565b60006002820490506001821680620003a857607f821691505b60208210811415620003bf57620003be620003c5565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200042e816200034c565b81146200043a57600080fd5b50565b61108b806200044d6000396000f3fe608060405234801561001057600080fd5b50600436106100d1576000357c01000000000000000000000000000000000000000000000000000000009004806370a082311161008e57806370a08231146101c057806395d89b41146101f0578063983b2d561461020e578063a0712d681461023e578063a9059cbb1461026e578063dd62ed3e1461029e576100d1565b806306fdde03146100d6578063095ea7b3146100f457806318160ddd1461012457806323b872dd146101425780633092afd514610172578063313ce567146101a2575b600080fd5b6100de6102ce565b6040516100eb9190610e00565b60405180910390f35b61010e60048036038101906101099190610d1a565b61035c565b60405161011b9190610de5565b60405180910390f35b61012c610460565b6040516101399190610e22565b60405180910390f35b61015c60048036038101906101579190610ccb565b610466565b6040516101699190610de5565b60405180910390f35b61018c60048036038101906101879190610c66565b610778565b6040516101999190610de5565b60405180910390f35b6101aa61086a565b6040516101b79190610e3d565b60405180910390f35b6101da60048036038101906101d59190610c66565b61087d565b6040516101e79190610e22565b60405180910390f35b6101f8610895565b6040516102059190610e00565b60405180910390f35b61022860048036038101906102239190610c66565b610923565b6040516102359190610de5565b60405180910390f35b61025860048036038101906102539190610d56565b6109de565b6040516102659190610de5565b60405180910390f35b61028860048036038101906102839190610d1a565b610aae565b6040516102959190610de5565b60405180910390f35b6102b860048036038101906102b39190610c8f565b610c17565b6040516102c59190610e22565b60405180910390f35b600280546102db90610f86565b80601f016020809104026020016040519081016040528092919081815260200182805461030790610f86565b80156103545780601f1061032957610100808354040283529160200191610354565b820191906000526020600020905b81548152906001019060200180831161033757829003601f168201915b505050505081565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546103ea9190610e74565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161044e9190610e22565b60405180910390a36001905092915050565b60055481565b600081600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156104f157600080fd5b81600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561053d57600080fd5b81600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105c59190610eca565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106949190610eca565b9250508190555081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106ea9190610e74565b925050819055503373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f5f7542858008eeb041631f30e6109ae94b83a58e9a58261dd2c42c508850f939856040516107659190610e22565b60405180910390a4600190509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061080057508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61080957600080fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b600460009054906101000a900460ff1681565b60066020528060005260406000206000915090505481565b600380546108a290610f86565b80601f01602080910402602001604051908101604052809291908181526020018280546108ce90610f86565b801561091b5780601f106108f05761010080835404028352916020019161091b565b820191906000526020600020905b8154815290600101906020018083116108fe57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461097e57600080fd5b60018060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610a3657600080fd5b81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a859190610e74565b925050819055508160056000828254610a9e9190610e74565b9250508190555060019050919050565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610afc57600080fd5b81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b4b9190610eca565b9250508190555081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ba19190610e74565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c059190610e22565b60405180910390a36001905092915050565b6007602052816000526040600020602052806000526040600020600091509150505481565b600081359050610c4b81611027565b92915050565b600081359050610c608161103e565b92915050565b600060208284031215610c7857600080fd5b6000610c8684828501610c3c565b91505092915050565b60008060408385031215610ca257600080fd5b6000610cb085828601610c3c565b9250506020610cc185828601610c3c565b9150509250929050565b600080600060608486031215610ce057600080fd5b6000610cee86828701610c3c565b9350506020610cff86828701610c3c565b9250506040610d1086828701610c51565b9150509250925092565b60008060408385031215610d2d57600080fd5b6000610d3b85828601610c3c565b9250506020610d4c85828601610c51565b9150509250929050565b600060208284031215610d6857600080fd5b6000610d7684828501610c51565b91505092915050565b610d8881610f10565b82525050565b6000610d9982610e58565b610da38185610e63565b9350610db3818560208601610f53565b610dbc81611016565b840191505092915050565b610dd081610f3c565b82525050565b610ddf81610f46565b82525050565b6000602082019050610dfa6000830184610d7f565b92915050565b60006020820190508181036000830152610e1a8184610d8e565b905092915050565b6000602082019050610e376000830184610dc7565b92915050565b6000602082019050610e526000830184610dd6565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610e7f82610f3c565b9150610e8a83610f3c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610ebf57610ebe610fb8565b5b828201905092915050565b6000610ed582610f3c565b9150610ee083610f3c565b925082821015610ef357610ef2610fb8565b5b828203905092915050565b6000610f0982610f1c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015610f71578082015181840152602081019050610f56565b83811115610f80576000848401525b50505050565b60006002820490506001821680610f9e57607f821691505b60208210811415610fb257610fb1610fe7565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b61103081610efe565b811461103b57600080fd5b50565b61104781610f3c565b811461105257600080fd5b5056fea2646970667358221220aa98bfe5caceca50ca9e4451ff4bd48deb23fefba3bba4226d2b922d94c342a964736f6c63430008000033