diff --git a/parse.py b/parse.py index fadb58c..07f2bf8 100644 --- a/parse.py +++ b/parse.py @@ -9,6 +9,7 @@ import select from multiprocessing import Process from multiprocessing import Pipe import subprocess +from dotenv import load_dotenv logg = logging.getLogger() logg.setLevel(logging.DEBUG) @@ -51,6 +52,17 @@ def t_error(t): t.lexer.skip(1) lexer = lex.lex() + +load_dotenv() + +#Chain params +privatekey = os.getenv("PRIVATE_KEY") +chainId = os.getenv("CHAIN_ID") +rpc = os.getenv("RPC") +gasCap = os.getenv("GAS_FEE_CAP") + + + # #data = ''' #FOOBAR uf-2etg 0xa3bdefa momo 123 @@ -300,9 +312,7 @@ class Router: def noop_handler(cmd): return str(cmd) -#NOTE: -#For testing the handlers,am using my hard-coded private key for the cast commands,replace with your actual private key. -#I have added random characters to the existing. + def key_create_handler(cmd): mnemonic = cmd.i.replace('-', ' ') command = f'cast wallet pk -v "{mnemonic}" 2 | cut -c 16-' @@ -320,46 +330,53 @@ def key_create_handler(cmd): def voucher_create_handler(cmd): name = cmd.n symbol = cmd.s - command = f'ge-publish --private-key 1e1d0c1519479f68d9c8d07352a8e7e7cb9e2c676bce422f84502412cf39S4Ca ' \ - f'--rpc https://alfajores-forno.celo-testnet.org --gas-fee-cap 35000000000 --chainid 44787 ' \ - f'p erc20 --name "{name}" --symbol "{symbol}"' - result = subprocess.run(command, shell=True, capture_output=True, text=True) + + command = f'ge-publish --private-key {privatekey} ' \ + f'--rpc {rpc} --gas-fee-cap {gasCap} --chainid {chainId} ' \ + f'p erc20 --name "{name}" --symbol "{symbol}"' + result = subprocess.run(command, shell=True, capture_output=True, text=True) + if result.returncode != 0: + raise subprocess.CalledProcessError(result.returncode, command, output=result.stdout, stderr=result.stderr) output = result.stderr.strip().split("\n") contract_address = None for word in output[1].split(): if "contract_address=" in word: contract_address = word.split("=")[1] - + print("Voucher created with Address:",contract_address) return contract_address def voucher_transfer_handler(cmd): - value = cmd.v - command = ( - f'cast send --private-key 1e1d0c1519479f68d9c8d07352a8e7e7cb9e2c676bce422f84502412cfsarw54ba ' - f'--rpc-url https://alfajores-forno.celo-testnet.org/ ' - f'0x93bb5f14464A9b7E5D5487DAB12d100417f23323 ' - f'"transfer(address,uint256)" 0x7c9eCcC1de442911954e36e6092DFb10373090a6 {value}' + value = cmd.v # Amount to transfer + s = "0x" + str(cmd.a).split(":")[1] + to = "0x" + str(cmd.t).split(":")[1] + + command = ( + f'cast send --private-key {privatekey} ' + f'--rpc-url {rpc} ' + f'{s} ' + f'"transfer(address,uint256)" {to} {value}' ) - result = subprocess.run(command, shell=True, capture_output=True, text=True) - - if result.returncode != 0: + result = subprocess.run(command, shell=True, capture_output=True, text=True) + if result.returncode != 0: raise subprocess.CalledProcessError(result.returncode, command, output=result.stdout, stderr=result.stderr) - if result.stderr: + if result.stderr: raise ValueError(f"Command failed with error: {result.stderr}") - return result.stdout + return result.stdout def voucher_mint_handler(cmd): value = cmd.v + s = "0x" + str(cmd.a).split(":")[1] + to = "0x" + str(cmd.t).split(":")[1] command = ( - f'cast send --private-key 1e1d0c1519479f68d9c8d07352a8e7e7cb9e2c676bce422f84502412cf39ASCa ' - f'--rpc-url https://alfajores-forno.celo-testnet.org/ ' - f'0x3feCC87C2c102984865B996de340bb2C6AdCF01E ' - f'"mintTo(address,uint256)" 0xEef7Ad2cCCB317E6898F43eA2B5b1BD1E9C13b1A {value}' + f'cast send --private-key {privatekey}' + f'--rpc-url {rpc} ' + f' {s} ' + f'"mintTo(address,uint256)" {to} {value}' ) result = subprocess.run(command, shell=True, capture_output=True, text=True) if result.returncode != 0: @@ -439,8 +456,8 @@ if __name__ == '__main__': ifc = None o = Router() o.register(CmdId.KEY_CREATE,key_create_handler) - o.register(CmdId.VOUCHER_MINT, voucher_mint_handler) o.register(CmdId.VOUCHER_CREATE, voucher_create_handler) + o.register(CmdId.VOUCHER_MINT, voucher_mint_handler) o.register(CmdId.VOUCHER_TRANSFER, voucher_transfer_handler) if len(sys.argv) > 1: