def deploy_rpc_test_contract(deploy_client, name):
    contract_path, contracts = get_test_contract(f"{name}.sol")
    contract_proxy, _ = deploy_client.deploy_solidity_contract(
        name, contracts, libraries=dict(), constructor_parameters=None, contract_path=contract_path
    )

    return contract_proxy
def merge(left, right):
    if left is None:
        return right
    if right is None:
        return left
    if left.prio > right.prio:
        left.right = merge(left.right, right)
        left.update()
        return left
    else:
        right.left = merge(left, right.left)
        right.update()
        return right