def multiply_13(temp_chain, library_13): chain = temp_chain web3 = chain.web3 Multiply13 = chain.contract_factories['Multiply13'] bytecode = link_bytecode_by_name(Multiply13.bytecode, Library13=library_13.address) bytecode_runtime = link_bytecode_by_name( Multiply13.bytecode_runtime, Library13=library_13.address, ) LinkedMultiply13 = chain.web3.eth.contract( abi=Multiply13.abi, bytecode=bytecode, bytecode_runtime=bytecode_runtime, source=Multiply13.source, ) multiply_13_deploy_txn_hash = LinkedMultiply13.deploy() multiply_13_deploy_txn = web3.eth.getTransaction( multiply_13_deploy_txn_hash) multiply_13_address = chain.wait.for_contract_address( multiply_13_deploy_txn_hash) assert multiply_13_deploy_txn['input'] == LinkedMultiply13.bytecode assert web3.eth.getCode( multiply_13_address) == LinkedMultiply13.bytecode_runtime return LinkedMultiply13(address=multiply_13_address)
def multiply_13(temp_chain, library_13): chain = temp_chain web3 = chain.web3 Multiply13 = chain.contract_factories['Multiply13'] bytecode = link_bytecode_by_name(Multiply13.bytecode, Library13=library_13.address) bytecode_runtime = link_bytecode_by_name( Multiply13.bytecode_runtime, Library13=library_13.address, ) LinkedMultiply13 = chain.web3.eth.contract( abi=Multiply13.abi, bytecode=bytecode, bytecode_runtime=bytecode_runtime, source=Multiply13.source, ) multiply_13_deploy_txn_hash = LinkedMultiply13.deploy() multiply_13_deploy_txn = web3.eth.getTransaction(multiply_13_deploy_txn_hash) multiply_13_address = chain.wait.for_contract_address(multiply_13_deploy_txn_hash) assert multiply_13_deploy_txn['input'] == LinkedMultiply13.bytecode assert web3.eth.getCode(multiply_13_address) == LinkedMultiply13.bytecode_runtime return LinkedMultiply13(address=multiply_13_address)
def test_get_contract_factory_with_dependency(chain, library_13): provider = chain.provider registrar = chain.registrar registrar.set_contract_address('Library13', library_13.address) MULTIPLY_13 = chain.project.compiled_contract_data['Multiply13'] Multiply13 = provider.get_contract_factory('Multiply13') expected_bytecode = link_bytecode_by_name( MULTIPLY_13['bytecode'], MULTIPLY_13['linkrefs'], Library13=library_13.address, ) expected_runtime = link_bytecode_by_name( MULTIPLY_13['bytecode_runtime'], MULTIPLY_13['linkrefs_runtime'], Library13=library_13.address, ) assert hexbytes_to_hexstr(Multiply13.bytecode) == expected_bytecode assert hexbytes_to_hexstr(Multiply13.bytecode_runtime) == expected_runtime
def test_get_contract_factory_with_dependency(chain, library_13): provider = chain.provider registrar = chain.registrar registrar.set_contract_address('Library13', library_13.address) MULTIPLY_13 = chain.project.compiled_contract_data['Multiply13'] Multiply13 = provider.get_contract_factory('Multiply13') expected_bytecode = link_bytecode_by_name( MULTIPLY_13['bytecode'], MULTIPLY_13['linkrefs'], Library13=library_13.address, ) expected_runtime = link_bytecode_by_name( MULTIPLY_13['bytecode_runtime'], MULTIPLY_13['linkrefs_runtime'], Library13=library_13.address, ) assert Multiply13.bytecode == expected_bytecode assert Multiply13.bytecode_runtime == expected_runtime
def multiply_13(chain, library_13): Multiply13 = chain.project.compiled_contract_data['Multiply13'] bytecode = link_bytecode_by_name( Multiply13['bytecode'], Multiply13['linkrefs'], Library13=library_13.address, ) LinkedMultiply13 = chain.web3.eth.contract( abi=Multiply13['abi'], bytecode=bytecode, ) multiply_13_address = chain.wait.for_contract_address(LinkedMultiply13.deploy()) return LinkedMultiply13(address=multiply_13_address)