def __init__(self, w3, config, mpe_contract): self.config = config self.web3 = w3 self.mpe_contract = mpe_contract _token_contract_address = self.config.get("token_contract_address", None) if _token_contract_address is None: self.token_contract = get_contract_object( self.web3, "SingularityNetToken.json") else: self.token_contract = get_contract_object( self.web3, "SingularityNetToken.json", _token_contract_address) private_key = config.get("private_key", None) signer_private_key = config.get("signer_private_key", None) if private_key is not None: self.private_key = normalize_private_key(config["private_key"]) if signer_private_key is not None: self.signer_private_key = normalize_private_key( config["signer_private_key"]) else: self.signer_private_key = self.private_key self.address = get_address_from_private(self.private_key) self.signer_address = get_address_from_private(self.signer_private_key) self.nonce = 0
def __init__(self, w3, address=None): self.web3 = w3 if address is None: self.contract = get_contract_object(self.web3, "MultiPartyEscrow.json") else: self.contract = get_contract_object(self.web3, "MultiPartyEscrow.json", address) self.event_topics = [self.web3.sha3( text="ChannelOpen(uint256,uint256,address,address,address,bytes32,uint256,uint256)").hex()] self.deployment_block = get_contract_deployment_block( self.web3, "MultiPartyEscrow.json")
def __init__(self, config, metadata_provider=None): self._config = config self._metadata_provider = metadata_provider # Instantiate Ethereum client eth_rpc_endpoint = self._config.get( "eth_rpc_endpoint", "https://mainnet.infura.io/v3/e7732e1f679e461b9bb4da5653ac3fc2") provider = web3.HTTPProvider(eth_rpc_endpoint) self.web3 = web3.Web3(provider) self.web3.eth.setGasPriceStrategy(medium_gas_price_strategy) # Get MPE contract address from config if specified; mostly for local testing _mpe_contract_address = self._config.get("mpe_contract_address", None) if _mpe_contract_address is None: self.mpe_contract = MPEContract(self.web3) else: self.mpe_contract = MPEContract(self.web3, _mpe_contract_address) # Instantiate IPFS client ipfs_rpc_endpoint = self._config.get( "ipfs_rpc_endpoint", "https://ipfs.singularitynet.io:80") ipfs_rpc_endpoint = urlparse(ipfs_rpc_endpoint) ipfs_scheme = ipfs_rpc_endpoint.scheme if ipfs_rpc_endpoint.scheme else "http" ipfs_port = ipfs_rpc_endpoint.port if ipfs_rpc_endpoint.port else 5001 self.ipfs_client = ipfsapi.connect( urljoin(ipfs_scheme, ipfs_rpc_endpoint.hostname), ipfs_port) # Get Registry contract address from config if specified; mostly for local testing _registry_contract_address = self._config.get( "registry_contract_address", None) if _registry_contract_address is None: self.registry_contract = get_contract_object( self.web3, "Registry.json") else: self.registry_contract = get_contract_object( self.web3, "Registry.json", _registry_contract_address) self.account = Account(self.web3, config, self.mpe_contract)
def __init__(self, config): self._config = config # Instantiate Ethereum client eth_rpc_endpoint = self._config.get("eth_rpc_endpoint", "https://mainnet.infura.io") provider = web3.HTTPProvider(eth_rpc_endpoint) self.web3 = web3.Web3(provider) self.web3.eth.setGasPriceStrategy(medium_gas_price_strategy) self.mpe_contract = MPEContract(self.web3) # Instantiate IPFS client ipfs_rpc_endpoint = self._config.get( "ipfs_rpc_endpoint", "https://ipfs.singularitynet.io:80") ipfs_rpc_endpoint = urlparse(ipfs_rpc_endpoint) ipfs_scheme = ipfs_rpc_endpoint.scheme if ipfs_rpc_endpoint.scheme else "http" ipfs_port = ipfs_rpc_endpoint.port if ipfs_rpc_endpoint.port else 5001 self.ipfs_client = ipfsapi.connect( urljoin(ipfs_scheme, ipfs_rpc_endpoint.hostname), ipfs_port) self.registry_contract = get_contract_object(self.web3, "Registry.json") self.account = Account(self.web3, config, self.mpe_contract)