Allow fee settings for read
This commit is contained in:
		
							parent
							
								
									5d7c5556d4
								
							
						
					
					
						commit
						6b5628cf28
					
				| @ -1,5 +1,6 @@ | ||||
| # standard imports | ||||
| import os | ||||
| import logging | ||||
| 
 | ||||
| # external imports | ||||
| from chainlib.cli import ( | ||||
| @ -25,6 +26,9 @@ from chainlib.eth.nonce import ( | ||||
|         OverrideNonceOracle, | ||||
|         RPCNonceOracle, | ||||
|         ) | ||||
| 
 | ||||
| logg = logging.getLogger(__name__) | ||||
| 
 | ||||
| script_dir = os.path.dirname(os.path.realpath(__file__)) | ||||
| 
 | ||||
| 
 | ||||
| @ -57,8 +61,6 @@ class Rpc(BaseRpc): | ||||
| 
 | ||||
|         if self.can_sign(): | ||||
|             nonce = None | ||||
|             fee_price = None | ||||
|             fee_limit = None | ||||
|             try: | ||||
|                 nonce = config.get('_NONCE') | ||||
|             except KeyError: | ||||
| @ -68,18 +70,22 @@ class Rpc(BaseRpc): | ||||
|             else: | ||||
|                 self.nonce_oracle = RPCNonceOracle(self.get_sender_address(), self.conn, id_generator=self.id_generator) | ||||
|          | ||||
|             try: | ||||
|                 fee_price = config.get('_FEE_PRICE') | ||||
|             except KeyError: | ||||
|                 pass | ||||
|             try: | ||||
|                 fee_limit = config.get('_FEE_LIMIT') | ||||
|             except KeyError: | ||||
|                 pass | ||||
|             if fee_price != None or fee_limit != None: | ||||
|                 self.fee_oracle = OverrideGasOracle(price=fee_price, limit=fee_limit, conn=self.conn, id_generator=self.id_generator) | ||||
|             else: | ||||
|                 self.fee_oracle = RPCGasOracle(self.conn, id_generator=self.id_generator) | ||||
|         fee_price = None | ||||
|         fee_limit = None | ||||
|         try: | ||||
|             fee_price = config.get('_FEE_PRICE') | ||||
|         except KeyError: | ||||
|             pass | ||||
| 
 | ||||
|         try: | ||||
|             fee_limit = config.get('_FEE_LIMIT') | ||||
|         except KeyError: | ||||
|             pass | ||||
| 
 | ||||
|         if fee_price != None or fee_limit != None: | ||||
|             self.fee_oracle = OverrideGasOracle(price=fee_price, limit=fee_limit, conn=self.conn, id_generator=self.id_generator) | ||||
|         else: | ||||
|             self.fee_oracle = RPCGasOracle(self.conn, id_generator=self.id_generator) | ||||
| 
 | ||||
|         error_parser = None | ||||
|         if config.get('RPC_DIALECT') == 'openethereum': | ||||
|  | ||||
| @ -1,9 +1,10 @@ | ||||
| [rpc] | ||||
| http_provider = http://localhost:8545 | ||||
| http_authentication =  | ||||
| http_username = | ||||
| http_password = | ||||
| provider = | ||||
| auth = | ||||
| credentials = | ||||
| dialect = default | ||||
| scheme = http | ||||
| 
 | ||||
| [chain] | ||||
| spec = evm:ethereum:1 | ||||
|  | ||||
| @ -133,7 +133,8 @@ def main(): | ||||
|         elif not is_checksum_address(address): | ||||
|             raise ValueError('invalid checksum address: {}'.format(address)) | ||||
|         r = get_address(conn, address, rpc.id_generator, config.get('_HEIGHT')) | ||||
|     print(r) | ||||
|     if r != None: | ||||
|         print(r) | ||||
| 
 | ||||
| 
 | ||||
| if __name__ == '__main__': | ||||
|  | ||||
| @ -110,22 +110,22 @@ def main(): | ||||
|             sys.exit(1) | ||||
|         return | ||||
| 
 | ||||
|     elif signer_address != None: | ||||
|         if chain_spec == None: | ||||
|             raise ValueError('chain spec must be specified') | ||||
|         g = TxFactory(chain_spec, signer=rpc.get_signer(), gas_oracle=rpc.get_gas_oracle(), nonce_oracle=rpc.get_nonce_oracle()) | ||||
|         tx = g.template(signer_address, recipient, use_nonce=True) | ||||
|         if args.data != None: | ||||
|             tx = g.set_code(tx, add_0x(args.data)) | ||||
|         if signer_address != None: | ||||
|             if chain_spec == None: | ||||
|                 raise ValueError('chain spec must be specified') | ||||
|             g = TxFactory(chain_spec, signer=rpc.get_signer(), gas_oracle=rpc.get_gas_oracle(), nonce_oracle=rpc.get_nonce_oracle()) | ||||
|             tx = g.template(signer_address, exec_address, use_nonce=True) | ||||
|             if args.data != None: | ||||
|                 tx = g.set_code(tx, add_0x(args.data)) | ||||
| 
 | ||||
|         (tx_hash_hex, o) = g.finalize(tx, id_generator=rpc.id_generator) | ||||
|     | ||||
|         if send: | ||||
|             r = conn.do(o) | ||||
|             print(r) | ||||
|         else: | ||||
|             print(o) | ||||
|             print(tx_hash_hex) | ||||
|             (tx_hash_hex, o) = g.finalize(tx, id_generator=rpc.id_generator) | ||||
|         | ||||
|             if send: | ||||
|                 r = conn.do(o) | ||||
|                 print(r) | ||||
|             else: | ||||
|                 print(o) | ||||
|                 print(tx_hash_hex) | ||||
| 
 | ||||
|     else: | ||||
|         o = raw(args.data, id_generator=rpc.id_generator) | ||||
|  | ||||
| @ -3,5 +3,5 @@ pysha3==1.0.2 | ||||
| hexathon~=0.0.1a8 | ||||
| websocket-client==0.57.0 | ||||
| potaahto~=0.0.1a1 | ||||
| chainlib==0.0.9a3 | ||||
| chainlib==0.0.9a6 | ||||
| confini>=0.4.1a1,<0.5.0 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user