erc20-transfer-authorization

Simple approval escrow for ERC20 spending
Log | Files | Refs

commit 52c58d77ca722c8d8594af43746778e955c094ea
parent c957cc597b2a6e652d69403a28533d40ee54e1b4
Author: nolash <dev@holbrook.no>
Date:   Wed,  3 Mar 2021 00:40:57 +0100

Add create request cli tool

Diffstat:
Mpython/erc20_transfer_authorization/data/ERC20TransferAuthorization.bin | 4++--
Mpython/erc20_transfer_authorization/runnable/deploy.py | 2+-
Apython/erc20_transfer_authorization/runnable/request.py | 92+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpython/requirements.txt | 1+
Mpython/setup.cfg | 6+++---
Msolidity/Makefile | 4++--
6 files changed, 101 insertions(+), 8 deletions(-)

diff --git a/python/erc20_transfer_authorization/data/ERC20TransferAuthorization.bin b/python/erc20_transfer_authorization/data/ERC20TransferAuthorization.bin @@ -1 +1 @@ -60806040523480156200001157600080fd5b5033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600681905550600160078190555062000074336200009060201b60201c565b5062000089600160006200027060201b60201c565b506200050b565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161462000125576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200011c90620003be565b60405180910390fd5b60001515600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514620001bb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001b290620003e0565b60405180910390fd5b6001600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600b600081548092919062000228906200048e565b91905055507f47d1c22a25bb3a5d4e481b9b1e6944c2eade3181a0a20b495ed61d35b5323f24826040516200025e9190620003a1565b60405180910390a1600b549050919050565b6000600b548311156200028257600080fd5b600083116200029057600080fd5b600b54821115620002a057600080fd5b8260098190555081600a819055507f9f40cfd22fe91777c78f252bd21a710f3fb007dc2f321876891e7644ba0ae175600954600a54600b54604051620002e99392919062000402565b60405180910390a16001905092915050565b620003068162000450565b82525050565b60006200031b600a836200043f565b91507f4552525f414343455353000000000000000000000000000000000000000000006000830152602082019050919050565b60006200035d600c836200043f565b91507f4552525f4e4f54464f554e4400000000000000000000000000000000000000006000830152602082019050919050565b6200039b8162000484565b82525050565b6000602082019050620003b86000830184620002fb565b92915050565b60006020820190508181036000830152620003d9816200030c565b9050919050565b60006020820190508181036000830152620003fb816200034e565b9050919050565b600060608201905062000419600083018662000390565b62000428602083018562000390565b62000437604083018462000390565b949350505050565b600082825260208201905092915050565b60006200045d8262000464565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006200049b8262000484565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415620004d157620004d0620004dc565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b61232e806200051b6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c8063736c0d5b116100b8578063bac911ac1161007c578063bac911ac146103d1578063e3064a7714610401578063e9f9d28b14610431578063eb12d61e14610461578063ed71262a14610491578063fba00cbd146104c157610142565b8063736c0d5b146102fd578063755fd58f1461032d5780637ca548c61461035d57806381d12c581461037b5780638da5cb5b146103b357610142565b80633a9ddc801161010a5780633a9ddc80146102015780634797569a1461023157806357ec347a1461026157806358d71f821461027f578063614f427f146102af5780636e417c69146102cd57610142565b806302d947ef1461014757806306661abd1461017757806308ae6377146101955780630e316ab7146101b35780631703a018146101e3575b600080fd5b610161600480360381019061015c9190611bb3565b6104f1565b60405161016e9190611ec6565b60405180910390f35b61017f610520565b60405161018c9190611eab565b60405180910390f35b61019d610526565b6040516101aa9190611fa1565b60405180910390f35b6101cd60048036038101906101c89190611ac2565b610551565b6040516101da9190611fa1565b60405180910390f35b6101eb6107b2565b6040516101f89190611fa1565b60405180910390f35b61021b60048036038101906102169190611b4e565b6107b8565b6040516102289190611fa1565b60405180910390f35b61024b60048036038101906102469190611b8a565b6107e9565b6040516102589190611fa1565b60405180910390f35b610269610a8d565b6040516102769190611fa1565b60405180910390f35b61029960048036038101906102949190611b8a565b610aa3565b6040516102a69190611fa1565b60405180910390f35b6102b7610d28565b6040516102c49190611fa1565b60405180910390f35b6102e760048036038101906102e29190611b8a565b610d2e565b6040516102f49190611e90565b60405180910390f35b61031760048036038101906103129190611ac2565b61112d565b6040516103249190611e90565b60405180910390f35b61034760048036038101906103429190611b4e565b61114d565b6040516103549190611fa1565b60405180910390f35b61036561117e565b6040516103729190611fa1565b60405180910390f35b61039560048036038101906103909190611b8a565b611184565b6040516103aa99989796959493929190611fbc565b60405180910390f35b6103bb61123f565b6040516103c89190611e3e565b60405180910390f35b6103eb60048036038101906103e69190611b8a565b611265565b6040516103f89190611fa1565b60405180910390f35b61041b60048036038101906104169190611bef565b6112f4565b6040516104289190611e90565b60405180910390f35b61044b60048036038101906104469190611b8a565b61137a565b6040516104589190611e90565b60405180910390f35b61047b60048036038101906104769190611ac2565b6115b3565b6040516104889190611fa1565b60405180910390f35b6104ab60048036038101906104a69190611aeb565b611789565b6040516104b89190611fa1565b60405180910390f35b6104db60048036038101906104d69190611bef565b6119d3565b6040516104e89190611e3e565b60405180910390f35b60006020528160005260406000206020528060005260406000206000915091509054906101000a900460000b81565b60085481565b60008060075460065461053991906120d0565b1415610548576000905061054e565b60075490505b90565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806105da57508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610619576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061090611f01565b60405180910390fd5b60011515600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146106ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a390611f21565b60405180910390fd5b600954600b541180156106c25750600a54600b54115b610701576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f890611ee1565b60405180910390fd5b6000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600b600081548092919061076c906121df565b91905055507f3525e22824a8a7df2c9a6029941c824cf95b6447f1e13d5128fd3826d35afe8b826040516107a09190611e3e565b60405180910390a1600b549050919050565b60095481565b600560205281600052604060002081815481106107d457600080fd5b90600052602060002001600091509150505481565b6000600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086e90611f01565b60405180910390fd5b600080600084815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460000b60000b14610919576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091090611f41565b60405180910390fd5b600060036000848152602001908152602001600020905060018160080160009054906101000a900460000b60000b1461095157600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000808360000154815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360000b60ff1602179055506001600082600001548152602001908152602001600020339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806006016000815480929190610a6d90612252565b9190505550610a7f816000015461137a565b508060060154915050919050565b60006001600654610a9e91906120d0565b905090565b6000600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610b31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2890611f01565b60405180910390fd5b600080600084815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460000b60000b14610bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bca90611f41565b60405180910390fd5b600060036000848152602001908152602001600020905060018160080160009054906101000a900460000b60000b14610c0b57600080fd5b60016000808360000154815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360000b60ff1602179055506001600082600001548152602001908152602001600020339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806005016000815480929190610d0890612252565b9190505550610d1a816000015461137a565b508060050154915050919050565b600a5481565b6000806003600084815260200190815260200160002090506000816000015411610d8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8490611f61565b60405180910390fd5b60028160080160009054906101000a900460000b60000b14610de4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddb90611f81565b60405180910390fd5b60008160080160006101000a81548160ff021916908360000b60ff1602179055506000808260030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168360010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168460020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168560040154604051602401610ea493929190611e59565b6040516020818303038152906040527f23b872dd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610f2e9190611e27565b6000604051808303816000865af19150503d8060008114610f6b576040519150601f19603f3d011682016040523d82523d6000602084013e610f70565b606091505b5091509150610f828360000154611a21565b50438360070181905550600460008460010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083600001549080600181540180825580915050600190039060005260206000200160009091909190915055600560008460020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208360000154908060018154018082558091505060019003906000526020600020016000909190919091505581156110ea577fbcf6a68a2f901be4a23a41b53acd7697893a7e34def4e28acba584da75283b67856040516110dd9190611fa1565b60405180910390a1611122565b7fdab20a0fcd702cf875c2d715d5c3fc99af66a716c94b3405408c94b7311c99eb856040516111199190611fa1565b60405180910390a15b819350505050919050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6004602052816000526040600020818154811061116957600080fd5b90600052602060002001600091509150505481565b600b5481565b60036020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040154908060050154908060060154908060070154908060080160009054906101000a900460000b905089565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600060075490505b6006548110156112e857600060036000838152602001908152602001600020905060008160080160009054906101000a900460000b60000b13156112d457848314156112c557806000015493505050506112ef565b82806112d090612252565b9350505b5080806112e090612252565b915050611270565b5060009150505b919050565b6000600b5483111561130557600080fd5b6000831161131257600080fd5b600b5482111561132157600080fd5b8260098190555081600a819055507f9f40cfd22fe91777c78f252bd21a710f3fb007dc2f321876891e7644ba0ae175600954600a54600b5460405161136893929190612072565b60405180910390a16001905092915050565b600080600060036000858152602001908152602001600020905060018160080160009054906101000a900460000b60000b12156113bb5781925050506115ae565b6009548160050154106114385760028160080160006101000a81548160ff021916908360000b60ff16021790555080600001547f36ea04725f8aa40ee603224671681b753f9cba3cb5f67c5a0e24a3b39900c06582600501548360060154604051611427929190612049565b60405180910390a2600191506115a8565b6000600a541180156114505750600a54816006015410155b156114f2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160080160006101000a81548160ff021916908360000b60ff1602179055506114a28160000154611a21565b5080600001547f1ad80b2541a1f52bdc838332d7c23606116a1188a8cbbc4c0948b4b56ce51d14826005015483600601546040516114e1929190612049565b60405180910390a2600191506115a7565b6009548160060154600b5461150791906120d0565b10156115a6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160080160006101000a81548160ff021916908360000b60ff16021790555061155a8160000154611a21565b5080600001547f3d61d434b895790b08f040c45261fce3b3bec596278b3a0f25dd9f741d0ba46982600501548360060154604051611599929190612049565b60405180910390a2600191505b5b5b81925050505b919050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611645576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163c90611f01565b60405180910390fd5b60001515600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146116d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116cf90611f21565b60405180910390fd5b6001600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600b600081548092919061174390612252565b91905055507f47d1c22a25bb3a5d4e481b9b1e6944c2eade3181a0a20b495ed61d35b5323f24826040516117779190611e3e565b60405180910390a1600b549050919050565b60008060036000600654815260200190815260200160002090506006548160000181905550848160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550858160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082816004018190555060018160080160006101000a81548160ff021916908360000b60ff160217905550600860008154809291906118b490612209565b9190505550600660008154809291906118cc90612252565b91905055508060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fb609ae609609ee99268d05bc1371102cafe8d6b964bf082439ab16be2a01c87c846004015485600001546040516119bb929190612049565b60405180910390a48060000154915050949350505050565b600160205281600052604060002081815481106119ef57600080fd5b906000526020600020016000915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060086000815480929190611a3690612196565b919050555060006008541315611a8457600754821415611a7f576000611a5c6000611265565b90506000811415611a7557600654600781905550611a7d565b806007819055505b505b611a8e565b6006546007819055505b6007549050919050565b600081359050611aa7816122ca565b92915050565b600081359050611abc816122e1565b92915050565b600060208284031215611ad457600080fd5b6000611ae284828501611a98565b91505092915050565b60008060008060808587031215611b0157600080fd5b6000611b0f87828801611a98565b9450506020611b2087828801611a98565b9350506040611b3187828801611a98565b9250506060611b4287828801611aad565b91505092959194509250565b60008060408385031215611b6157600080fd5b6000611b6f85828601611a98565b9250506020611b8085828601611aad565b9150509250929050565b600060208284031215611b9c57600080fd5b6000611baa84828501611aad565b91505092915050565b60008060408385031215611bc657600080fd5b6000611bd485828601611aad565b9250506020611be585828601611a98565b9150509250929050565b60008060408385031215611c0257600080fd5b6000611c1085828601611aad565b9250506020611c2185828601611aad565b9150509250929050565b611c3481612104565b82525050565b611c4381612116565b82525050565b6000611c54826120a9565b611c5e81856120b4565b9350611c6e818560208601612163565b80840191505092915050565b611c8381612122565b82525050565b611c928161212c565b82525050565b6000611ca5601a836120bf565b91507f4552525f5245445543455f5448524553484f4c445f46495253540000000000006000830152602082019050919050565b6000611ce5600a836120bf565b91507f4552525f414343455353000000000000000000000000000000000000000000006000830152602082019050919050565b6000611d25600c836120bf565b91507f4552525f4e4f54464f554e4400000000000000000000000000000000000000006000830152602082019050919050565b6000611d656010836120bf565b91507f4552525f414c5245414459564f544544000000000000000000000000000000006000830152602082019050919050565b6000611da56013836120bf565b91507f4552525f494e56414c49445f52455155455354000000000000000000000000006000830152602082019050919050565b6000611de56010836120bf565b91507f4552525f4e4f545f454e444f52534544000000000000000000000000000000006000830152602082019050919050565b611e2181612159565b82525050565b6000611e338284611c49565b915081905092915050565b6000602082019050611e536000830184611c2b565b92915050565b6000606082019050611e6e6000830186611c2b565b611e7b6020830185611c2b565b611e886040830184611e18565b949350505050565b6000602082019050611ea56000830184611c3a565b92915050565b6000602082019050611ec06000830184611c7a565b92915050565b6000602082019050611edb6000830184611c89565b92915050565b60006020820190508181036000830152611efa81611c98565b9050919050565b60006020820190508181036000830152611f1a81611cd8565b9050919050565b60006020820190508181036000830152611f3a81611d18565b9050919050565b60006020820190508181036000830152611f5a81611d58565b9050919050565b60006020820190508181036000830152611f7a81611d98565b9050919050565b60006020820190508181036000830152611f9a81611dd8565b9050919050565b6000602082019050611fb66000830184611e18565b92915050565b600061012082019050611fd2600083018c611e18565b611fdf602083018b611c2b565b611fec604083018a611c2b565b611ff96060830189611c2b565b6120066080830188611e18565b61201360a0830187611e18565b61202060c0830186611e18565b61202d60e0830185611e18565b61203b610100830184611c89565b9a9950505050505050505050565b600060408201905061205e6000830185611e18565b61206b6020830184611e18565b9392505050565b60006060820190506120876000830186611e18565b6120946020830185611e18565b6120a16040830184611e18565b949350505050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b60006120db82612159565b91506120e683612159565b9250828210156120f9576120f861229b565b5b828203905092915050565b600061210f82612139565b9050919050565b60008115159050919050565b6000819050919050565b60008160000b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015612181578082015181840152602081019050612166565b83811115612190576000848401525b50505050565b60006121a182612122565b91507f80000000000000000000000000000000000000000000000000000000000000008214156121d4576121d361229b565b5b600182039050919050565b60006121ea82612159565b915060008214156121fe576121fd61229b565b5b600182039050919050565b600061221482612122565b91507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156122475761224661229b565b5b600182019050919050565b600061225d82612159565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156122905761228f61229b565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6122d381612104565b81146122de57600080fd5b50565b6122ea81612159565b81146122f557600080fd5b5056fea2646970667358221220c79a4ccb8a0a4e213dcbf12724833dfab1ccdef16c91695e85b3de2f1ad551f964736f6c63430008000033 -\ No newline at end of file +60806040523480156200001157600080fd5b5033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160068190555060016007819055506200007d33620000a2640100000000026401000000009004565b506200009b6001600062000282640100000000026401000000009004565b506200051d565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161462000137576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200012e90620003d0565b60405180910390fd5b60001515600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514620001cd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001c490620003f2565b60405180910390fd5b6001600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600b60008154809291906200023a90620004a0565b91905055507f47d1c22a25bb3a5d4e481b9b1e6944c2eade3181a0a20b495ed61d35b5323f2482604051620002709190620003b3565b60405180910390a1600b549050919050565b6000600b548311156200029457600080fd5b60008311620002a257600080fd5b600b54821115620002b257600080fd5b8260098190555081600a819055507f9f40cfd22fe91777c78f252bd21a710f3fb007dc2f321876891e7644ba0ae175600954600a54600b54604051620002fb9392919062000414565b60405180910390a16001905092915050565b620003188162000462565b82525050565b60006200032d600a8362000451565b91507f4552525f414343455353000000000000000000000000000000000000000000006000830152602082019050919050565b60006200036f600c8362000451565b91507f4552525f4e4f54464f554e4400000000000000000000000000000000000000006000830152602082019050919050565b620003ad8162000496565b82525050565b6000602082019050620003ca60008301846200030d565b92915050565b60006020820190508181036000830152620003eb816200031e565b9050919050565b600060208201905081810360008301526200040d8162000360565b9050919050565b60006060820190506200042b6000830186620003a2565b6200043a6020830185620003a2565b620004496040830184620003a2565b949350505050565b600082825260208201905092915050565b60006200046f8262000476565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000620004ad8262000496565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415620004e357620004e2620004ee565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b61234b806200052d6000396000f3fe608060405234801561001057600080fd5b506004361061015f576000357c010000000000000000000000000000000000000000000000000000000090048063736c0d5b116100d5578063bac911ac11610099578063bac911ac146103ee578063e3064a771461041e578063e9f9d28b1461044e578063eb12d61e1461047e578063ed71262a146104ae578063fba00cbd146104de5761015f565b8063736c0d5b1461031a578063755fd58f1461034a5780637ca548c61461037a57806381d12c58146103985780638da5cb5b146103d05761015f565b80633a9ddc80116101275780633a9ddc801461021e5780634797569a1461024e57806357ec347a1461027e57806358d71f821461029c578063614f427f146102cc5780636e417c69146102ea5761015f565b806302d947ef1461016457806306661abd1461019457806308ae6377146101b25780630e316ab7146101d05780631703a01814610200575b600080fd5b61017e60048036038101906101799190611bd0565b61050e565b60405161018b9190611ee3565b60405180910390f35b61019c61053d565b6040516101a99190611ec8565b60405180910390f35b6101ba610543565b6040516101c79190611fbe565b60405180910390f35b6101ea60048036038101906101e59190611adf565b61056e565b6040516101f79190611fbe565b60405180910390f35b6102086107cf565b6040516102159190611fbe565b60405180910390f35b61023860048036038101906102339190611b6b565b6107d5565b6040516102459190611fbe565b60405180910390f35b61026860048036038101906102639190611ba7565b610806565b6040516102759190611fbe565b60405180910390f35b610286610aaa565b6040516102939190611fbe565b60405180910390f35b6102b660048036038101906102b19190611ba7565b610ac0565b6040516102c39190611fbe565b60405180910390f35b6102d4610d45565b6040516102e19190611fbe565b60405180910390f35b61030460048036038101906102ff9190611ba7565b610d4b565b6040516103119190611ead565b60405180910390f35b610334600480360381019061032f9190611adf565b61114a565b6040516103419190611ead565b60405180910390f35b610364600480360381019061035f9190611b6b565b61116a565b6040516103719190611fbe565b60405180910390f35b61038261119b565b60405161038f9190611fbe565b60405180910390f35b6103b260048036038101906103ad9190611ba7565b6111a1565b6040516103c799989796959493929190611fd9565b60405180910390f35b6103d861125c565b6040516103e59190611e5b565b60405180910390f35b61040860048036038101906104039190611ba7565b611282565b6040516104159190611fbe565b60405180910390f35b61043860048036038101906104339190611c0c565b611311565b6040516104459190611ead565b60405180910390f35b61046860048036038101906104639190611ba7565b611397565b6040516104759190611ead565b60405180910390f35b61049860048036038101906104939190611adf565b6115d0565b6040516104a59190611fbe565b60405180910390f35b6104c860048036038101906104c39190611b08565b6117a6565b6040516104d59190611fbe565b60405180910390f35b6104f860048036038101906104f39190611c0c565b6119f0565b6040516105059190611e5b565b60405180910390f35b60006020528160005260406000206020528060005260406000206000915091509054906101000a900460000b81565b60085481565b60008060075460065461055691906120ed565b1415610565576000905061056b565b60075490505b90565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806105f757508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610636576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062d90611f1e565b60405180910390fd5b60011515600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146106c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c090611f3e565b60405180910390fd5b600954600b541180156106df5750600a54600b54115b61071e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071590611efe565b60405180910390fd5b6000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600b6000815480929190610789906121fc565b91905055507f3525e22824a8a7df2c9a6029941c824cf95b6447f1e13d5128fd3826d35afe8b826040516107bd9190611e5b565b60405180910390a1600b549050919050565b60095481565b600560205281600052604060002081815481106107f157600080fd5b90600052602060002001600091509150505481565b6000600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610894576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088b90611f1e565b60405180910390fd5b600080600084815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460000b60000b14610936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092d90611f5e565b60405180910390fd5b600060036000848152602001908152602001600020905060018160080160009054906101000a900460000b60000b1461096e57600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000808360000154815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360000b60ff1602179055506001600082600001548152602001908152602001600020339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806006016000815480929190610a8a9061226f565b9190505550610a9c8160000154611397565b508060060154915050919050565b60006001600654610abb91906120ed565b905090565b6000600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610b4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4590611f1e565b60405180910390fd5b600080600084815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460000b60000b14610bf0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be790611f5e565b60405180910390fd5b600060036000848152602001908152602001600020905060018160080160009054906101000a900460000b60000b14610c2857600080fd5b60016000808360000154815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360000b60ff1602179055506001600082600001548152602001908152602001600020339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806005016000815480929190610d259061226f565b9190505550610d378160000154611397565b508060050154915050919050565b600a5481565b6000806003600084815260200190815260200160002090506000816000015411610daa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da190611f7e565b60405180910390fd5b60028160080160009054906101000a900460000b60000b14610e01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df890611f9e565b60405180910390fd5b60008160080160006101000a81548160ff021916908360000b60ff1602179055506000808260030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168360010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168460020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168560040154604051602401610ec193929190611e76565b6040516020818303038152906040527f23b872dd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610f4b9190611e44565b6000604051808303816000865af19150503d8060008114610f88576040519150601f19603f3d011682016040523d82523d6000602084013e610f8d565b606091505b5091509150610f9f8360000154611a3e565b50438360070181905550600460008460010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083600001549080600181540180825580915050600190039060005260206000200160009091909190915055600560008460020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020836000015490806001815401808255809150506001900390600052602060002001600090919091909150558115611107577fbcf6a68a2f901be4a23a41b53acd7697893a7e34def4e28acba584da75283b67856040516110fa9190611fbe565b60405180910390a161113f565b7fdab20a0fcd702cf875c2d715d5c3fc99af66a716c94b3405408c94b7311c99eb856040516111369190611fbe565b60405180910390a15b819350505050919050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6004602052816000526040600020818154811061118657600080fd5b90600052602060002001600091509150505481565b600b5481565b60036020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040154908060050154908060060154908060070154908060080160009054906101000a900460000b905089565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600060075490505b60065481101561130557600060036000838152602001908152602001600020905060008160080160009054906101000a900460000b60000b13156112f157848314156112e2578060000154935050505061130c565b82806112ed9061226f565b9350505b5080806112fd9061226f565b91505061128d565b5060009150505b919050565b6000600b5483111561132257600080fd5b6000831161132f57600080fd5b600b5482111561133e57600080fd5b8260098190555081600a819055507f9f40cfd22fe91777c78f252bd21a710f3fb007dc2f321876891e7644ba0ae175600954600a54600b546040516113859392919061208f565b60405180910390a16001905092915050565b600080600060036000858152602001908152602001600020905060018160080160009054906101000a900460000b60000b12156113d85781925050506115cb565b6009548160050154106114555760028160080160006101000a81548160ff021916908360000b60ff16021790555080600001547f36ea04725f8aa40ee603224671681b753f9cba3cb5f67c5a0e24a3b39900c06582600501548360060154604051611444929190612066565b60405180910390a2600191506115c5565b6000600a5411801561146d5750600a54816006015410155b1561150f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160080160006101000a81548160ff021916908360000b60ff1602179055506114bf8160000154611a3e565b5080600001547f1ad80b2541a1f52bdc838332d7c23606116a1188a8cbbc4c0948b4b56ce51d14826005015483600601546040516114fe929190612066565b60405180910390a2600191506115c4565b6009548160060154600b5461152491906120ed565b10156115c3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160080160006101000a81548160ff021916908360000b60ff1602179055506115778160000154611a3e565b5080600001547f3d61d434b895790b08f040c45261fce3b3bec596278b3a0f25dd9f741d0ba469826005015483600601546040516115b6929190612066565b60405180910390a2600191505b5b5b81925050505b919050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611662576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165990611f1e565b60405180910390fd5b60001515600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146116f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ec90611f3e565b60405180910390fd5b6001600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600b60008154809291906117609061226f565b91905055507f47d1c22a25bb3a5d4e481b9b1e6944c2eade3181a0a20b495ed61d35b5323f24826040516117949190611e5b565b60405180910390a1600b549050919050565b60008060036000600654815260200190815260200160002090506006548160000181905550848160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550858160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082816004018190555060018160080160006101000a81548160ff021916908360000b60ff160217905550600860008154809291906118d190612226565b9190505550600660008154809291906118e99061226f565b91905055508060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fb609ae609609ee99268d05bc1371102cafe8d6b964bf082439ab16be2a01c87c846004015485600001546040516119d8929190612066565b60405180910390a48060000154915050949350505050565b60016020528160005260406000208181548110611a0c57600080fd5b906000526020600020016000915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060086000815480929190611a53906121b3565b919050555060006008541315611aa157600754821415611a9c576000611a796000611282565b90506000811415611a9257600654600781905550611a9a565b806007819055505b505b611aab565b6006546007819055505b6007549050919050565b600081359050611ac4816122e7565b92915050565b600081359050611ad9816122fe565b92915050565b600060208284031215611af157600080fd5b6000611aff84828501611ab5565b91505092915050565b60008060008060808587031215611b1e57600080fd5b6000611b2c87828801611ab5565b9450506020611b3d87828801611ab5565b9350506040611b4e87828801611ab5565b9250506060611b5f87828801611aca565b91505092959194509250565b60008060408385031215611b7e57600080fd5b6000611b8c85828601611ab5565b9250506020611b9d85828601611aca565b9150509250929050565b600060208284031215611bb957600080fd5b6000611bc784828501611aca565b91505092915050565b60008060408385031215611be357600080fd5b6000611bf185828601611aca565b9250506020611c0285828601611ab5565b9150509250929050565b60008060408385031215611c1f57600080fd5b6000611c2d85828601611aca565b9250506020611c3e85828601611aca565b9150509250929050565b611c5181612121565b82525050565b611c6081612133565b82525050565b6000611c71826120c6565b611c7b81856120d1565b9350611c8b818560208601612180565b80840191505092915050565b611ca08161213f565b82525050565b611caf81612149565b82525050565b6000611cc2601a836120dc565b91507f4552525f5245445543455f5448524553484f4c445f46495253540000000000006000830152602082019050919050565b6000611d02600a836120dc565b91507f4552525f414343455353000000000000000000000000000000000000000000006000830152602082019050919050565b6000611d42600c836120dc565b91507f4552525f4e4f54464f554e4400000000000000000000000000000000000000006000830152602082019050919050565b6000611d826010836120dc565b91507f4552525f414c5245414459564f544544000000000000000000000000000000006000830152602082019050919050565b6000611dc26013836120dc565b91507f4552525f494e56414c49445f52455155455354000000000000000000000000006000830152602082019050919050565b6000611e026010836120dc565b91507f4552525f4e4f545f454e444f52534544000000000000000000000000000000006000830152602082019050919050565b611e3e81612176565b82525050565b6000611e508284611c66565b915081905092915050565b6000602082019050611e706000830184611c48565b92915050565b6000606082019050611e8b6000830186611c48565b611e986020830185611c48565b611ea56040830184611e35565b949350505050565b6000602082019050611ec26000830184611c57565b92915050565b6000602082019050611edd6000830184611c97565b92915050565b6000602082019050611ef86000830184611ca6565b92915050565b60006020820190508181036000830152611f1781611cb5565b9050919050565b60006020820190508181036000830152611f3781611cf5565b9050919050565b60006020820190508181036000830152611f5781611d35565b9050919050565b60006020820190508181036000830152611f7781611d75565b9050919050565b60006020820190508181036000830152611f9781611db5565b9050919050565b60006020820190508181036000830152611fb781611df5565b9050919050565b6000602082019050611fd36000830184611e35565b92915050565b600061012082019050611fef600083018c611e35565b611ffc602083018b611c48565b612009604083018a611c48565b6120166060830189611c48565b6120236080830188611e35565b61203060a0830187611e35565b61203d60c0830186611e35565b61204a60e0830185611e35565b612058610100830184611ca6565b9a9950505050505050505050565b600060408201905061207b6000830185611e35565b6120886020830184611e35565b9392505050565b60006060820190506120a46000830186611e35565b6120b16020830185611e35565b6120be6040830184611e35565b949350505050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b60006120f882612176565b915061210383612176565b925082821015612116576121156122b8565b5b828203905092915050565b600061212c82612156565b9050919050565b60008115159050919050565b6000819050919050565b60008160000b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101561219e578082015181840152602081019050612183565b838111156121ad576000848401525b50505050565b60006121be8261213f565b91507f80000000000000000000000000000000000000000000000000000000000000008214156121f1576121f06122b8565b5b600182039050919050565b600061220782612176565b9150600082141561221b5761221a6122b8565b5b600182039050919050565b60006122318261213f565b91507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612264576122636122b8565b5b600182019050919050565b600061227a82612176565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156122ad576122ac6122b8565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6122f081612121565b81146122fb57600080fd5b50565b61230781612176565b811461231257600080fd5b5056fea2646970667358221220914d99025bf0f16e0c6b4d9c1c7f57c89c4ea71aaa54a23d5a906f45908d63f764736f6c63430008000033 +\ No newline at end of file diff --git a/python/erc20_transfer_authorization/runnable/deploy.py b/python/erc20_transfer_authorization/runnable/deploy.py @@ -90,7 +90,7 @@ def main(): #tx_hash = c.constructor(approvers).transact() (tx_hash, rcpt) = helper.sign_and_send( [ - c.constructor(approvers).buildTransaction + c.constructor().buildTransaction ], force_wait=True, ) diff --git a/python/erc20_transfer_authorization/runnable/request.py b/python/erc20_transfer_authorization/runnable/request.py @@ -0,0 +1,92 @@ +# standard imports +import os +import json +import argparse +import logging + +# third-party imports +import web3 +from crypto_dev_signer.eth.signer import ReferenceSigner as EIP155Signer +from crypto_dev_signer.keystore import DictKeystore +from crypto_dev_signer.eth.helper import EthTxExecutor +from chainlib.chain import ChainSpec + +logging.basicConfig(level=logging.WARNING) +logg = logging.getLogger() + +logging.getLogger('web3').setLevel(logging.WARNING) +logging.getLogger('urllib3').setLevel(logging.WARNING) + +script_dir = os.path.dirname(__file__) +data_dir = os.path.join(script_dir, '..', 'data') + +argparser = argparse.ArgumentParser() +argparser.add_argument('-p', '--provider', dest='p', default='http://localhost:8545', type=str, help='Web3 provider url (http only)') +argparser.add_argument('-w', action='store_true', help='Wait for the last transaction to be confirmed') +argparser.add_argument('-ww', action='store_true', help='Wait for every transaction to be confirmed') +argparser.add_argument('-i', '--chain-spec', dest='i', type=str, default='Ethereum:1', help='Chain specification string') +argparser.add_argument('-a', '--contract-address', required=True, dest='a', type=str, help='Transfer Authorization contract address') +argparser.add_argument('-t', '--token-address', required=True, dest='t', type=str, help='Token address') +argparser.add_argument('-y', '--key-file', dest='y', type=str, help='Ethereum keystore file to use for signing') +argparser.add_argument('--abi-dir', dest='abi_dir', type=str, default=data_dir, help='Directory containing bytecode and abi (default: {})'.format(data_dir)) +argparser.add_argument('-v', action='store_true', help='Be verbose') +argparser.add_argument('-vv', action='store_true', help='Be more verbose') +argparser.add_argument('sender', type=str, help='Spender address') +argparser.add_argument('recipient', type=str, help='Recipient address') +argparser.add_argument('value', type=int, help='Value of allowance') +args = argparser.parse_args() + +if args.vv: + logg.setLevel(logging.DEBUG) +elif args.v: + logg.setLevel(logging.INFO) + +block_last = args.w +block_all = args.ww + +w3 = web3.Web3(web3.Web3.HTTPProvider(args.p)) + +signer_address = None +keystore = DictKeystore() +if args.y != None: + logg.debug('loading keystore file {}'.format(args.y)) + signer_address = keystore.import_keystore_file(args.y) + logg.debug('now have key for signer address {}'.format(signer_address)) +signer = EIP155Signer(keystore) + +chain_spec = ChainSpec.from_chain_str(args.i) +chain_id = chain_spec.network_id() + +helper = EthTxExecutor( + w3, + signer_address, + signer, + chain_id, + block=args.ww, + ) + + +def main(): + f = open(os.path.join(args.abi_dir, 'ERC20TransferAuthorization.json'), 'r') + abi = json.load(f) + f.close() + + c = w3.eth.contract(abi=abi, address=args.a) + + (tx_hash, rcpt) = helper.sign_and_send( + [ + c.functions.createRequest( + args.sender, + args.recipient, + args.t, + args.value, + ).buildTransaction + ], + force_wait=True, + ) + + print(tx_hash) + + +if __name__ == '__main__': + main() diff --git a/python/requirements.txt b/python/requirements.txt @@ -1 +1,2 @@ web3==5.12.2 +crypto-dev-signer==0.4.13rc3 diff --git a/python/setup.cfg b/python/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = erc20-transfer-authorization -version = 0.3.0a9 +version = 0.3.0a10 description = Simple approval escrow for ERC20 spend approval author = Louis Holbrook author_email = dev@holbrook.no @@ -33,8 +33,8 @@ install_requires = [options.package_data] * = - data/TransferAuthorization.json - data/TransferAuthorization.bin + data/ERC20TransferAuthorization.json + data/ERC20TransferAuthorization.bin [options.entry_points] console_scripts = diff --git a/solidity/Makefile b/solidity/Makefile @@ -1,9 +1,9 @@ SOLC = /usr/bin/solc all: - $(SOLC) --bin ERC20TransferAuthorization.sol | awk 'NR>3' > ERC20TransferAuthorization.bin + $(SOLC) --bin ERC20TransferAuthorization.sol --evm-version byzantium | awk 'NR>3' > ERC20TransferAuthorization.bin truncate -s -1 ERC20TransferAuthorization.bin - $(SOLC) --abi ERC20TransferAuthorization.sol | awk 'NR>3' > ERC20TransferAuthorization.json + $(SOLC) --abi ERC20TransferAuthorization.sol --evm-version byzantium | awk 'NR>3' > ERC20TransferAuthorization.json install: all cp -v *{json,bin} ../python/erc20_transfer_authorization/data/