commit 444630737e8c37d46f574daf55087a57263ec4bb Author: paul-corbalan Date: Mon Aug 21 16:49:53 2023 +0200 Import diff --git a/Module 1 - Create a Blockchain/blockchain.py b/Module 1 - Create a Blockchain/blockchain.py new file mode 100644 index 0000000..c42ec87 --- /dev/null +++ b/Module 1 - Create a Blockchain/blockchain.py @@ -0,0 +1,104 @@ +# Module 1 - Create a Blockchain + +# To be installed: +# Flask==0.12.2: pip install Flask==0.12.2 +# Postman HTTP Client: https://www.getpostman.com/ + +# Importing the libraries +import datetime +import hashlib +import json +from flask import Flask, jsonify + +# Part 1 - Building a Blockchain + +class Blockchain: + + def __init__(self): + self.chain = [] + self.create_block(proof = 1, previous_hash = '0') + + def create_block(self, proof, previous_hash): + block = {'index': len(self.chain) + 1, + 'timestamp': str(datetime.datetime.now()), + 'proof': proof, + 'previous_hash': previous_hash} + self.chain.append(block) + return block + + def get_previous_block(self): + return self.chain[-1] + + def proof_of_work(self, previous_proof): + new_proof = 1 + check_proof = False + while check_proof is False: + hash_operation = hashlib.sha256(str(new_proof**2 - previous_proof**2).encode()).hexdigest() + if hash_operation[:4] == '0000': + check_proof = True + else: + new_proof += 1 + return new_proof + + def hash(self, block): + encoded_block = json.dumps(block, sort_keys = True).encode() + return hashlib.sha256(encoded_block).hexdigest() + + def is_chain_valid(self, chain): + previous_block = chain[0] + block_index = 1 + while block_index < len(chain): + block = chain[block_index] + if block['previous_hash'] != self.hash(previous_block): + return False + previous_proof = previous_block['proof'] + proof = block['proof'] + hash_operation = hashlib.sha256(str(proof**2 - previous_proof**2).encode()).hexdigest() + if hash_operation[:4] != '0000': + return False + previous_block = block + block_index += 1 + return True + +# Part 2 - Mining our Blockchain + +# Creating a Web App +app = Flask(__name__) + +# Creating a Blockchain +blockchain = Blockchain() + +# Mining a new block +@app.route('/mine_block', methods = ['GET']) +def mine_block(): + previous_block = blockchain.get_previous_block() + previous_proof = previous_block['proof'] + proof = blockchain.proof_of_work(previous_proof) + previous_hash = blockchain.hash(previous_block) + block = blockchain.create_block(proof, previous_hash) + response = {'message': 'Congratulations, you just mined a block!', + 'index': block['index'], + 'timestamp': block['timestamp'], + 'proof': block['proof'], + 'previous_hash': block['previous_hash']} + return jsonify(response), 200 + +# Getting the full Blockchain +@app.route('/get_chain', methods = ['GET']) +def get_chain(): + response = {'chain': blockchain.chain, + 'length': len(blockchain.chain)} + return jsonify(response), 200 + +# Checking if the Blockchain is valid +@app.route('/is_valid', methods = ['GET']) +def is_valid(): + is_valid = blockchain.is_chain_valid(blockchain.chain) + if is_valid: + response = {'message': 'All good. The Blockchain is valid.'} + else: + response = {'message': 'Houston, we have a problem. The Blockchain is not valid.'} + return jsonify(response), 200 + +# Running the app +app.run(host = '0.0.0.0', port = 5000) diff --git a/Module 2 - Create a Cryptocurrency/hadcoin.py b/Module 2 - Create a Cryptocurrency/hadcoin.py new file mode 100644 index 0000000..e235d2c --- /dev/null +++ b/Module 2 - Create a Cryptocurrency/hadcoin.py @@ -0,0 +1,183 @@ +# Module 2 - Create a Cryptocurrency + +# To be installed: +# Flask==0.12.2: pip install Flask==0.12.2 +# Postman HTTP Client: https://www.getpostman.com/ +# requests==2.18.4: pip install requests==2.18.4 + +# Importing the libraries +import datetime +import hashlib +import json +from flask import Flask, jsonify, request +import requests +from uuid import uuid4 +from urllib.parse import urlparse + +# Part 1 - Building a Blockchain + +class Blockchain: + + def __init__(self): + self.chain = [] + self.transactions = [] + self.create_block(proof = 1, previous_hash = '0') + self.nodes = set() + + def create_block(self, proof, previous_hash): + block = {'index': len(self.chain) + 1, + 'timestamp': str(datetime.datetime.now()), + 'proof': proof, + 'previous_hash': previous_hash, + 'transactions': self.transactions} + self.transactions = [] + self.chain.append(block) + return block + + def get_previous_block(self): + return self.chain[-1] + + def proof_of_work(self, previous_proof): + new_proof = 1 + check_proof = False + while check_proof is False: + hash_operation = hashlib.sha256(str(new_proof**2 - previous_proof**2).encode()).hexdigest() + if hash_operation[:4] == '0000': + check_proof = True + else: + new_proof += 1 + return new_proof + + def hash(self, block): + encoded_block = json.dumps(block, sort_keys = True).encode() + return hashlib.sha256(encoded_block).hexdigest() + + def is_chain_valid(self, chain): + previous_block = chain[0] + block_index = 1 + while block_index < len(chain): + block = chain[block_index] + if block['previous_hash'] != self.hash(previous_block): + return False + previous_proof = previous_block['proof'] + proof = block['proof'] + hash_operation = hashlib.sha256(str(proof**2 - previous_proof**2).encode()).hexdigest() + if hash_operation[:4] != '0000': + return False + previous_block = block + block_index += 1 + return True + + def add_transaction(self, sender, receiver, amount): + self.transactions.append({'sender': sender, + 'receiver': receiver, + 'amount': amount}) + previous_block = self.get_previous_block() + return previous_block['index'] + 1 + + def add_node(self, address): + parsed_url = urlparse(address) + self.nodes.add(parsed_url.netloc) + + def replace_chain(self): + network = self.nodes + longest_chain = None + max_length = len(self.chain) + for node in network: + response = requests.get(f'http://{node}/get_chain') + if response.status_code == 200: + length = response.json()['length'] + chain = response.json()['chain'] + if length > max_length and self.is_chain_valid(chain): + max_length = length + longest_chain = chain + if longest_chain: + self.chain = longest_chain + return True + return False + +# Part 2 - Mining our Blockchain + +# Creating a Web App +app = Flask(__name__) + +# Creating an address for the node on Port 5000 +node_address = str(uuid4()).replace('-', '') + +# Creating a Blockchain +blockchain = Blockchain() + +# Mining a new block +@app.route('/mine_block', methods = ['GET']) +def mine_block(): + previous_block = blockchain.get_previous_block() + previous_proof = previous_block['proof'] + proof = blockchain.proof_of_work(previous_proof) + previous_hash = blockchain.hash(previous_block) + blockchain.add_transaction(sender = node_address, receiver = 'Hadelin', amount = 1) + block = blockchain.create_block(proof, previous_hash) + response = {'message': 'Congratulations, you just mined a block!', + 'index': block['index'], + 'timestamp': block['timestamp'], + 'proof': block['proof'], + 'previous_hash': block['previous_hash'], + 'transactions': block['transactions']} + return jsonify(response), 200 + +# Getting the full Blockchain +@app.route('/get_chain', methods = ['GET']) +def get_chain(): + response = {'chain': blockchain.chain, + 'length': len(blockchain.chain)} + return jsonify(response), 200 + +# Checking if the Blockchain is valid +@app.route('/is_valid', methods = ['GET']) +def is_valid(): + is_valid = blockchain.is_chain_valid(blockchain.chain) + if is_valid: + response = {'message': 'All good. The Blockchain is valid.'} + else: + response = {'message': 'Houston, we have a problem. The Blockchain is not valid.'} + return jsonify(response), 200 + +# Adding a new transaction to the Blockchain +@app.route('/add_transaction', methods = ['POST']) +def add_transaction(): + json = request.get_json() + transaction_keys = ['sender', 'receiver', 'amount'] + if not all(key in json for key in transaction_keys): + return 'Some elements of the transaction are missing', 400 + index = blockchain.add_transaction(json['sender'], json['receiver'], json['amount']) + response = {'message': f'This transaction will be added to Block {index}'} + return jsonify(response), 201 + +# Part 3 - Decentralizing our Blockchain + +# Connecting new nodes +@app.route('/connect_node', methods = ['POST']) +def connect_node(): + json = request.get_json() + nodes = json.get('nodes') + if nodes is None: + return "No node", 400 + for node in nodes: + blockchain.add_node(node) + response = {'message': 'All the nodes are now connected. The Hadcoin Blockchain now contains the following nodes:', + 'total_nodes': list(blockchain.nodes)} + return jsonify(response), 201 + +# Replacing the chain by the longest chain if needed +@app.route('/replace_chain', methods = ['GET']) +def replace_chain(): + is_chain_replaced = blockchain.replace_chain() + if is_chain_replaced: + response = {'message': 'The nodes had different chains so the chain was replaced by the longest one.', + 'new_chain': blockchain.chain} + else: + response = {'message': 'All good. The chain is the largest one.', + 'actual_chain': blockchain.chain} + return jsonify(response), 200 + +# Running the app +app.run(host = '0.0.0.0', port = 5000) diff --git a/Module 2 - Create a Cryptocurrency/hadcoin_node_5001.py b/Module 2 - Create a Cryptocurrency/hadcoin_node_5001.py new file mode 100644 index 0000000..818a4a0 --- /dev/null +++ b/Module 2 - Create a Cryptocurrency/hadcoin_node_5001.py @@ -0,0 +1,183 @@ +# Module 2 - Create a Cryptocurrency + +# To be installed: +# Flask==0.12.2: pip install Flask==0.12.2 +# Postman HTTP Client: https://www.getpostman.com/ +# requests==2.18.4: pip install requests==2.18.4 + +# Importing the libraries +import datetime +import hashlib +import json +from flask import Flask, jsonify, request +import requests +from uuid import uuid4 +from urllib.parse import urlparse + +# Part 1 - Building a Blockchain + +class Blockchain: + + def __init__(self): + self.chain = [] + self.transactions = [] + self.create_block(proof = 1, previous_hash = '0') + self.nodes = set() + + def create_block(self, proof, previous_hash): + block = {'index': len(self.chain) + 1, + 'timestamp': str(datetime.datetime.now()), + 'proof': proof, + 'previous_hash': previous_hash, + 'transactions': self.transactions} + self.transactions = [] + self.chain.append(block) + return block + + def get_previous_block(self): + return self.chain[-1] + + def proof_of_work(self, previous_proof): + new_proof = 1 + check_proof = False + while check_proof is False: + hash_operation = hashlib.sha256(str(new_proof**2 - previous_proof**2).encode()).hexdigest() + if hash_operation[:4] == '0000': + check_proof = True + else: + new_proof += 1 + return new_proof + + def hash(self, block): + encoded_block = json.dumps(block, sort_keys = True).encode() + return hashlib.sha256(encoded_block).hexdigest() + + def is_chain_valid(self, chain): + previous_block = chain[0] + block_index = 1 + while block_index < len(chain): + block = chain[block_index] + if block['previous_hash'] != self.hash(previous_block): + return False + previous_proof = previous_block['proof'] + proof = block['proof'] + hash_operation = hashlib.sha256(str(proof**2 - previous_proof**2).encode()).hexdigest() + if hash_operation[:4] != '0000': + return False + previous_block = block + block_index += 1 + return True + + def add_transaction(self, sender, receiver, amount): + self.transactions.append({'sender': sender, + 'receiver': receiver, + 'amount': amount}) + previous_block = self.get_previous_block() + return previous_block['index'] + 1 + + def add_node(self, address): + parsed_url = urlparse(address) + self.nodes.add(parsed_url.netloc) + + def replace_chain(self): + network = self.nodes + longest_chain = None + max_length = len(self.chain) + for node in network: + response = requests.get(f'http://{node}/get_chain') + if response.status_code == 200: + length = response.json()['length'] + chain = response.json()['chain'] + if length > max_length and self.is_chain_valid(chain): + max_length = length + longest_chain = chain + if longest_chain: + self.chain = longest_chain + return True + return False + +# Part 2 - Mining our Blockchain + +# Creating a Web App +app = Flask(__name__) + +# Creating an address for the node on Port 5001 +node_address = str(uuid4()).replace('-', '') + +# Creating a Blockchain +blockchain = Blockchain() + +# Mining a new block +@app.route('/mine_block', methods = ['GET']) +def mine_block(): + previous_block = blockchain.get_previous_block() + previous_proof = previous_block['proof'] + proof = blockchain.proof_of_work(previous_proof) + previous_hash = blockchain.hash(previous_block) + blockchain.add_transaction(sender = node_address, receiver = 'Hadelin', amount = 1) + block = blockchain.create_block(proof, previous_hash) + response = {'message': 'Congratulations, you just mined a block!', + 'index': block['index'], + 'timestamp': block['timestamp'], + 'proof': block['proof'], + 'previous_hash': block['previous_hash'], + 'transactions': block['transactions']} + return jsonify(response), 200 + +# Getting the full Blockchain +@app.route('/get_chain', methods = ['GET']) +def get_chain(): + response = {'chain': blockchain.chain, + 'length': len(blockchain.chain)} + return jsonify(response), 200 + +# Checking if the Blockchain is valid +@app.route('/is_valid', methods = ['GET']) +def is_valid(): + is_valid = blockchain.is_chain_valid(blockchain.chain) + if is_valid: + response = {'message': 'All good. The Blockchain is valid.'} + else: + response = {'message': 'Houston, we have a problem. The Blockchain is not valid.'} + return jsonify(response), 200 + +# Adding a new transaction to the Blockchain +@app.route('/add_transaction', methods = ['POST']) +def add_transaction(): + json = request.get_json() + transaction_keys = ['sender', 'receiver', 'amount'] + if not all(key in json for key in transaction_keys): + return 'Some elements of the transaction are missing', 400 + index = blockchain.add_transaction(json['sender'], json['receiver'], json['amount']) + response = {'message': f'This transaction will be added to Block {index}'} + return jsonify(response), 201 + +# Part 3 - Decentralizing our Blockchain + +# Connecting new nodes +@app.route('/connect_node', methods = ['POST']) +def connect_node(): + json = request.get_json() + nodes = json.get('nodes') + if nodes is None: + return "No node", 400 + for node in nodes: + blockchain.add_node(node) + response = {'message': 'All the nodes are now connected. The Hadcoin Blockchain now contains the following nodes:', + 'total_nodes': list(blockchain.nodes)} + return jsonify(response), 201 + +# Replacing the chain by the longest chain if needed +@app.route('/replace_chain', methods = ['GET']) +def replace_chain(): + is_chain_replaced = blockchain.replace_chain() + if is_chain_replaced: + response = {'message': 'The nodes had different chains so the chain was replaced by the longest one.', + 'new_chain': blockchain.chain} + else: + response = {'message': 'All good. The chain is the largest one.', + 'actual_chain': blockchain.chain} + return jsonify(response), 200 + +# Running the app +app.run(host = '0.0.0.0', port = 5001) diff --git a/Module 2 - Create a Cryptocurrency/hadcoin_node_5002.py b/Module 2 - Create a Cryptocurrency/hadcoin_node_5002.py new file mode 100644 index 0000000..acbbc06 --- /dev/null +++ b/Module 2 - Create a Cryptocurrency/hadcoin_node_5002.py @@ -0,0 +1,183 @@ +# Module 2 - Create a Cryptocurrency + +# To be installed: +# Flask==0.12.2: pip install Flask==0.12.2 +# Postman HTTP Client: https://www.getpostman.com/ +# requests==2.18.4: pip install requests==2.18.4 + +# Importing the libraries +import datetime +import hashlib +import json +from flask import Flask, jsonify, request +import requests +from uuid import uuid4 +from urllib.parse import urlparse + +# Part 1 - Building a Blockchain + +class Blockchain: + + def __init__(self): + self.chain = [] + self.transactions = [] + self.create_block(proof = 1, previous_hash = '0') + self.nodes = set() + + def create_block(self, proof, previous_hash): + block = {'index': len(self.chain) + 1, + 'timestamp': str(datetime.datetime.now()), + 'proof': proof, + 'previous_hash': previous_hash, + 'transactions': self.transactions} + self.transactions = [] + self.chain.append(block) + return block + + def get_previous_block(self): + return self.chain[-1] + + def proof_of_work(self, previous_proof): + new_proof = 1 + check_proof = False + while check_proof is False: + hash_operation = hashlib.sha256(str(new_proof**2 - previous_proof**2).encode()).hexdigest() + if hash_operation[:4] == '0000': + check_proof = True + else: + new_proof += 1 + return new_proof + + def hash(self, block): + encoded_block = json.dumps(block, sort_keys = True).encode() + return hashlib.sha256(encoded_block).hexdigest() + + def is_chain_valid(self, chain): + previous_block = chain[0] + block_index = 1 + while block_index < len(chain): + block = chain[block_index] + if block['previous_hash'] != self.hash(previous_block): + return False + previous_proof = previous_block['proof'] + proof = block['proof'] + hash_operation = hashlib.sha256(str(proof**2 - previous_proof**2).encode()).hexdigest() + if hash_operation[:4] != '0000': + return False + previous_block = block + block_index += 1 + return True + + def add_transaction(self, sender, receiver, amount): + self.transactions.append({'sender': sender, + 'receiver': receiver, + 'amount': amount}) + previous_block = self.get_previous_block() + return previous_block['index'] + 1 + + def add_node(self, address): + parsed_url = urlparse(address) + self.nodes.add(parsed_url.netloc) + + def replace_chain(self): + network = self.nodes + longest_chain = None + max_length = len(self.chain) + for node in network: + response = requests.get(f'http://{node}/get_chain') + if response.status_code == 200: + length = response.json()['length'] + chain = response.json()['chain'] + if length > max_length and self.is_chain_valid(chain): + max_length = length + longest_chain = chain + if longest_chain: + self.chain = longest_chain + return True + return False + +# Part 2 - Mining our Blockchain + +# Creating a Web App +app = Flask(__name__) + +# Creating an address for the node on Port 5002 +node_address = str(uuid4()).replace('-', '') + +# Creating a Blockchain +blockchain = Blockchain() + +# Mining a new block +@app.route('/mine_block', methods = ['GET']) +def mine_block(): + previous_block = blockchain.get_previous_block() + previous_proof = previous_block['proof'] + proof = blockchain.proof_of_work(previous_proof) + previous_hash = blockchain.hash(previous_block) + blockchain.add_transaction(sender = node_address, receiver = 'Kirill', amount = 1) + block = blockchain.create_block(proof, previous_hash) + response = {'message': 'Congratulations, you just mined a block!', + 'index': block['index'], + 'timestamp': block['timestamp'], + 'proof': block['proof'], + 'previous_hash': block['previous_hash'], + 'transactions': block['transactions']} + return jsonify(response), 200 + +# Getting the full Blockchain +@app.route('/get_chain', methods = ['GET']) +def get_chain(): + response = {'chain': blockchain.chain, + 'length': len(blockchain.chain)} + return jsonify(response), 200 + +# Checking if the Blockchain is valid +@app.route('/is_valid', methods = ['GET']) +def is_valid(): + is_valid = blockchain.is_chain_valid(blockchain.chain) + if is_valid: + response = {'message': 'All good. The Blockchain is valid.'} + else: + response = {'message': 'Houston, we have a problem. The Blockchain is not valid.'} + return jsonify(response), 200 + +# Adding a new transaction to the Blockchain +@app.route('/add_transaction', methods = ['POST']) +def add_transaction(): + json = request.get_json() + transaction_keys = ['sender', 'receiver', 'amount'] + if not all(key in json for key in transaction_keys): + return 'Some elements of the transaction are missing', 400 + index = blockchain.add_transaction(json['sender'], json['receiver'], json['amount']) + response = {'message': f'This transaction will be added to Block {index}'} + return jsonify(response), 201 + +# Part 3 - Decentralizing our Blockchain + +# Connecting new nodes +@app.route('/connect_node', methods = ['POST']) +def connect_node(): + json = request.get_json() + nodes = json.get('nodes') + if nodes is None: + return "No node", 400 + for node in nodes: + blockchain.add_node(node) + response = {'message': 'All the nodes are now connected. The Hadcoin Blockchain now contains the following nodes:', + 'total_nodes': list(blockchain.nodes)} + return jsonify(response), 201 + +# Replacing the chain by the longest chain if needed +@app.route('/replace_chain', methods = ['GET']) +def replace_chain(): + is_chain_replaced = blockchain.replace_chain() + if is_chain_replaced: + response = {'message': 'The nodes had different chains so the chain was replaced by the longest one.', + 'new_chain': blockchain.chain} + else: + response = {'message': 'All good. The chain is the largest one.', + 'actual_chain': blockchain.chain} + return jsonify(response), 200 + +# Running the app +app.run(host = '0.0.0.0', port = 5002) diff --git a/Module 2 - Create a Cryptocurrency/hadcoin_node_5003.py b/Module 2 - Create a Cryptocurrency/hadcoin_node_5003.py new file mode 100644 index 0000000..30fea17 --- /dev/null +++ b/Module 2 - Create a Cryptocurrency/hadcoin_node_5003.py @@ -0,0 +1,183 @@ +# Module 2 - Create a Cryptocurrency + +# To be installed: +# Flask==0.12.2: pip install Flask==0.12.2 +# Postman HTTP Client: https://www.getpostman.com/ +# requests==2.18.4: pip install requests==2.18.4 + +# Importing the libraries +import datetime +import hashlib +import json +from flask import Flask, jsonify, request +import requests +from uuid import uuid4 +from urllib.parse import urlparse + +# Part 1 - Building a Blockchain + +class Blockchain: + + def __init__(self): + self.chain = [] + self.transactions = [] + self.create_block(proof = 1, previous_hash = '0') + self.nodes = set() + + def create_block(self, proof, previous_hash): + block = {'index': len(self.chain) + 1, + 'timestamp': str(datetime.datetime.now()), + 'proof': proof, + 'previous_hash': previous_hash, + 'transactions': self.transactions} + self.transactions = [] + self.chain.append(block) + return block + + def get_previous_block(self): + return self.chain[-1] + + def proof_of_work(self, previous_proof): + new_proof = 1 + check_proof = False + while check_proof is False: + hash_operation = hashlib.sha256(str(new_proof**2 - previous_proof**2).encode()).hexdigest() + if hash_operation[:4] == '0000': + check_proof = True + else: + new_proof += 1 + return new_proof + + def hash(self, block): + encoded_block = json.dumps(block, sort_keys = True).encode() + return hashlib.sha256(encoded_block).hexdigest() + + def is_chain_valid(self, chain): + previous_block = chain[0] + block_index = 1 + while block_index < len(chain): + block = chain[block_index] + if block['previous_hash'] != self.hash(previous_block): + return False + previous_proof = previous_block['proof'] + proof = block['proof'] + hash_operation = hashlib.sha256(str(proof**2 - previous_proof**2).encode()).hexdigest() + if hash_operation[:4] != '0000': + return False + previous_block = block + block_index += 1 + return True + + def add_transaction(self, sender, receiver, amount): + self.transactions.append({'sender': sender, + 'receiver': receiver, + 'amount': amount}) + previous_block = self.get_previous_block() + return previous_block['index'] + 1 + + def add_node(self, address): + parsed_url = urlparse(address) + self.nodes.add(parsed_url.netloc) + + def replace_chain(self): + network = self.nodes + longest_chain = None + max_length = len(self.chain) + for node in network: + response = requests.get(f'http://{node}/get_chain') + if response.status_code == 200: + length = response.json()['length'] + chain = response.json()['chain'] + if length > max_length and self.is_chain_valid(chain): + max_length = length + longest_chain = chain + if longest_chain: + self.chain = longest_chain + return True + return False + +# Part 2 - Mining our Blockchain + +# Creating a Web App +app = Flask(__name__) + +# Creating an address for the node on Port 5003 +node_address = str(uuid4()).replace('-', '') + +# Creating a Blockchain +blockchain = Blockchain() + +# Mining a new block +@app.route('/mine_block', methods = ['GET']) +def mine_block(): + previous_block = blockchain.get_previous_block() + previous_proof = previous_block['proof'] + proof = blockchain.proof_of_work(previous_proof) + previous_hash = blockchain.hash(previous_block) + blockchain.add_transaction(sender = node_address, receiver = 'You', amount = 1) + block = blockchain.create_block(proof, previous_hash) + response = {'message': 'Congratulations, you just mined a block!', + 'index': block['index'], + 'timestamp': block['timestamp'], + 'proof': block['proof'], + 'previous_hash': block['previous_hash'], + 'transactions': block['transactions']} + return jsonify(response), 200 + +# Getting the full Blockchain +@app.route('/get_chain', methods = ['GET']) +def get_chain(): + response = {'chain': blockchain.chain, + 'length': len(blockchain.chain)} + return jsonify(response), 200 + +# Checking if the Blockchain is valid +@app.route('/is_valid', methods = ['GET']) +def is_valid(): + is_valid = blockchain.is_chain_valid(blockchain.chain) + if is_valid: + response = {'message': 'All good. The Blockchain is valid.'} + else: + response = {'message': 'Houston, we have a problem. The Blockchain is not valid.'} + return jsonify(response), 200 + +# Adding a new transaction to the Blockchain +@app.route('/add_transaction', methods = ['POST']) +def add_transaction(): + json = request.get_json() + transaction_keys = ['sender', 'receiver', 'amount'] + if not all(key in json for key in transaction_keys): + return 'Some elements of the transaction are missing', 400 + index = blockchain.add_transaction(json['sender'], json['receiver'], json['amount']) + response = {'message': f'This transaction will be added to Block {index}'} + return jsonify(response), 201 + +# Part 3 - Decentralizing our Blockchain + +# Connecting new nodes +@app.route('/connect_node', methods = ['POST']) +def connect_node(): + json = request.get_json() + nodes = json.get('nodes') + if nodes is None: + return "No node", 400 + for node in nodes: + blockchain.add_node(node) + response = {'message': 'All the nodes are now connected. The Hadcoin Blockchain now contains the following nodes:', + 'total_nodes': list(blockchain.nodes)} + return jsonify(response), 201 + +# Replacing the chain by the longest chain if needed +@app.route('/replace_chain', methods = ['GET']) +def replace_chain(): + is_chain_replaced = blockchain.replace_chain() + if is_chain_replaced: + response = {'message': 'The nodes had different chains so the chain was replaced by the longest one.', + 'new_chain': blockchain.chain} + else: + response = {'message': 'All good. The chain is the largest one.', + 'actual_chain': blockchain.chain} + return jsonify(response), 200 + +# Running the app +app.run(host = '0.0.0.0', port = 5003) diff --git a/Module 2 - Create a Cryptocurrency/nodes.json b/Module 2 - Create a Cryptocurrency/nodes.json new file mode 100644 index 0000000..0bdcffd --- /dev/null +++ b/Module 2 - Create a Cryptocurrency/nodes.json @@ -0,0 +1,5 @@ +{ + "nodes": ["http://127.0.0.1:5001", + "http://127.0.0.1:5002", + "http://127.0.0.1:5003"] +} \ No newline at end of file diff --git a/Module 2 - Create a Cryptocurrency/transaction.json b/Module 2 - Create a Cryptocurrency/transaction.json new file mode 100644 index 0000000..71c47e2 --- /dev/null +++ b/Module 2 - Create a Cryptocurrency/transaction.json @@ -0,0 +1,5 @@ +{ + "sender": "", + "receiver": "", + "amount": +} \ No newline at end of file diff --git a/Module 3 - Create a Smart Contract/Ganache-1.0.2.dmg b/Module 3 - Create a Smart Contract/Ganache-1.0.2.dmg new file mode 100644 index 0000000..dadeb15 Binary files /dev/null and b/Module 3 - Create a Smart Contract/Ganache-1.0.2.dmg differ diff --git a/Module 3 - Create a Smart Contract/etherwallet-v3.11.2.4.zip b/Module 3 - Create a Smart Contract/etherwallet-v3.11.2.4.zip new file mode 100644 index 0000000..fa29a1e Binary files /dev/null and b/Module 3 - Create a Smart Contract/etherwallet-v3.11.2.4.zip differ diff --git a/Module 3 - Create a Smart Contract/etherwallet-v3.11.2.4/README.md b/Module 3 - Create a Smart Contract/etherwallet-v3.11.2.4/README.md new file mode 100644 index 0000000..e96b06c --- /dev/null +++ b/Module 3 - Create a Smart Contract/etherwallet-v3.11.2.4/README.md @@ -0,0 +1,236 @@ +### [https://www.MyEtherWallet.com](https://www.MyEtherWallet.com) + +### [Chrome Extension](https://chrome.google.com/webstore/detail/myetherwallet-cx/nlbmnnijcnlegkjjpcfjclmcfggfefdm) + +### [Download the Latest Release](https://github.com/kvhnuke/etherwallet/releases/latest) + +- etherwallet-vX.X.X.X.zip is the smaller package containing the gh-pages branch aka MyEtherWallet.com +- chrome-extension-vX.X.X.X.zip is the chrome extension package +- source code is the full source for developers to get started with (although cloning or forking the mercury branch is probably a better choice) + + +### MEW Around the Web + +- [Website: https://www.myetherwallet.com/](https://www.myetherwallet.com/) +- [CX: https://chrome.google.com/webstore/detail/myetherwallet-cx/nlbmnnijcnlegkjjpcfjclmcfggfefdm](https://chrome.google.com/webstore/detail/myetherwallet-cx/nlbmnnijcnlegkjjpcfjclmcfggfefdm) +- [Anti-phish CX](https://chrome.google.com/webstore/detail/etheraddresslookup/pdknmigbbbhmllnmgdfalmedcmcefdfn) +- [FB: https://www.facebook.com/MyEtherWallet/](https://www.facebook.com/MyEtherWallet/) +- [Twitter: https://twitter.com/myetherwallet](https://twitter.com/myetherwallet) +- [Medium: https://medium.com/@myetherwallet](https://medium.com/@myetherwallet) +- [Help Center: https://myetherwallet.groovehq.com/help_center](https://myetherwallet.groovehq.com/help_center) +- [Github MEW Repo: https://github.com/kvhnuke/etherwallet](https://github.com/kvhnuke/etherwallet) +- [Github MEW Org: https://github.com/MyEtherWallet](https://github.com/MyEtherWallet) +- [Github Pages URL: https://kvhnuke.github.io/etherwallet/](https://kvhnuke.github.io/etherwallet/) +- [Github Latest Releases: https://github.com/kvhnuke/etherwallet/releases/latest](https://github.com/kvhnuke/etherwallet/releases/latest) +- [Github Anti-phish CX: https://github.com/409H/EtherAddressLookup](https://github.com/409H/EtherAddressLookup) +- [Slack: https://myetherwallet.slack.com/ & https://myetherwallet.herokuapp.com/](https://myetherwallet.slack.com/ & https://myetherwallet.herokuapp.com/) +- [Reddit: https://www.reddit.com/r/MyEtherWallet/](https://www.reddit.com/r/MyEtherWallet/) +- [tayvano (founder) reddit: https://www.reddit.com/user/insomniasexx/](https://www.reddit.com/user/insomniasexx/) +- [kvhnuke (founder) reddit: https://www.reddit.com/user/kvhnuke/](https://www.reddit.com/user/kvhnuke/) +- [jordan (cmo) reddit: https://www.reddit.com/user/trogdortb001](https://www.reddit.com/user/trogdortb001) +- [myetherwallet reddit user: https://www.reddit.com/user/myetherwallet](https://www.reddit.com/user/myetherwallet) +- MEW ETH Donation Address: 0x7cB57B5A97eAbe94205C07890BE4c1aD31E486A8 (mewtopia.eth) +- MEW BTC Donation Address: 1MEWT2SGbqtz6mPCgFcnea8XmWV5Z4Wc6 + + +### `mercury` is the development branch. gh-pages contains only the smaller dist folder only and is served to MyEtherWallet.com + +- Our infrastructure ("node") is on AWS. [You can also use your own node.](https://myetherwallet.github.io/knowledge-base/networks/run-your-own-node-with-myetherwallet.html) +- We also provide access to Infura.io & Etherscan.io nodes. Use the drop-down in the top-right. + + +### MyEtherWallet + +- MyEtherWallet is a free, open-source, client-side tool for easily & securely interacting with the Ethereum network. As one of the leading providers of Ethereum services, MyEtherWallet equips users with an easy-to-understand and accessible suite of tools for their needs. +- It was created and is maintained by [kvhnuke](https://github.com/kvhnuke) and [tayvano](https://github.com/tayvano). + +#### Features + +- Create new wallets completely client side. +- Access your wallet via unencrypted private key, encrypted private key, keystore files, mnemonics, or Digital Bitbox, Ledger Nano S or TREZOR hardware wallet. +- Easily send ETH and *any* ERC-20 Standard Token. [Many tokens included as default.](https://myetherwallet.groovehq.com/knowledge_base/topics/can-i-send-my-steem-slash-btc-slash-ltc-slash-nem-slash-to-myetherwallet) +- Generate, sign & send transactions offline, ensuring your private keys never touch an internet-connected device. +- Securely access your ETH & Tokens on your [Digital Bitbox, Ledger or TREZOR Hardware Wallet](https://myetherwallet.groovehq.com/knowledge_base/topics/hardware-wallet-recommends) via the MyEtherWallet interface (Chrome & Opera natively, Firefox w/ [add-on](https://addons.mozilla.org/en-US/firefox/addon/u2f-support-add-on/)) +- Now in 18 languages thanks 100% to the amazing Ethereum community. +- Supports URI Strings on Send Transaction Page. + - to=[address] + - value=[number] + - sendMode=[ether | token] + - tokenSymbol=[ARC | ICN | MKR | ....] + - gasLimit=[number] OR gas=[number] + - data=[hex data] + - Example 1: https://www.myetherwallet.com/?to=0x7cB57B5A97eAbe94205C07890BE4c1aD31E486A8&value=1&tokenSymbol=REP&gaslimit=50000#send-transaction + - Example 2: https://www.myetherwallet.com/?to=0x7cB57B5A97eAbe94205C07890BE4c1aD31E486A8&value=1&gaslimit=23000&data=0x5468616e6b20796f752c204d455720322e30#send-transaction + + + +### Our Philosophy + + - **Empower the people**: Give people the ability to interact with the Ethereum blockchain easily, without having to run a full node. + - **Make it easy & free**: Everyone should be able to create a wallet and send Ether & Tokens without additional cost. + - **People are the Priority**: People are the most important & their experience trumps all else. If monetization worsens the experience, we don't do it. (e.g. ads) + - **A learning experience, too**: We want to educate about Ethereum, security, privacy, the importance of controlling your own keys, how the blockchain works, and how Ethereum and blockchain technologies enable a better world. + - **If it can be hacked, it will be hacked**: Never save, store, or transmit secret info, like passwords or keys. + - **Offline / Client-Side**: User should be able to run locally and offline without issue. + - **Private**: No tracking!!! No emails. No ads. No demographics. We don't even know how many wallets have been generated, let alone who / what / where you are. + - **Open source & audit-able** + + + + +### Users (non-developers) + +- [It is recommended you start here.](https://myetherwallet.github.io/knowledge-base/getting-started/getting-started-new.html) +- You can run MyEtherWallet.com on your computer. You can create a wallet completely offline & send transactions from the "Offline Transaction" page. + +1. Go to https://github.com/kvhnuke/etherwallet/releases/latest. +2. Click on dist-vX.X.X.X.zip. +3. Move zip to an airgapped computer. +4. Unzip it and double-click index.html. +5. MyEtherWallet.com is now running entirely on your computer. + +In case you are not familiar, you need to keep the entire folder in order to run the website, not just index.html. Don't touch or move anything around in the folder. If you are storing a backup of the MyEtherWallet repo for the future, we recommend just storing the ZIP so you can be sure the folder contents stay intact. + +As we are constantly updating MyEtherWallet.com, we recommend you periodically update your saved version of the repo. + + + + + + +### Developers + +If you want to help contribute, here's what you need to know to get it up and running and compiling. + +- Both the Chrome Extension and the MyEtherWallet.com are compiling from the same codebase. This code is found in the `app` folder. Don't touch the `dist` or `chrome-extension` folders. +- We use angular and bootstrap. We used to use jQuery and Bootstrap until it was converted in April 2016. If you wonder why some things are set up funky, that's why. +- The mercury branch is currently the active development branch. We then push the dist folder live to gh-pages, which then gets served to MyEtherWallet.com. +- We use npm / gulp for compiling. There is a lot of stuff happening in the compilation. +- Old node setups can be found in in `json_relay_node` (node.js) & `json_relay_php` (php). These are great resources for developers looking to get started and launch a public node on a $40 Linode instance. + +**Getting Started** + +- Start by running `npm install`. +- Run `npm run dev`. Gulp will then watch & compile everything and then watch for changes to the HTML, JS, or CSS. +- For distribution, run `npm run dist`. + +**Folder Structure** +- `fonts` and `images` get moved into their respective folders. This isn't watched via gulp so if you add an image or font, you need to run `gulp` again. +- `includes` are the pieces of the pages / the pages themselves. These are pretty self-explanatory and where you will make most frontend changes. +- `layouts` are the pages themselves. These basically take all the pieces of the pages and compile into one massive page. The navigation is also found here...sort of. + * `index.html` is for MyEtherWallet.com. + * `cx-wallet.html` is the main page for the Chrome Extension. + * `embedded.html` is for https://www.myetherwallet.com/embedded.html. + +- You can control what shows up on MyEtherWallet.com vs the Chrome Extension by using: `@@if (site === 'cx' ) { ... }` and `@@if (site === 'mew' ) { ... }`. Check out `sendTransaction.tpl` to see it in action. The former will only compile for the Chrome Extension. The latter only to MyEtherWallet.com. +- `embedded.html` is for embedding the wallet generation into third-party sites. [Read more about it and how to listen for the address generated here.](https://www.reddit.com/r/ethereum/comments/4gn37o/embeddable_myetherwallet_super_simple_wallet/) +- The wallet decrypt directives are at `scripts/directives/walletDecryptDrtv.js`. These show up on a lot of pages. +- The navigation is in `scripts/services/globalServices.js`. Again, we control which navigation items show up in which version of the site in this single file. +- As of September 2016, almost all the copy in the .tpl files are only there as placeholders. It all gets replaced via angular-translate. If you want to change some copy you need to do so in `scripts/translations/en.js` folder. You should also make a note about what you changed and move it to the top of the file so that we can make sure it gets translated if necessary. +- `styles` is all the less. It's a couple custom folders and bootstrap. This badly needs to be redone. Ugh. + + + + + + + +### Use Your Own Servers / Node Guide + +- [Setting up on AWS super easily.](https://github.com/MyEtherWallet/docker-geth-lb) + +- [Running MyEtherWallet w/ Your Own Personal Node](https://myetherwallet.github.io/knowledge-base/networks/run-your-own-node-with-myetherwallet.html) + +- [Guide by benjaminion for MEW + Ledger Nano S + Local Parity Node](https://github.com/benjaminion/eth-parity-qnap/wiki/Connecting-to-MyEtherWallet) + +**Old** + +- https://github.com/kvhnuke/etherwallet/issues/226. + +- [Announcing MyEtherWallet v3.4: The Node Switcher](https://www.reddit.com/r/ethereum/comments/5lqx90/announcing_myetherwallet_v34_the_node_switcher/)** + + + + + + +### How to Help Translate + +**A couple of notes:** + +- Everything on the entire site is broken down into lines and in this one file. The uppermost items are the highest priority and the further you go down, the less of a priority it is. +- You can add comments anywhere by wrapping it in /* Your Comment Here */. If you want to leave a note for yourself or someone else, do so in this format. That way it doesn't screw up the code or show up somewhere on the site. +- Don't delete any lines. Just leave it in English if you don't know how to translate it. +- Always make sure each line ends with `',`. So the format is `NAME: ' your text here ',` You only need to change the `your text here` part - try not to touch anything else. + +**If you are NOT a developer and have no idea how this works:** + +Anyone can help out and it looks way more complicated than it is! If you would rather not deal with Github, please send us an email to info@myetherwallet.com and I'll email you the file and you can make changes and send it back to us and I'll make sure you don't screw anything up. If you feel like experiencing something new, read on! + +1. Sign into your Github account or make a new Github account. +2. Go to https://github.com/kvhnuke/etherwallet/tree/mercury/app/scripts/translations +3. Click on the language file you want to update. +4. Look in the upper right. Click the pencil icon. This will then tell you, *"You’re editing a file in a project you don’t have write access to. We’ve created a fork of this project for you to commit your proposed changes to. Submitting a change to this file will write it to a new branch in your fork, so you can send a pull request."* Ignore it all. +5. In your browser, start translating. Translate as little or as much as you want. +6. Scroll down to halfway to the translator's section. Enter your name/username, donation address, and any comments you would like to leave. +7. When you are done, tell us what language you updated. You can also leave any notes about problems you had or things you'd like us to know. +8. Click the green "Propose File change" button. +9. This next page is a review of what you did. +10. Click the "Create Pull Request" button.....twice. [Screenshot](https://ipfs.pics/ipfs/QmZJJvPxXu7BFHDQ1zj1a73EATQETbsDuAJVEJnatTHrms). +11. That's it. You successfully made a new pull request! Tell all your friends. +12. We will now review it and pull it in and it will be made live on the site. We may also ask you questions if something is confusing for whatever reason. + +**If you are a developer and familiar with GitHub, Pull Requests, and know how to save a JS file as a .js file rather than a Word Doc:** + +1. Clone the [mercury branch](https://github.com/kvhnuke/etherwallet/tree/mercury). +2. Go to `/app/scripts/translations/`. +3. Open the language you want to translate. +4. Translate as much or as little as you wish. +5. Add your name/username, donation address, and any notes you would like on in the translator's section, about halfway down. +6. Open a PR and leave us a brief description of what you did and any issues you ran into or comments you have. + +Read more @ [Help us translate MyEtherWallet.com into ALL THE LANGUAGES!](https://www.reddit.com/r/ethereum/comments/4z55s2/help_us_translate_myetherwalletcom_into_all_the/) + + + + + + + +### Contact +If you can think of any other features or run into bugs, let us know. You can fork, open a PR, open an issue, or support at myetherwallet dot com. + + + + + + +### Announcement History + +- 08/12/15: [Launch Post: Ether Wallet Generator (for now)](https://www.reddit.com/r/ethereum/comments/3gkknd/ether_wallet_generator_for_now/). Never forget where you [came from](https://ipfs.pics/ipfs/QmXFK6NBy81ibvTEwnwwEUecXiRyQBriJUnKpaCaE4w7nF). +- 08/19/15: [ETHER WALLET- Ready for the second round?](https://www.reddit.com/r/ethereum/comments/3h6o38/ether_wallet_ready_for_the_second_round/). We the domain name & SSL. +- 08/24/15: [Lets purchase Augur rep, the easy way!](https://www.reddit.com/r/ethereum/comments/3i6eyd/lets_purchase_augur_rep_the_easy_way/) +- 02/08/16: [MyEtherWallet Chrome Extension: The Beta has Arrived](https://www.reddit.com/r/ethereum/comments/44vbef/myetherwallet_chrome_extension_the_beta_has/) +- 03/03/16: [We’ve heard you loud and clear so tonight…we've launch offline / advanced transactions for MyEtherWallet.com](https://www.reddit.com/r/ethereum/comments/48rf3d/weve_heard_you_loud_and_clear_so_tonightweve/) +- 03/05/16: [[Small Announcement] We updated the "Generate Wallet" Page & "Help" Page on MyEtherWallet.com to be more noob-friendly. Hit us with your feedback, please.](https://www.reddit.com/r/ethereum/comments/493t5u/small_announcement_we_updated_the_generate_wallet/) +- 04/18/16: [MyEtherWallet.com v2.0 (aka Mewtwo) has arrived!](https://www.reddit.com/r/ethereum/comments/4faooz/myetherwalletcom_v20_aka_mewtwo_has_arrived/) +- 04/28/16: [Embeddable MyEtherWallet: Super Simple Wallet Generation w/ ability to get the address generated](https://www.reddit.com/r/ethereum/comments/4gn37o/embeddable_myetherwallet_super_simple_wallet/) +- 04/30/16: [How to participate in “The DAO” creation via MyEtherWallet (yes...right NOW!)](https://www.reddit.com/r/ethtrader/comments/4h3xph/how_to_participate_in_the_dao_creation_via/) +- 05/30/16: [MyEtherWallet Update: Send DAO Tokens, Vote on Proposals, and the Chrome Extension finally gets updated!!](https://www.reddit.com/r/ethereum/comments/4lf71h/myetherwallet_update_send_dao_tokens_vote_on/) +- 06/07/16: [⚠ BEWARE: MYETHERWALLET >>.INFO<< IS A PHISHING SCAM AND WILL TAKE ALL YOUR FUNDS. myEtherWallet is MyEtherWallet.com](https://www.reddit.com/r/ethereum/comments/4rpurc/beware_myetherwallet_info_is_a_phishing_scam_and/) +- 07/28/16: [MyEtherWallet now Supports Sending Any Ethereum Token (ERC-20) — also learn about our future plans](https://www.reddit.com/r/ethereum/comments/4v0r32/myetherwallet_now_supports_sending_any_ethereum/) +- 07/28/16: [MyEtherWallet, Preventing Replays, and Ethereum Classic (ETC)](https://www.reddit.com/r/ethereum/comments/4v1y2t/myetherwallet_preventing_replays_and_ethereum/) +- 08/14/16: [⚠ Malicious Phisher is running Google Ads for MyEtherWallet.com ⚠ It does NOT go to MyEtherWallet.com. Always check the URL before accessing or creating a new wallet! Use your bookmarks bar!](https://www.reddit.com/r/ethereum/comments/4xpj0u/malicious_phisher_is_running_google_ads_for/) +- 08/22/16: [Help us translate MyEtherWallet.com into ALL THE LANGUAGES!](https://www.reddit.com/r/ethereum/comments/4z55s2/help_us_translate_myetherwalletcom_into_all_the/) +- 11/21/16: [Massive MyEtherWallet.com Update: Better URIs, The Hardfork, and looking back at the Golem Crowdfund.](https://www.reddit.com/r/ethereum/comments/5e3alw/massive_myetherwalletcom_update_better_uris_the/) +- 1/2/17: [Announcing MyEtherWallet v3.4: The Node Switcher](https://www.reddit.com/r/ethereum/comments/5lqx90/announcing_myetherwallet_v34_the_node_switcher/) +- 1/9/17: [Announcing MyEtherWallet v3.4.3: Interacting with Contracts](https://www.reddit.com/r/ethereum/comments/5n0dj0/announcing_myetherwallet_v343_interacting_with/?utm_content=title&utm_medium=user&utm_source=reddit&utm_name=frontpage) +- 2/3/17: [MyEtherWallet.com v3.4.7: You can use your TREZOR on MEW. Thanks to all who made this a reality 🤗](https://www.reddit.com/r/ethereum/comments/5rsfu9/myetherwalletcom_v347_you_can_use_your_trezor_on/?utm_content=comments&utm_medium=user&utm_source=reddit&utm_name=frontpage) +- 2/16/17: [MyEtherWallet v3.5.0: Swap ETH <-> BTC <-> REP via Bity, directly from MEW! (also: Parity backup phrase support + add'l contract features + our roadmap)](https://www.reddit.com/r/ethereum/comments/5ueysp/myetherwallet_v350_swap_eth_btc_rep_via_bity/?utm_content=comments&utm_medium=user&utm_source=reddit&utm_name=frontpage) +- 4/9/17: [Ethereum vanity address generator](https://www.reddit.com/r/ethereum/comments/5yeb4n/ethereum_vanity_address_generator/?utm_content=comments&utm_medium=user&utm_source=reddit&utm_name=frontpage) +- 4/30/17: [MEW v3.6.6: Enables you to access any path for your Mnemonic, Ledger & TREZOR. (ATTN: folks who have ETH / ETC / Tokens stuck in a different path)](https://www.reddit.com/r/ethereum/comments/68f70l/mew_v366_enables_you_to_access_any_path_for_your/) +- 5/7/17: [ENS disguise bid issue on MyEtherWallet](https://www.reddit.com/r/ethereum/comments/69vz57/ens_disguise_bid_issue_on_myetherwallet/) +- - 8/15/17: [MyEtherWallet needs motivated devs!](https://www.reddit.com/r/ethereum/comments/6tqrs1/myetherwallet_needs_motivated_devs/?utm_content=comments&utm_medium=user&utm_source=reddit&utm_name=frontpage) +- 10/28/17: [MyEtherWallet - New Contract Interaction Tools](https://www.reddit.com/r/ethereum/comments/7961ml/myetherwallet_new_contract_interaction_tools/) + +#### MyEtherWallet.com & MyEtherWallet CX are licensed under The MIT License (MIT). diff --git a/Module 3 - Create a Smart Contract/etherwallet-v3.11.2.4/bin/startMEW.js b/Module 3 - Create a Smart Contract/etherwallet-v3.11.2.4/bin/startMEW.js new file mode 100644 index 0000000..7303a36 --- /dev/null +++ b/Module 3 - Create a Smart Contract/etherwallet-v3.11.2.4/bin/startMEW.js @@ -0,0 +1,5 @@ +#! /usr/bin/env node + +var open = require("open"); +var seperator = process.platform=="win32" ? "\\" : "/"; +open(require('path').dirname(require.main.filename)+seperator+".."+seperator+"index.html"); diff --git a/Module 3 - Create a Smart Contract/etherwallet-v3.11.2.4/css/etherwallet-master.min.css b/Module 3 - Create a Smart Contract/etherwallet-v3.11.2.4/css/etherwallet-master.min.css new file mode 100644 index 0000000..56d14d8 --- /dev/null +++ b/Module 3 - Create a Smart Contract/etherwallet-v3.11.2.4/css/etherwallet-master.min.css @@ -0,0 +1,3 @@ +@font-face{font-family:Lato;src:url(../fonts/Lato-Light.woff) format("woff");font-style:normal;font-weight:300}@font-face{font-family:Lato;src:url(../fonts/Lato-Regular.woff) format("woff");font-style:normal;font-weight:400}@font-face{font-family:Lato;src:url(../fonts/Lato-Bold.woff) format("woff");font-style:normal;font-weight:700} +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0} +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline;color:#000}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #000;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}.print-text{color:#0b7290!important}footer{border-top:1px solid #000}header{border-bottom:1px solid #000;border-top:0 solid #fff!important}.btn{border:1px solid #000;color:1px solid #000;background:transparent!important}.nav-container{display:none!important}.footer-1 img{width:40px!important}.footer-1 *,.footer-2 *,.footer-3 *{font-size:8px!important;line-height:1.1!important}.footer-1 .footer-2,.footer-1 .footer-3,.footer-2 .footer-2,.footer-2 .footer-3,.footer-3 .footer-2,.footer-3 .footer-3{float:left!important}.h1,h1{font-size:18px}.h1,.h2,h1,h2{font-weight:700}.h2,h2{font-size:17px}.h3,h3{font-size:16px}.h3,.h4,h3,h4{font-weight:700}.h4,h4{font-size:15px}.h5,h5{font-size:14px}.h5,.h6,h5,h6{font-weight:700}.h6,h6{font-size:13px}.modal{position:inherit!important;page-break-inside:avoid;page-break-before:always}}*,:after,:before{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-size:15 px;-webkit-tap-highlight-color:rgba(0,0,0,0);height:100%}@media screen and (min-width:94rem){html{font-size:16px}}@media screen and (max-width:50.2rem){html{font-size:15 px}}body{font-family:Lato,sans-serif;font-size:1rem;line-height:1.4;color:#333;background-color:#fbfbfb;height:100%}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-thumbnail{padding:.2rem;line-height:1.4;background-color:#fbfbfb;border:1px solid #ddd;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid #ececec}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:700;line-height:1.2;color:inherit;letter-spacing:.02em}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:inherit}.h1,.h2,.h3,h1,h2,h3{margin-top:1rem;margin-bottom:.5rem}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:1rem;margin-bottom:.5rem}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:2.25rem}.h1,.h2,h1,h2{font-weight:300}.h2,h2{font-size:1.9rem}.h3,h3{font-size:1.5rem}.h3,.h4,h3,h4{font-weight:700}.h4,h4{font-size:1.3rem}.h5,h5{font-size:1.15rem}.h5,.h6,h5,h6{font-weight:400}.h6,h6{font-size:1.07rem}p{margin:0 0 .5rem;font-weight:300}p.strong,p .strong,p strong{font-weight:400}i{font-style:normal}.strong,strong{font-weight:600}.lead{margin-bottom:1.4;font-size:1rem}a{color:#0e97c0;text-decoration:none;cursor:pointer}a,a:hover{-webkit-transition:all .15s ease-in-out;-o-transition:.15s all ease-in-out;transition:all .15s ease-in-out}a:hover{opacity:.8;color:#0c84a8}a:active,a:focus{opacity:1;-webkit-transition:all .15s ease-in-out;-o-transition:.15s all ease-in-out;transition:all .15s ease-in-out}a:focus{outline:thin dotted;outline-offset:3px}.point{cursor:pointer}.strike{text-decoration:line-through}.small,small{font-size:85%}.mark,mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#9a9a9a}.text-primary{color:#0e97c0}a.text-primary:focus,a.text-primary:hover{color:#0c84a8}.text-success{color:#459f42}a.text-success:focus,a.text-success:hover{color:#3d8d3b}.text-info{color:#0b1929}a.text-info:focus,a.text-info:hover{color:#060d15}.text-warning{color:#cc7a00}a.text-warning:focus,a.text-warning:hover{color:#b36a00}.text-danger{color:#df2518}a.text-danger:focus,a.text-danger:hover{color:#c82116}.text-underline{text-decoration:underline}.text-light{font-weight:200}.bg-primary{color:#fff;background-color:#0e97c0}a.bg-primary:focus,a.bg-primary:hover{background-color:#0b7290}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:-.5rem;margin:2.8 0 1.4;border-bottom:1px solid #ececec}ol,ul{margin-top:0;margin-bottom:1em}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}li{margin-bottom:.5em;font-weight:300}li strong{font-weight:400}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:1.4}dd,dt{line-height:1.4}dt{font-weight:700}dd{margin-left:0}@media (min-width:51.2rem){.dl-horizontal dt{float:left;width:-8rem;clear:left;text-align:right;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:12rem}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #9a9a9a}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:.5rem 1.4;margin:0 0 1.4;font-size:1.25rem;border-left:5px solid #ececec}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.4;color:#9a9a9a}blockquote .small:before,blockquote footer:before,blockquote small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #ececec;border-left:0;text-align:right}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:""}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:"\00A0 \2014"}address{margin-bottom:1.4;font-style:normal;line-height:1.4}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,Courier New,monospace}code{color:#c7254e;background-color:#f9f2f4}code,kbd{padding:2px 4px;font-size:90%;border-radius:0}kbd{color:#fff;background-color:#333;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:.2;margin:0 0 .7;font-size:0;line-height:1.4;word-break:break-all;word-wrap:break-word;color:#333;background-color:#fafafa;border:1px solid #ececec;border-radius:0}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:23rem;overflow-y:scroll}.container{width:100%;margin-right:auto;margin-left:auto;max-width:113rem;padding:0 5rem}@media screen and (max-width:80rem){.container{padding:0 3%}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:1rem;padding-right:1rem}.row{margin-left:-1rem;margin-right:-1rem}.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{position:relative;min-height:1px;padding-left:1rem;padding-right:1rem}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:51.2rem){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:66.13333333rem){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:80rem){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent;margin-bottom:10px;border-bottom:1px solid #ddd}caption{padding-top:.5rem;padding-bottom:.5rem;color:#9a9a9a}caption,th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:1.4}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:.5rem;line-height:1.4;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fbfbfb}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:.25rem}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f5f5f5}.table-striped>tbody>tr>td,.table-striped>tbody>tr>th,.table-striped>tfoot>tr>td,.table-striped>tfoot>tr>th,.table-striped>thead>tr>td,.table-striped>thead>tr>th{border-top:0}.table-mnemonic{border-bottom:0;font-weight:400}.table-mnemonic th{border-bottom:1px solid #ececec;vertical-align:bottom}.table-mnemonic td:first-child{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.table-mnemonic tr:last-child td:first-child{text-align:left}.table-mnemonic tr:first-child,.table-mnemonic tr:last-child:not(.mnemonic-custom-row){background-color:#fff!important}.table-mnemonic.table>tbody>tr>td,.table-mnemonic.table>tbody>tr>th,.table-mnemonic.table>tfoot>tr>td,.table-mnemonic.table>tfoot>tr>th,.table-mnemonic.table>thead>tr>td,.table-mnemonic.table>thead>tr>th{padding:.25rem}.table-mnemonic .mnemonic-custom-row input[type=text]{margin:-5px;display:inline;width:70%;max-width:15rem}.table-mnemonic label{margin:.15rem}.table-hover,.table-hover>tbody>tr>td,.table-hover>tbody>tr>th,.table-hover>tfoot>tr>td,.table-hover>tfoot>tr>th,.table-hover>thead>tr>td,.table-hover>thead>tr>th,.table-hover td,.table-hover th,.table-hover tr{border:0 solid #fff}.table-hover>tbody>tr:hover{background-color:#fafafa}table col[class*=col-]{position:static;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#fafafa}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#ededed}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:.01%}@media screen and (max-width:50.2rem){.table-responsive{width:100%;margin-bottom:1.05;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.table-domainsale-modal .table-ens-modal{font-weight:400;font-size:16px}.table-domainsale-modal .table-ens-modal textarea{font-size:11px;word-break:break-all;padding:.5rem}fieldset{margin:0;min-width:0}fieldset,legend{padding:0;border:0}legend{display:block;width:100%;margin-bottom:1.4;font-size:1.5rem;line-height:inherit;color:#333;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-top:.5rem;margin-bottom:.25rem;font-weight:600;font-size:1.15rem}label small{font-weight:300;font-size:1em}td label{font-weight:400}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:3px 0 0;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:thin dotted;outline-offset:3px}output{display:block;padding-top:1.75rem;font-size:1rem;line-height:1.4;color:#333}.account-help-icon+.btn,.account-help-icon+input,.account-help-icon+textarea,label+.form-control,label+input,label+textarea{margin-top:0}.form-control{display:block;width:100%;height:2.55rem;padding:.25rem 1rem;font-size:1rem;line-height:2;color:#333;background-color:#fff;background-image:none;border:1px solid #ececec;margin-top:.5rem;margin-bottom:.5rem;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:all .15s ease-in-out;-o-transition:.15s all ease-in-out;transition:all .15s ease-in-out}.form-control:focus{border-color:#0e97c0;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 2px rgba(14,151,192,.5);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 2px rgba(14,151,192,.5)}.form-control::-moz-placeholder{color:#d3d3d3;opacity:1}.form-control:-ms-input-placeholder{color:#d3d3d3}.form-control::-webkit-input-placeholder{color:#d3d3d3}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#ececec;opacity:1;cursor:text!important;-webkit-box-shadow:none!important;box-shadow:none!important}.form-control[disabled],fieldset[disabled] .form-control{cursor:default}textarea.form-control{height:auto;line-height:1.4}input[readonly]{background-color:#fafafa;cursor:text!important}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:2.55rem}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:2rem}.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:4rem}}.form-group{margin-top:.5rem;margin-bottom:.5rem;display:block}.checkbox,.radio{position:relative;display:block;margin:15px 0;font-weight:500}.checkbox label,.radio label{min-height:1.4;padding-left:20px;padding-right:15px;margin-bottom:0;font-weight:500;cursor:pointer}.checkbox.small,.radio.small{margin:.2rem 0}.checkbox-inline input[type=checkbox],.checkbox input[type=checkbox],.radio-inline input[type=radio],.radio input[type=radio]{margin-left:-20px}input[type=radio]{margin-right:5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .checkbox label,fieldset[disabled] .radio-inline,fieldset[disabled] .radio label,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:default}.form-control-static{padding-top:1.75rem;padding-bottom:1.75rem;margin-bottom:0;min-height:2.4rem}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:2rem;padding:.5rem 1rem;font-size:.9rem;line-height:1.5;border-radius:0}select.input-sm{height:2rem;line-height:2rem}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:2rem;padding:.5rem 1rem;font-size:.9rem;line-height:1.5}.form-group-sm select.form-control{height:2rem;line-height:2rem}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:2rem;min-height:2.3rem;padding:1.5rem 1rem;font-size:.9rem;line-height:1.5}.input-lg{height:4rem;padding:1rem 2rem;font-size:1.9rem;line-height:1.2;border-radius:0}select.input-lg{height:4rem;line-height:4rem}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:4rem;padding:1rem 2rem;font-size:1.9rem;line-height:1.2}.form-group-lg select.form-control{height:4rem;line-height:4rem}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:4rem;min-height:3.3rem;padding:2rem;font-size:1.9rem;line-height:1.2}.form-control.is-valid{border-color:#b5e0b4;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 1px rgba(93,186,90,.5);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 1px rgba(93,186,90,.5)}.form-control.is-valid:focus{border-color:#92d190;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 3px rgba(93,186,90,.5);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 3px rgba(93,186,90,.5)}.form-control.is-invalid{border-color:#f7b7b3;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 1px rgba(234,75,64,.5);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 1px rgba(234,75,64,.5)}.form-control.is-invalid:focus{border-color:#f28c85;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 3px rgba(234,75,64,.5);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 3px rgba(234,75,64,.5)}.form-control.is-semivalid{border-color:#ffcc80;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 1px rgba(255,152,0,.5);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 1px rgba(255,152,0,.5)}.form-control.is-semivalid:focus{border-color:#ffb74d;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 3px rgba(255,152,0,.5);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 3px rgba(255,152,0,.5)}.btn{background-image:none;cursor:pointer;border:1px solid gray;display:inline-block;font-weight:400;letter-spacing:.05em;margin-top:.5rem;margin-bottom:0;text-align:center;-ms-touch-action:manipulation;touch-action:manipulation;vertical-align:middle;white-space:nowrap;padding:.75rem 2rem;font-size:1.07rem;line-height:1.4;border-radius:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline-offset:3px}.btn.focus,.btn:focus,.btn:hover{color:#222;text-decoration:none;border-bottom-color:transparent;-webkit-box-shadow:inset 3px 3px 3px hsla(0,0%,78%,.1);box-shadow:inset 3px 3px 3px hsla(0,0%,78%,.1)}.btn.active,.btn:active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:default;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.alert .btn-info{background-color:#fff;text-decoration:none;color:#163151}.alert .btn-info.focus,.alert .btn-info:focus,.alert .btn-info:hover{color:#fff;text-decoration:none;opacity:1}.alert .btn-info.disabled{background-color:#fff;text-decoration:none;color:#163151;opacity:.6}.btn-default{color:#222;background-color:#c3c3c3;border-color:#bdbdbd;-webkit-transition:all .25s ease;-o-transition:all ease .25s;transition:all .25s ease}.btn-default.active,.btn-default.focus,.btn-default:active,.btn-default:focus,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#222;background-color:#b6b6b6;border-color:#b0b0b0;-webkit-transition:all .25s ease;-o-transition:all ease .25s;transition:all .25s ease}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#222;background-color:#9d9d9d;border-color:#979797;-webkit-transition:all .25s ease;-o-transition:all ease .25s;transition:all .25s ease}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#c3c3c3;border-color:#bdbdbd}.btn-default .badge{color:#c3c3c3;background-color:#222}.btn-primary{color:#fff;background-color:#0e97c0;border-color:#0e97c0;-webkit-transition:all .25s ease;-o-transition:all ease .25s;transition:all .25s ease}.btn-primary.active,.btn-primary.focus,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#0c84a8;border-color:#0c84a8;-webkit-transition:all .25s ease;-o-transition:all ease .25s;transition:all .25s ease}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#095f79;border-color:#095f79;-webkit-transition:all .25s ease;-o-transition:all ease .25s;transition:all .25s ease}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#0e97c0;border-color:#0e97c0}.btn-primary .badge{color:#0e97c0;background-color:#fff}.btn-success{color:#fff;background-color:#5dba5a;border-color:#5dba5a;-webkit-transition:all .25s ease;-o-transition:all ease .25s;transition:all .25s ease}.btn-success.active,.btn-success.focus,.btn-success:active,.btn-success:focus,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#4db14a;border-color:#4db14a;-webkit-transition:all .25s ease;-o-transition:all ease .25s;transition:all .25s ease}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#3d8d3b;border-color:#3d8d3b;-webkit-transition:all .25s ease;-o-transition:all ease .25s;transition:all .25s ease}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5dba5a;border-color:#5dba5a}.btn-success .badge{color:#5dba5a;background-color:#fff}.btn-info{color:#fff;background-color:#163151;border-color:#163151;-webkit-transition:all .25s ease;-o-transition:all ease .25s;transition:all .25s ease}.btn-info.active,.btn-info.focus,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#11253d;border-color:#11253d;-webkit-transition:all .25s ease;-o-transition:all ease .25s;transition:all .25s ease}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#060d15;border-color:#060d15;-webkit-transition:all .25s ease;-o-transition:all ease .25s;transition:all .25s ease}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#163151;border-color:#163151}.btn-info .badge{color:#163151;background-color:#fff}.btn-warning{color:#fff;background-color:#ff9800;border-color:#ff9800;-webkit-transition:all .25s ease;-o-transition:all ease .25s;transition:all .25s ease}.btn-warning.active,.btn-warning.focus,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#e68900;border-color:#e68900;-webkit-transition:all .25s ease;-o-transition:all ease .25s;transition:all .25s ease}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#b36a00;border-color:#b36a00;-webkit-transition:all .25s ease;-o-transition:all ease .25s;transition:all .25s ease}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9800;border-color:#ff9800}.btn-warning .badge{color:#ff9800;background-color:#fff}.btn-danger{color:#fff;background-color:#ea4b40;border-color:#ea4b40;-webkit-transition:all .25s ease;-o-transition:all ease .25s;transition:all .25s ease}.btn-danger.active,.btn-danger.focus,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#e73529;border-color:#e73529;-webkit-transition:all .25s ease;-o-transition:all ease .25s;transition:all .25s ease}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#c82116;border-color:#c82116;-webkit-transition:all .25s ease;-o-transition:all ease .25s;transition:all .25s ease}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#ea4b40;border-color:#ea4b40}.btn-danger .badge{color:#ea4b40;background-color:#fff}.btn-white{background-color:hsla(0,0%,100%,.8);border-color:hsla(0,0%,100%,.8);-webkit-transition:all .25s ease;-o-transition:all ease .25s;transition:all .25s ease;color:#163151}.btn-white.active,.btn-white.focus,.btn-white:active,.btn-white:focus,.btn-white:hover,.open>.dropdown-toggle.btn-white{color:#163151;background-color:hsla(0,0%,95%,.8);border-color:hsla(0,0%,95%,.8);-webkit-transition:all .25s ease;-o-transition:all ease .25s;transition:all .25s ease}.btn-white.active.focus,.btn-white.active:focus,.btn-white.active:hover,.btn-white:active.focus,.btn-white:active:focus,.btn-white:active:hover,.open>.dropdown-toggle.btn-white.focus,.open>.dropdown-toggle.btn-white:focus,.open>.dropdown-toggle.btn-white:hover{color:#163151;background-color:hsla(0,0%,85%,.8);border-color:hsla(0,0%,85%,.8);-webkit-transition:all .25s ease;-o-transition:all ease .25s;transition:all .25s ease}.btn-white.active,.btn-white:active,.open>.dropdown-toggle.btn-white{background-image:none}.btn-white.disabled,.btn-white.disabled.active,.btn-white.disabled.focus,.btn-white.disabled:active,.btn-white.disabled:focus,.btn-white.disabled:hover,.btn-white[disabled],.btn-white[disabled].active,.btn-white[disabled].focus,.btn-white[disabled]:active,.btn-white[disabled]:focus,.btn-white[disabled]:hover,fieldset[disabled] .btn-white,fieldset[disabled] .btn-white.active,fieldset[disabled] .btn-white.focus,fieldset[disabled] .btn-white:active,fieldset[disabled] .btn-white:focus,fieldset[disabled] .btn-white:hover{background-color:hsla(0,0%,100%,.8);border-color:hsla(0,0%,100%,.8)}.btn-white .badge{color:hsla(0,0%,100%,.8);background-color:#163151}.header-branding a.btn-white{color:#163151}.header-branding a.btn-white:focus,.header-branding a.btn-white:hover{background:#fff;opacity:1;color:#163151}.btn-group .btn-default{border-bottom-width:1px}.btn-group .btn-default.active{border:1px solid #0e97c0;color:#0e97c0;background:#f5f5f5}.btn-link{color:#0e97c0;font-weight:400}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#0c84a8;text-decoration:none;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#9a9a9a;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:1rem 2rem;font-size:1.15rem;line-height:1.2;border-radius:0}.btn-group-sm>.btn,.btn-sm{padding:.5rem 1rem;font-size:1rem;line-height:1.5;border-radius:0}.btn-group-xs>.btn,.btn-xs{font-size:.75rem;line-height:1.5;border-radius:0;padding:.1rem .6rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}.btn-file,input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.btn-file{background-image:none;cursor:pointer;border:1px solid gray;display:inline-block;font-weight:400;letter-spacing:.05em;margin-top:.5rem;margin-bottom:0;text-align:center;-ms-touch-action:manipulation;touch-action:manipulation;vertical-align:middle;white-space:nowrap;padding:.75rem 2rem;font-size:1.07rem;line-height:1.4;border-radius:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;color:#222;background-color:#c3c3c3;border-color:#bdbdbd;-webkit-transition:all .25s ease;-o-transition:all ease .25s;transition:all .25s ease;position:relative;overflow:hidden}.btn-file.active.focus,.btn-file.active:focus,.btn-file.focus,.btn-file:active.focus,.btn-file:active:focus,.btn-file:focus{outline:thin dotted;outline-offset:3px}.btn-file.focus,.btn-file:focus,.btn-file:hover{color:#222;text-decoration:none;border-bottom-color:transparent;-webkit-box-shadow:inset 3px 3px 3px hsla(0,0%,78%,.1);box-shadow:inset 3px 3px 3px hsla(0,0%,78%,.1)}.btn-file.active,.btn-file:active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-file.disabled,.btn-file[disabled],fieldset[disabled] .btn-file{cursor:default;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn-file.disabled,fieldset[disabled] a.btn-file{pointer-events:none}.btn-file.active,.btn-file.focus,.btn-file:active,.btn-file:focus,.btn-file:hover,.open>.dropdown-toggle.btn-file{color:#222;background-color:#b6b6b6;border-color:#b0b0b0;-webkit-transition:all .25s ease;-o-transition:all ease .25s;transition:all .25s ease}.btn-file.active.focus,.btn-file.active:focus,.btn-file.active:hover,.btn-file:active.focus,.btn-file:active:focus,.btn-file:active:hover,.open>.dropdown-toggle.btn-file.focus,.open>.dropdown-toggle.btn-file:focus,.open>.dropdown-toggle.btn-file:hover{color:#222;background-color:#9d9d9d;border-color:#979797;-webkit-transition:all .25s ease;-o-transition:all ease .25s;transition:all .25s ease}.btn-file.active,.btn-file:active,.open>.dropdown-toggle.btn-file{background-image:none}.btn-file.disabled,.btn-file.disabled.active,.btn-file.disabled.focus,.btn-file.disabled:active,.btn-file.disabled:focus,.btn-file.disabled:hover,.btn-file[disabled],.btn-file[disabled].active,.btn-file[disabled].focus,.btn-file[disabled]:active,.btn-file[disabled]:focus,.btn-file[disabled]:hover,fieldset[disabled] .btn-file,fieldset[disabled] .btn-file.active,fieldset[disabled] .btn-file.focus,fieldset[disabled] .btn-file:active,fieldset[disabled] .btn-file:focus,fieldset[disabled] .btn-file:hover{background-color:#c3c3c3;border-color:#bdbdbd}.btn-file .badge{color:#c3c3c3;background-color:#222}.btn-file input[type=file]{position:absolute;top:0;right:0;min-width:100%;min-height:100%;font-size:100px;text-align:right;filter:alpha(opacity=0);opacity:0;background:red;cursor:inherit;display:block}.caret{display:inline-block;width:0;height:0;margin-left:.5rem;vertical-align:middle;border-top:.25rem dashed;border-right:.25rem solid transparent;border-left:.25rem solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle{margin-top:0;font-size:1rem;padding:.5rem 1rem}.dropdown:hover .dropdown-menu{display:block}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;float:left;min-width:160px;max-width:100vw;max-height:75vh;overflow:scroll;padding:0;margin:2px 0 0;list-style:none;font-size:1rem;text-align:left;background-color:#fff;border-radius:0;-webkit-box-shadow:0 6px 10px rgba(0,0,0,.175);box-shadow:0 6px 10px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:2px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li{margin:0}.dropdown-menu>li:first-child{padding-top:4px}.dropdown-menu>li:last-child{padding-bottom:4px}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:300;line-height:1.4;color:#163151;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{text-decoration:none;color:#0e97c0;background-color:#fafafa}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0;background-color:#0e97c0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#9a9a9a}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:default}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:.9rem;line-height:1.4;color:#9a9a9a;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:.25rem solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:51.2rem){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle;margin-bottom:5px}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn-group{float:left}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn-lg .caret{border-width:.25rem .25rem 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 .25rem .25rem}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio],[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group>*{margin-bottom:0;margin-top:0}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%}.input-group .dropdown-toggle{padding-right:.75rem;padding-left:.75rem}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:4rem;padding:1rem 2rem;font-size:1.9rem;line-height:1.2;border-radius:0}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:4rem;line-height:4rem}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:2rem;padding:.5rem 1rem;font-size:.9rem;line-height:1.5;border-radius:0}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:2rem;line-height:2rem}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding-left:2rem;padding-right:2rem;font-size:1rem;font-weight:400;line-height:1;color:#333;text-align:center;background-color:#ececec;border:1px solid #dfdfdf;outline:0;-webkit-box-shadow:inset 0 1px 1px hsla(0,0%,93%,.5),0 0 1px hsla(0,0%,93%,.5);box-shadow:inset 0 1px 1px hsla(0,0%,93%,.5),0 0 1px hsla(0,0%,93%,.5)}.input-group-addon.input-sm{padding:.5rem 1rem;font-size:.9rem}.input-group-addon.input-lg{padding:1rem 2rem;font-size:1.9rem}.input-group-addon:focus{border:1px solid #dadada;outline:0;-webkit-box-shadow:inset 0 1px 1px #ececec,30%,0 0 1px hsla(0,0%,93%,.9);box-shadow:inset 0 1px 1px #ececec,30%,0 0 1px hsla(0,0%,93%,.9)}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative;margin-bottom:0;margin-top:0;font-size:1rem;padding:.55rem 2rem}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.alert{padding:.75rem 2rem;margin:1rem auto;font-weight:300;font-size:1.07rem}.alert h4{color:inherit}.alert>:first-child,.alert h4{margin-top:0}.alert>:last-child{margin-bottom:0}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert a{color:#fff;text-decoration:underline}.alert a:hover{opacity:.8}.alert a:active,.alert a:focus{opacity:1}.alert svg{vertical-align:bottom}.alert-danger--outline{padding:.5em .6em .6em .3em;margin:0 0 1em;border-top:2px solid #ea4b40;-webkit-box-shadow:0 1px 5px 1px rgba(63,63,63,.13);box-shadow:0 1px 5px 1px rgba(63,63,63,.13);font-size:.9em;font-weight:500}.alert-danger--outline:before{content:"";background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' width='32' height='32'%3E%3Cpath d='M505.403 406.394L295.389 58.102c-8.274-13.721-23.367-22.245-39.39-22.245s-31.116 8.524-39.391 22.246L6.595 406.394c-8.551 14.182-8.804 31.95-.661 46.37 8.145 14.42 23.491 23.378 40.051 23.378h420.028c16.56 0 31.907-8.958 40.052-23.379 8.143-14.421 7.89-32.189-.662-46.369zm-28.364 29.978a12.684 12.684 0 0 1-11.026 6.436H45.985a12.68 12.68 0 0 1-11.025-6.435 12.683 12.683 0 0 1 .181-12.765L245.156 75.316A12.732 12.732 0 0 1 256 69.192c4.41 0 8.565 2.347 10.843 6.124l210.013 348.292a12.677 12.677 0 0 1 .183 12.764z' fill='%23ea4b40'/%3E%3Cpath d='M256.154 173.005c-12.68 0-22.576 6.804-22.576 18.866 0 36.802 4.329 89.686 4.329 126.489.001 9.587 8.352 13.607 18.248 13.607 7.422 0 17.937-4.02 17.937-13.607 0-36.802 4.329-89.686 4.329-126.489 0-12.061-10.205-18.866-22.267-18.866zm.311 180.301c-13.607 0-23.814 10.824-23.814 23.814 0 12.68 10.206 23.814 23.814 23.814 12.68 0 23.505-11.134 23.505-23.814 0-12.99-10.826-23.814-23.505-23.814z' fill='%23ea4b40'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:1.75em;float:left;width:2em;height:4em;margin-right:.75em}.alert.popup{position:fixed;bottom:0;left:0;right:0;padding:1rem 0;-webkit-box-shadow:0 0 20px 0 rgba(0,0,0,.33);box-shadow:0 0 20px 0 rgba(0,0,0,.33);-webkit-transition:all .15s ease-in-out;-o-transition:.15s all ease-in-out;transition:all .15s ease-in-out;z-index:1060;margin:0}.alert.popup .container{position:relative;padding:0 10rem 0 5rem}@media screen and (max-width:51.2rem){.alert.popup .container{padding:1rem 8rem 1rem 4rem}}@media screen and (max-width:32rem){.alert.popup .container{padding:3rem 1rem 0 4rem}}.alert.popup .container:after{content:"";background-position:50%;background-repeat:no-repeat;background-size:contain;display:block;color:#fff;position:absolute;top:0;bottom:0;left:1%;width:2.25rem}@media screen and (max-width:32rem){.alert.popup .container:after{top:2.5rem;left:.5rem}}.alert.popup .icon-close{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 348.333 348.334'%3E%3Cpath d='M336.559 68.611L231.016 174.165l105.543 105.549c15.699 15.705 15.699 41.145 0 56.85-7.844 7.844-18.128 11.769-28.407 11.769-10.296 0-20.581-3.919-28.419-11.769L174.167 231.003 68.609 336.563c-7.843 7.844-18.128 11.769-28.416 11.769-10.285 0-20.563-3.919-28.413-11.769-15.699-15.698-15.699-41.139 0-56.85l105.54-105.549L11.774 68.611c-15.699-15.699-15.699-41.145 0-56.844 15.696-15.687 41.127-15.687 56.829 0l105.563 105.554L279.721 11.767c15.705-15.687 41.139-15.687 56.832 0 15.705 15.699 15.705 41.145.006 56.844z' fill='%23FFF'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:1rem;cursor:pointer;opacity:.7;position:absolute;top:0;right:0;width:9rem;bottom:0;border-left:1px solid hsla(0,0%,100%,.7);-webkit-transition:all .15s ease-in-out;-o-transition:.15s all ease-in-out;transition:all .15s ease-in-out}@media screen and (max-width:51.2rem){.alert.popup .icon-close{width:7rem}}@media screen and (max-width:32rem){.alert.popup .icon-close{width:100%;height:3rem;left:0;right:0;top:0;bottom:auto;border-left:0;border-bottom:1px solid hsla(0,0%,100%,.7)}}.alert.popup .icon-close:hover{border-color:hsla(0,0%,100%,.5)}.alert.popup .icon-close:active,.alert.popup .icon-close:hover{-webkit-transition:all .15s ease-in-out;-o-transition:.15s all ease-in-out;transition:all .15s ease-in-out;background-color:rgba(0,0,0,.1)}.alert.popup .icon-close:active{border-color:hsla(0,0%,100%,.7);opacity:1}.alert.popup.ng-hide{bottom:-20%;-webkit-transition:all .15s ease-in-out;-o-transition:.15s all ease-in-out;transition:all .15s ease-in-out}.alert,.alert-info{background-color:#0e97c0;border-color:#0e97c0;color:#fff}.alert-info hr,.alert hr{border-top-color:#0c84a8}.alert-info .alert-link,.alert .alert-link{color:#e6e6e6}.alert-info .container:after,.alert .container:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' x='30' y='30' viewBox='0 0 65 65' width='512' height='512'%3E%3Cpath d='M32.5 0C14.58 0 0 14.579 0 32.5S14.58 65 32.5 65 65 50.421 65 32.5 50.42 0 32.5 0zm0 61C16.785 61 4 48.215 4 32.5S16.785 4 32.5 4 61 16.785 61 32.5 48.215 61 32.5 61z' fill='%23FFF'/%3E%3Ccircle cx='33.018' cy='19.541' r='3.345' fill='%23FFF'/%3E%3Cpath d='M32.137 28.342a2 2 0 0 0-2 2v17a2 2 0 0 0 4 0v-17a2 2 0 0 0-2-2z' fill='%23FFF'/%3E%3C/svg%3E")}.alert-success{background-color:#5dba5a;border-color:#5dba5a;color:#fff}.alert-success hr{border-top-color:#4db14a}.alert-success .alert-link{color:#e6e6e6}.alert-success .container:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 478.2 478.2' width='32' height='32'%3E%3Cpath d='M457.575 325.1c9.8-12.5 14.5-25.9 13.9-39.7-.6-15.2-7.4-27.1-13-34.4 6.5-16.2 9-41.7-12.7-61.5-15.9-14.5-42.9-21-80.3-19.2-26.3 1.2-48.3 6.1-49.2 6.3h-.1c-5 .9-10.3 2-15.7 3.2-.4-6.4.7-22.3 12.5-58.1 14-42.6 13.2-75.2-2.6-97-16.6-22.9-43.1-24.7-50.9-24.7-7.5 0-14.4 3.1-19.3 8.8-11.1 12.9-9.8 36.7-8.4 47.7-13.2 35.4-50.2 122.2-81.5 146.3-.6.4-1.1.9-1.6 1.4-9.2 9.7-15.4 20.2-19.6 29.4-5.9-3.2-12.6-5-19.8-5h-61c-23 0-41.6 18.7-41.6 41.6v162.5c0 23 18.7 41.6 41.6 41.6h61c8.9 0 17.2-2.8 24-7.6l23.5 2.8c3.6.5 67.6 8.6 133.3 7.3 11.9.9 23.1 1.4 33.5 1.4 17.9 0 33.5-1.4 46.5-4.2 30.6-6.5 51.5-19.5 62.1-38.6 8.1-14.6 8.1-29.1 6.8-38.3 19.9-18 23.4-37.9 22.7-51.9-.4-8.1-2.2-15-4.1-20.1zm-409.3 122.2c-8.1 0-14.6-6.6-14.6-14.6V270.1c0-8.1 6.6-14.6 14.6-14.6h61c8.1 0 14.6 6.6 14.6 14.6v162.5c0 8.1-6.6 14.6-14.6 14.6h-61v.1zm383.7-133.9c-4.2 4.4-5 11.1-1.8 16.3 0 .1 4.1 7.1 4.6 16.7.7 13.1-5.6 24.7-18.8 34.6-4.7 3.6-6.6 9.8-4.6 15.4 0 .1 4.3 13.3-2.7 25.8-6.7 12-21.6 20.6-44.2 25.4-18.1 3.9-42.7 4.6-72.9 2.2h-1.4c-64.3 1.4-129.3-7-130-7.1h-.1l-10.1-1.2c.6-2.8.9-5.8.9-8.8V270.1c0-4.3-.7-8.5-1.9-12.4 1.8-6.7 6.8-21.6 18.6-34.3 44.9-35.6 88.8-155.7 90.7-160.9.8-2.1 1-4.4.6-6.7-1.7-11.2-1.1-24.9 1.3-29 5.3.1 19.6 1.6 28.2 13.5 10.2 14.1 9.8 39.3-1.2 72.7-16.8 50.9-18.2 77.7-4.9 89.5 6.6 5.9 15.4 6.2 21.8 3.9 6.1-1.4 11.9-2.6 17.4-3.5.4-.1.9-.2 1.3-.3 30.7-6.7 85.7-10.8 104.8 6.6 16.2 14.8 4.7 34.4 3.4 36.5-3.7 5.6-2.6 12.9 2.4 17.4.1.1 10.6 10 11.1 23.3.4 8.9-3.8 18-12.5 27z' fill='%23FFF'/%3E%3C/svg%3E")}.alert-warning{background-color:#ff9800;border-color:#ff9800;color:#fff}.alert-warning hr{border-top-color:#e68900}.alert-warning .alert-link{color:#e6e6e6}.alert-warning .container:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' width='32' height='32'%3E%3Cpath d='M505.403 406.394L295.389 58.102c-8.274-13.721-23.367-22.245-39.39-22.245s-31.116 8.524-39.391 22.246L6.595 406.394c-8.551 14.182-8.804 31.95-.661 46.37 8.145 14.42 23.491 23.378 40.051 23.378h420.028c16.56 0 31.907-8.958 40.052-23.379 8.143-14.421 7.89-32.189-.662-46.369zm-28.364 29.978a12.684 12.684 0 0 1-11.026 6.436H45.985a12.68 12.68 0 0 1-11.025-6.435 12.683 12.683 0 0 1 .181-12.765L245.156 75.316A12.732 12.732 0 0 1 256 69.192c4.41 0 8.565 2.347 10.843 6.124l210.013 348.292a12.677 12.677 0 0 1 .183 12.764z' fill='%23FFF'/%3E%3Cpath d='M256.154 173.005c-12.68 0-22.576 6.804-22.576 18.866 0 36.802 4.329 89.686 4.329 126.489.001 9.587 8.352 13.607 18.248 13.607 7.422 0 17.937-4.02 17.937-13.607 0-36.802 4.329-89.686 4.329-126.489 0-12.061-10.205-18.866-22.267-18.866zm.311 180.301c-13.607 0-23.814 10.824-23.814 23.814 0 12.68 10.206 23.814 23.814 23.814 12.68 0 23.505-11.134 23.505-23.814 0-12.99-10.826-23.814-23.505-23.814z' fill='%23FFF'/%3E%3C/svg%3E")}.alert-danger{background-color:#ea4b40;border-color:#ea4b40;color:#fff}.alert-danger hr{border-top-color:#e73529}.alert-danger .alert-link{color:#e6e6e6}.alert-danger .container:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' width='32' height='32'%3E%3Cpath d='M505.403 406.394L295.389 58.102c-8.274-13.721-23.367-22.245-39.39-22.245s-31.116 8.524-39.391 22.246L6.595 406.394c-8.551 14.182-8.804 31.95-.661 46.37 8.145 14.42 23.491 23.378 40.051 23.378h420.028c16.56 0 31.907-8.958 40.052-23.379 8.143-14.421 7.89-32.189-.662-46.369zm-28.364 29.978a12.684 12.684 0 0 1-11.026 6.436H45.985a12.68 12.68 0 0 1-11.025-6.435 12.683 12.683 0 0 1 .181-12.765L245.156 75.316A12.732 12.732 0 0 1 256 69.192c4.41 0 8.565 2.347 10.843 6.124l210.013 348.292a12.677 12.677 0 0 1 .183 12.764z' fill='%23FFF'/%3E%3Cpath d='M256.154 173.005c-12.68 0-22.576 6.804-22.576 18.866 0 36.802 4.329 89.686 4.329 126.489.001 9.587 8.352 13.607 18.248 13.607 7.422 0 17.937-4.02 17.937-13.607 0-36.802 4.329-89.686 4.329-126.489 0-12.061-10.205-18.866-22.267-18.866zm.311 180.301c-13.607 0-23.814 10.824-23.814 23.814 0 12.68 10.206 23.814 23.814 23.814 12.68 0 23.505-11.134 23.505-23.814 0-12.99-10.826-23.814-23.505-23.814z' fill='%23FFF'/%3E%3C/svg%3E")}.well{min-height:20px;padding:1rem;margin-top:1rem;margin-bottom:1rem;background-color:#fafafa;border:1px solid #e8e8e8;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well :first-child{margin-top:0}.well :last-child{margin-bottom:0}.well.lg{padding:2rem}.well.sm{padding:.5rem}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal,.modal-open{overflow:hidden}.modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translateY(-25%);-ms-transform:translateY(-25%);-o-transform:translateY(-25%);transform:translateY(-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;-o-transition:transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0);-ms-transform:translate(0);-o-transform:translate(0);transform:translate(0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border-radius:0;-webkit-box-shadow:1px 1px 60px rgba(0,0,0,.32);box-shadow:1px 1px 60px rgba(0,0,0,.32);background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:.75rem 1.5rem}.modal-header .close{margin-top:-2px}.modal-title{margin:0 0 1rem;line-height:1.4}.modal-body{position:relative;padding:.75rem;font-size:1.15rem}.modal-body .table>tbody>tr>td{vertical-align:middle}.modal-body .addressIdenticon{margin:auto}.modal-footer{padding:1rem 1.5rem;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn{margin-top:0}.modal-footer .btn+.btn{margin-left:.5rem;margin-bottom:0;margin-top:0}#sendTransaction .modal-footer{text-align:center}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:51.2rem){.modal-dialog{width:800px;margin:30px auto}.modal-sm{width:30rem}}@media (min-width:66.13333333rem){.modal-lg{width:70rem}}.bity-contact:after,.bity-contact:before,.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.modal-footer:after,.modal-footer:before,.row:after,.row:before{content:" ";display:table}.bity-contact:after,.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.modal-footer:after,.row:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:50.2rem){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:50.2rem){.visible-xs-block{display:block!important}}@media (max-width:50.2rem){.visible-xs-inline{display:inline!important}}@media (max-width:50.2rem){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:51.2rem) and (max-width:65.13333333rem){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:51.2rem) and (max-width:65.13333333rem){.visible-sm-block{display:block!important}}@media (min-width:51.2rem) and (max-width:65.13333333rem){.visible-sm-inline{display:inline!important}}@media (min-width:51.2rem) and (max-width:65.13333333rem){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:66.13333333rem) and (max-width:79rem){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:66.13333333rem) and (max-width:79rem){.visible-md-block{display:block!important}}@media (min-width:66.13333333rem) and (max-width:79rem){.visible-md-inline{display:inline!important}}@media (min-width:66.13333333rem) and (max-width:79rem){.visible-md-inline-block{display:inline-block!important}}@media (min-width:80rem){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:80rem){.visible-lg-block{display:block!important}}@media (min-width:80rem){.visible-lg-inline{display:inline!important}}@media (min-width:80rem){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:50.2rem){.hidden-xs{display:none!important}}@media (min-width:51.2rem) and (max-width:65.13333333rem){.hidden-sm{display:none!important}}@media (min-width:66.13333333rem) and (max-width:79rem){.hidden-md{display:none!important}}@media (min-width:80rem){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}img{max-width:100%;height:auto}textarea{resize:vertical}.announcement{padding:3px 10px;text-align:center;font-weight:300;color:#fff;display:block;background-color:#0e97c0}.announcement a{text-decoration:underline;color:#fff}.announcement:focus,.announcement:hover,.announcement a{-webkit-transition:all .25s ease;-o-transition:.25s all ease;transition:all .25s ease}.announcement:focus,.announcement:hover{color:#f2f2f2;text-decoration:none;background-color:#0c84a8}.announcement strong{font-weight:400}.annoucement-warning{background-color:#ff5722}.annoucement-warning:focus,.annoucement-warning:hover{background-color:#ff4408}.annoucement-warning:focus a,.annoucement-warning:focus a:hover,.annoucement-warning:hover a,.annoucement-warning:hover a:hover{text-decoration:none}.annoucement-danger{background-color:#ea4b40}.annoucement-danger:hover{background-color:#ff4408}.annoucement-danger a:focus,.annoucement-danger a:hover{color:#f2f2f2}.annoucement-danger a:focus a,.annoucement-danger a:focus a:hover,.annoucement-danger a:hover a,.annoucement-danger a:hover a:hover{text-decoration:none}.address-identicon-container{padding:0;text-align:left;max-width:4.5rem;margin-left:-.5rem;margin-top:.5rem}.address-identicon-container-right{text-align:right}.address-identicon-container-right .addressIdenticon{float:right}.address-identicon-container-offline{padding:0;margin-left:-15px}.addressIdenticon{width:100%;height:auto;padding-bottom:100%;background-size:cover;background-repeat:no-repeat;border-radius:50%;-webkit-box-shadow:inset hsla(0,0%,100%,.5) 0 2px 2px,inset rgba(0,0,0,.6) 0 -1px 8px;box-shadow:inset 0 2px 2px hsla(0,0%,100%,.5),inset 0 -1px 8px rgba(0,0,0,.6)}.addressIdenticon.med{width:3rem;height:3rem;padding:0}.addressIdenticon.small{width:2rem;height:2rem;padding:0}.addressIdenticon.inline{display:inline-block}.addressIdenticon.float{float:left;margin-right:.5rem}.wrap{word-wrap:break-word}.bigger-on-mobile.form-control[readonly]{height:60px}@media screen and (max-width:767px){.bigger-on-mobile.form-control[readonly]{height:100px}}#paneHelp h3{margin-top:2em}.account-help-icon h3,.account-help-icon h4,.account-help-icon h5,.account-help-icon h6,.account-help-icon img{display:inline-block}.account-help-icon img:hover+.account-help-text{display:block;opacity:1;z-index:999}.account-help-icon img{margin-left:-30px;margin-right:3px}.account-help-icon:hover{opacity:1}.account-help-text{background:#fff;border-radius:0;border:1px solid #cdcdcd;-webkit-box-shadow:0 0 .5rem hsla(0,0%,39%,.2);box-shadow:0 0 .5rem hsla(0,0%,39%,.2);display:none;font-size:.75rem;font-weight:400;padding:.25rem;position:absolute;width:18rem;z-index:999;color:#333}ul.account-help-text{padding-left:1.6rem}.account-help-text li{font-size:.75rem;font-weight:400}@media screen and (max-width:767px){.account-help-icon img,.account-help-icon li,.account-help-icon p{display:none}}#accountAddress,#accountAddressMainTbl-1,#accountBalance,#accountBalanceBtc,#accountBalanceEur,#accountBalancePopMB-0,#accountBalancePopMB-2,#accountBalanceUsd,.form-control,.mono{font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-weight:400;letter-spacing:.02em}.offline-qrcode{margin-top:-150px;max-width:300px}@media screen and (max-width:942px){.offline-qrcode{margin-top:-78px}}@media screen and (max-width:769px){.offline-qrcode{margin-top:0}}.account-info{padding-left:1em;margin:0}.account-info:after,.account-info:before{content:" ";display:table}.account-info:after{clear:both}.account-info li{margin-bottom:0;list-style-type:none;word-break:break-all}table.account-info{font-weight:200;border-bottom:0;min-width:200px;width:100%}table.account-info tbody{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}table.account-info td{padding:.3rem;line-height:1}table.account-info td:first-child{word-wrap:break-word;padding-left:1em}table.account-info tr{border-bottom:1px solid #f3f3f3}table.account-info tr:last-child,table.account-info tr:nth-last-child(2){border-bottom:0 solid #f3f3f3}table.account-info tr.custom-token{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}input[type=text]+.eye{cursor:pointer}input[type=text]+.eye:before{content:"";width:20px;height:20px;margin-left:6px;margin-right:6px;display:inline-block;vertical-align:middle;background:url(../images/icon-eye.svg)}input[type=password]+.eye{cursor:pointer}input[type=password]+.eye:before{content:"";width:20px;height:20px;margin-left:6px;margin-right:6px;display:inline-block;vertical-align:middle;background:url(../images/icon-eye-closed.svg)}.collapse-container h1{margin:.25rem 0}.collapse-container .collapse-button{float:left;font-weight:500;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:.25rem;margin:.25rem -30px;font-size:1.6rem;line-height:1.6}.help .collapse-container{margin:40px 0}.help .collapse-container .collapse-button{margin:-10px -30px;font-size:20px;line-height:1}.token-remove{width:.9rem;height:.9rem;position:absolute;left:18px;cursor:pointer}.node-remove{width:16px;height:16px;position:absolute;right:6px;top:8px}.m-addresses td:first-child{max-width:50px;min-widht:50px}.m-addresses td:last-child{text-align:right}.token-balances{margin-bottom:15px;font-size:14px;max-height:60vh;overflow:scroll}h2 a.isActive,h2 a.isActive:active,h2 a.isActive:hover{color:#333;cursor:default}.item{margin:6px 0}.output{padding:.5rem 1rem;margin-top:-.5rem}.output p{margin:.75rem 0 0}label .small{font-size:.9rem}label small{color:#9a9a9a}.write-address .col-xs-1{padding:0}.write-address .col-xs-11{padding-right:10px}.write-boolean label{display:block}.decrypt-drtv{padding:1rem 0}.decrypt-drtv label.radio{padding:0 1.5rem;margin:.5rem 0}.decrypt-drtv h4{margin-top:0}.qr-code{max-width:17rem;margin:auto}.qr-pkey-container{position:relative}.qr-overlay{background-color:#000;position:absolute;top:0;left:0;right:0;bottom:0}.contracts a.isActive{color:#333;font-weight:400}.contracts .dropdown-toggle{display:block;text-align:left;white-space:normal}.contracts .dropdown-toggle .caret{position:absolute;right:1rem;top:1.25rem}.contracts .dropdown-menu-left{font-size:.9rem;left:auto;right:0;min-width:37rem}.contracts .dropdown-menu-left small{float:right}.dropdown-gas{padding-bottom:1rem}@media screen and (max-width:900px){.dropdown-gas{padding-bottom:2rem}}.dropdown-gas__msg{font-size:12px;font-weight:300;left:-100%;margin:0;position:absolute;right:-100%;white-space:normal}@media screen and (max-width:900px){.dropdown-gas__msg{left:-25%;right:0}}.view-wallet-content h5{margin-bottom:.25rem}.view-wallet-content a.isActive{color:#333}#selectedTypeLedger ol{padding-left:1rem}.loading-wrap{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.7);z-index:999;text-align:center}.loading-wrap .loading{position:absolute;text-align:center;top:40%;left:50%;-webkit-transform:translate(-50%,-60%);-ms-transform:translate(-50%,-60%);transform:translate(-50%,-60%)}.loading-wrap img{border-radius:50%}.loading-wrap h1{-webkit-animation:opacity 2s infinite ease-in-out;animation:opacity 2s infinite ease-in-out;color:#fff}@-webkit-keyframes opacity{0%,to{opacity:0}50%{opacity:1}}@keyframes opacity{0%,to{opacity:0}50%{opacity:1}}.embedded-logo{height:auto;width:100%;max-width:290px;padding:.5rem 0}.ens-response{color:#737373}.dropdown-node .dropdown-menu li{border-left:2px solid #b50085;position:relative}.dropdown-node .dropdown-menu li:last-child{border-top:1px solid #ececec;padding-top:5px}.dropdown-node .dropdown-menu li:first-child,.dropdown-node .dropdown-menu li:nth-child(2),.dropdown-node .dropdown-menu li:nth-child(3),.dropdown-node .dropdown-menu li:nth-child(4){border-left:2px solid #0e97c0}.dropdown-node .dropdown-menu li:nth-child(5){border-left:2px solid #009241}.dropdown-node .dropdown-menu li:nth-child(6),.dropdown-node .dropdown-menu li:nth-child(7),.dropdown-node .dropdown-menu li:nth-child(8),.dropdown-node .dropdown-menu li:nth-child(9),.dropdown-node .dropdown-menu li:nth-child(10),.dropdown-node .dropdown-menu li:nth-child(11){border-left:2px solid #adc101}.dropdown-node .dropdown-menu li:nth-child(12){border-left:2px solid #673ab7}.dropdown-node .dropdown-menu li:nth-child(13){border-left:2px solid #00ad85}.dropdown-node .dropdown-menu li:nth-child(14){border-left:2px solid #4568bb}.dropdown-node .dropdown-menu li:nth-child(15){border-left:2px solid #6a488d}.dropdown-node .dropdown-menu li:nth-child(16){border-left:2px solid #046111}.dropdown-node .dropdown-menu li:last-child{border-left:2px solid #9a9a9a}.dropdown-node .dropdown-menu li:nth-child(4),.dropdown-node .dropdown-menu li:nth-child(5),.dropdown-node .dropdown-menu li:nth-child(11),.dropdown-node .dropdown-menu li:nth-child(12),.dropdown-node .dropdown-menu li:nth-child(13),.dropdown-node .dropdown-menu li:nth-child(14),.dropdown-node .dropdown-menu li:nth-child(15){border-bottom:1px solid #ececec}header{margin-bottom:1em}header.ETH+.container+.pre-footer+.footer,header.ETH .nav-container{border-top:.25rem solid #0e97c0}header.ETH+.container .modal-content{border:.25rem solid #0e97c0}header.ETH+.container .alert-info{background-color:#0e97c0}header.ETC+.container+.pre-footer+.footer,header.ETC .nav-container{border-top:.25rem solid #009241}header.ETC+.container .modal-content{border:.25rem solid #009241}header.ETC+.container .alert-info{background-color:#009241}header.Ropsten+.container+.pre-footer+.footer,header.Ropsten .nav-container{border-top:.25rem solid #adc101}header.Ropsten+.container .modal-content{border:.25rem solid #adc101}header.Ropsten+.container .alert-info{background-color:#adc101}header.Kovan+.container+.pre-footer+.footer,header.Kovan .nav-container{border-top:.25rem solid #adc101}header.Kovan+.container .modal-content{border:.25rem solid #adc101}header.Kovan+.container .alert-info{background-color:#adc101}header.Rinkeby+.container+.pre-footer+.footer,header.Rinkeby .nav-container{border-top:.25rem solid #adc101}header.Rinkeby+.container .modal-content{border:.25rem solid #adc101}header.Rinkeby+.container .alert-info{background-color:#adc101}header.RSK+.container+.pre-footer+.footer,header.RSK .nav-container{border-top:.25rem solid #ff794f}header.RSK+.container .modal-content{border:.25rem solid #ff794f}header.RSK+.container .alert-info{background-color:#ff794f}header.Custom+.container+.pre-footer+.footer,header.Custom .nav-container{border-top:.25rem solid #b50085}header.Custom+.container .modal-content{border:.25rem solid #b50085}header.Custom+.container .alert-info{background-color:#b50085}header.EXP+.container+.pre-footer+.footer,header.EXP .nav-container{border-top:.25rem solid #673ab7}header.EXP+.container .modal-content{border:.25rem solid #673ab7}header.EXP+.container .alert-info{background-color:#673ab7}header.UBQ+.container+.pre-footer+.footer,header.UBQ .nav-container{border-top:.25rem solid #00ad85}header.UBQ+.container .modal-content{border:.25rem solid #00ad85}header.UBQ+.container .alert-info{background-color:#00ad85}header.POA+.container+.pre-footer+.footer,header.POA .nav-container{border-top:.25rem solid #4568bb}header.POA+.container .modal-content{border:.25rem solid #4568bb}header.POA+.container .alert-info{background-color:#4568bb}header.TOMO+.container+.pre-footer+.footer,header.TOMO .nav-container{border-top:.25rem solid #6a488d}header.TOMO+.container .modal-content{border:.25rem solid #6a488d}header.TOMO+.container .alert-info{background-color:#6a488d}header.ELLA+.container+.pre-footer+.footer,header.ELLA .nav-container{border-top:.25rem solid #046111}header.ELLA+.container .modal-content{border:.25rem solid #046111}header.ELLA+.container .alert-info{background-color:#046111}.swap-tab a.link,.swap-tab a.link:hover{-webkit-transition:none;-o-transition:none;transition:none}.swap-tab .btn-lg{margin-top:3rem}.swap-tab .btn img,.swap-tab .btn svg{margin-right:.5rem;margin-left:-.25rem;vertical-align:middle}.swap-tab .swap-rates{text-align:center}.swap-tab .swap-rates .order-panel{background:-webkit-linear-gradient(300deg,#0e97c0,#163151);background:-o-linear-gradient(300deg,#0e97c0,#163151);background:linear-gradient(150deg,#0e97c0,#163151);position:relative}.swap-tab .swap-rates .order-panel .bity-logo{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}@media screen and (max-width:51.2rem){.swap-tab .swap-rates .order-panel{padding-top:1rem;padding-bottom:1rem}.swap-tab .swap-rates .order-panel .order-info{text-align:left;padding:0 0 0 22%}.swap-tab .swap-rates .order-panel .bity-logo{left:-1rem;top:40%;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}}.swap-tab .swap-rates .form-control.input-sm{width:16%;min-width:3.5rem;display:inline-block;margin-right:1rem;text-align:right;background-color:transparent;color:#fff;-webkit-box-shadow:0 0 0 #fff;box-shadow:0 0 0 #fff;border:0 solid #fff;border-bottom:2px solid #fff}.swap-tab .swap-rates p{margin:0}.swap-tab .swap-rates p span{opacity:.9}.swap-tab .swap-rates .order-info:nth-child(4n+1),.swap-tab .swap-rates .order-info:nth-child(4n+2),.swap-tab .swap-rates .order-info:nth-child(4n+3){background:transparent}.swap-tab .swap-panel{text-align:center;margin-top:3rem;padding:2rem .5rem}.swap-tab .swap-panel>*{display:inline-block;margin:1.5rem .5rem;vertical-align:middle}.swap-tab .swap-panel .form-control{width:10rem;margin-right:0}.swap-tab .swap-panel .dropdown{margin-left:0}.swap-tab .swap-address{text-align:center;padding:3rem 1rem}.swap-tab .swap-start{text-align:center}.swap-tab .swap-start .swap-info{text-align:left;margin-bottom:5rem}.swap-tab .swap-order{text-align:left}.swap-tab .swap-order .order-info-wrap{margin-bottom:0}.swap-tab .swap-order h1{margin-top:3rem;margin-bottom:3rem}.ens-tab .collapse-container h4,.ens-tab .collapse-container h5,.swap-tab .collapse-container h4,.swap-tab .collapse-container h5{display:inline-block}.ens-tab .collapse-container .collapse-button,.swap-tab .collapse-container .collapse-button{float:none;margin:0}.order-info-wrap{margin-bottom:3rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.order-info-wrap .order-info{padding:1rem 0}.order-info{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around;min-height:100px;text-align:center;padding:.5rem 0;color:#fff}.order-info:after,.order-info:before{content:" ";display:table}.order-info:after{clear:both}.order-info h3,.order-info h4,.order-info p{margin:0}.order-info:nth-child(4n+1){background-color:#175575}.order-info:nth-child(4n+2){background-color:#1e92ba}.order-info:nth-child(4n+3){background-color:#143955}.order-info:nth-child(4n+4){background-color:#19b3ae}.swap-progress{margin-top:2rem;margin-bottom:0;position:relative}.swap-progress .sep{position:absolute;top:3.5rem;left:3%;right:3%;height:.25rem;background-color:#ececec}@media screen and (max-width:675px){.swap-progress .sep{display:none}}.swap-progress:after,.swap-progress:before{content:" ";display:table}.swap-progress:after{clear:both}.swap-progress .progress-item{width:20%;float:left;text-align:center;margin:.25rem 0}@media screen and (max-width:675px){.swap-progress .progress-item{width:100%}}.swap-progress .progress-item:nth-child(4n+1) .progress-circle{border-color:rgba(30,146,186,.4);color:rgba(30,146,186,.4)}.swap-progress .progress-item:nth-child(4n+2) .progress-circle{border-color:rgba(23,85,117,.4);color:rgba(23,85,117,.4)}.swap-progress .progress-item:nth-child(4n+3) .progress-circle{border-color:rgba(25,179,174,.4);color:rgba(25,179,174,.4)}.swap-progress .progress-item:nth-child(4n+4) .progress-circle{border-color:rgba(20,57,85,.4);color:rgba(20,57,85,.4)}.swap-progress .progress-item .progress-circle{border-radius:50%;border-width:.25rem;border-style:solid;-webkit-box-sizing:content-box;box-sizing:content-box;margin:1rem auto;padding-bottom:4rem;position:relative;width:4rem;background:#fff}@media screen and (max-width:675px){.swap-progress .progress-item .progress-circle{margin:.25rem 1rem .25rem 2rem;padding-bottom:3rem;width:3rem;float:left}}.swap-progress .progress-item .progress-circle i{font-size:1.5rem;line-height:1.75rem;height:1.75rem;width:1.75rem;font-weight:900;position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}@media screen and (max-width:675px){.swap-progress .progress-item .progress-circle i{font-size:1.5rem;line-height:1.5rem;height:1.5rem;width:1.5rem}}.swap-progress .progress-item p{font-size:.9rem;font-weight:600;text-transform:uppercase;color:hsla(0,0%,55%,.5);letter-spacing:.1em}@media screen and (max-width:675px){.swap-progress .progress-item p{line-height:4rem;margin:0;text-align:left}}.swap-progress .progress-item p small{letter-spacing:.03em;font-size:75%}.swap-progress .progress-item.progress-active p{color:#8d8d8d}.swap-progress .progress-item.progress-active:nth-child(4n+1) .progress-circle{border-color:#1e92ba;color:#1e92ba}.swap-progress .progress-item.progress-active:nth-child(4n+2) .progress-circle{border-color:#175575;color:#175575}.swap-progress .progress-item.progress-active:nth-child(4n+3) .progress-circle{border-color:#19b3ae;color:#19b3ae}.swap-progress .progress-item.progress-active:nth-child(4n+4) .progress-circle{border-color:#143955;color:#143955}.swap-progress .progress-item.progress-true .progress-circle{background-color:#5dba5a;border-color:#5dba5a;-webkit-box-shadow:inset 0 0 0 5px #fff;box-shadow:inset 0 0 0 5px #fff}.swap-progress .progress-item.progress-true .progress-circle i{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 426.67 426.67' width='32' height='32'%3E%3Cpath d='M153.504 366.839c-8.657 0-17.323-3.302-23.927-9.911L9.914 237.265c-13.218-13.218-13.218-34.645 0-47.863 13.218-13.218 34.645-13.218 47.863 0l95.727 95.727 215.39-215.386c13.218-13.214 34.65-13.218 47.859 0 13.222 13.218 13.222 34.65 0 47.863L177.436 356.928c-6.609 6.605-15.271 9.911-23.932 9.911z' fill='%23fff'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain;font-size:0}.swap-progress .progress-item.progress-true p{color:#5dba5a}.ens-tab .order-info-wrap{margin-top:1rem;margin-bottom:1rem}.ens-tab h5+p{margin-top:-.5em}.bity-contact{margin:9rem -1rem -5rem}.cont-md{max-width:64rem;margin:auto}.txstatus__1 .form-control{max-width:64rem;margin:1rem auto}.txstatus__3 h4{display:inline-block}.txstatus__3 .collapse-button{float:none;margin:0}#etherWalletPopUp{padding:10px;position:relative;min-width:346px}#etherWalletPopUp .back-icon{position:absolute;left:5px;top:5px}#etherWalletPopUp .back-icon:active,#etherWalletPopUp .back-icon:hover{outline:0}.quicksend-address{font-family:Menlo,Monaco,Consolas,Courier New,monospace;max-width:170px;word-wrap:break-word;font-size:12px;font-weight:300;display:block}.chrome-tokens span{min-width:130px;display:inline-block}.mainWalletDelete,.mainWalletEdit,.mainWalletView{margin:.5em}.myWalletCtrl table:not(.account-info) h2{margin:0;font-size:1.6em}.myWalletCtrl table:not(.account-info) h3{font-weight:400;font-size:1.3em}.myWalletCtrl table:not(.account-info) td:nth-child(2){max-width:380px}.myWalletCtrl table:not(.account-info) td,.myWalletCtrl table:not(.account-info) th{vertical-align:middle;padding:.5em .75em}#secWatchOnlyMain .mainWalletDelete{width:60px;display:block}.text-navy{color:#163151}.text-gray-lighter{color:#ececec}.text-blue{color:#0e97c0}.text-white{color:#fff}.bg-navy{background:#163151}.bg-gradient{background:#163151;background:-webkit-linear-gradient(301deg,#132a45,#143a56,#21a4ce,#19b4ad);background:-o-linear-gradient(301deg,#132a45,#143a56,#21a4ce,#19b4ad);background:linear-gradient(149deg,#132a45,#143a56,#21a4ce,#19b4ad)}.bg-gray-lighter{background-color:#ececec}.bg-blue{background-color:#0e97c0}.bg-white{background-color:#fff}.text-serif{font-family:Georgia,Times New Roman,Times,serif}.text-sans-serif{font-family:Lato,sans-serif}.pad-v-sm{padding-top:.5em;padding-bottom:.5em}.pad-v-md{padding-top:1em;padding-bottom:1em}.pad-v-lg{padding-top:1.5em;padding-bottom:1.5em}.pad-v-xl{padding-top:2em;padding-bottom:2em}.marg-v-sm{margin-top:.5em;margin-bottom:.5em}.marg-v-md{margin-top:1em;margin-bottom:1em}.marg-v-lg{margin-top:1.5em;margin-bottom:1.5em}.marg-v-xl{margin-top:2em;margin-bottom:2em}.img-fill{width:100%;height:auto;max-width:100%}.header-branding{color:#fff;padding:0}@media screen and (max-width:900px){.header-branding{text-align:center}}.header-branding .container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}@media screen and (max-width:900px){.header-branding .container{padding-left:1%;padding-right:1%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}}.header-branding .brand img{padding:.25rem 0}@media screen and (max-width:900px){.header-branding .brand img{max-width:10rem}}.header-branding .tagline{font-weight:200;color:#fff;-webkit-box-flex:1;-webkit-flex:1 auto;-ms-flex:1 auto;flex:1 auto;text-align:right;padding:.25rem 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}@media screen and (max-width:900px){.header-branding .tagline{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;text-align:right}}.header-branding a{cursor:pointer;font-weight:400;display:inline-block}.header-branding a,.header-branding a:active,.header-branding a:hover{color:#fff;-webkit-transition:all .25s ease;-o-transition:.25s all ease;transition:all .25s ease}.header-branding a:active,.header-branding a:hover{opacity:.8;text-decoration:none}.header-branding .dropdown{padding:.2rem}@media screen and (max-width:900px){.header-branding .dropdown{padding:.2rem 0;white-space:nowrap;display:inline-block;font-size:14px}.header-branding .dropdown .dropdown-menu{right:-10px;min-width:auto;left:auto;top:2.45rem;font-size:14px}.header-branding .dropdown .dropdown-menu>li>a{font-size:14px;padding:.25rem 30px .25rem 15px;position:relative}}.header-branding .dropdown-toggle{font-size:14px;padding:.3em .6rem}.header-branding .dropdown-gas{display:inline-block}@media screen and (max-width:900px){.header-branding .dropdown-gas{margin-bottom:1.8rem}}.header-branding .dropdown-gas .dropdown-toggle{min-width:200px}.header-branding .dropdown-gas .dropdown-menu{min-width:100%;padding:.5rem;margin:0;left:0;right:0}.header-branding .dropdown-gas .dropdown-menu p{padding:0}.dropdown-menu a.active{text-decoration:none;color:#0e97c0;background-color:#fafafa}.nav-container{position:relative;overflow-y:hidden}.nav-container .nav-scroll{-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch;overflow-x:auto;margin-bottom:-20px;font-size:0;white-space:nowrap}@media screen and (max-width:51.2rem){.nav-container .nav-scroll{margin:0 -5% -20px}}.nav-container .nav-scroll .nav-inner{border-bottom:2px solid #fff;display:inline-block;font-size:0;margin-bottom:20px;min-width:100%;padding:5px 0 0;vertical-align:middle}.nav-container .nav-scroll .nav-inner .nav-item{display:inline-block;font-size:0}.nav-container .nav-scroll .nav-inner .nav-item.NAV_Swap a:before{content:"";display:inline-block;margin-top:-.1rem;width:1.3rem;height:1.3rem;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 620.04 631.27'%3E%3Ctitle%3Eicon-swap%3C/title%3E%3Cpath d='M469.95 289.68c-77 0-139.59-62.62-139.59-139.59S392.98 10.5 469.95 10.5s139.59 62.62 139.59 139.59-62.62 139.59-139.59 139.59z' fill='%23ffe14d'/%3E%3Cpath d='M469.95 21a129.09 129.09 0 1 1-129.09 129.09A129.24 129.24 0 0 1 469.95 21m0-21c-82.76 0-150.09 67.33-150.09 150.09s67.29 150.09 150.09 150.09 150.09-67.33 150.09-150.09S552.71 0 469.95 0z' fill='%230f0f0f'/%3E%3Cpath d='M599.04 150.09A129.24 129.24 0 0 0 469.95 21v258.18a129.24 129.24 0 0 0 129.09-129.09z' fill='%23fc3'/%3E%3Cpath d='M469.95 44.94a105.12 105.12 0 1 0 105.12 105.15A105.24 105.24 0 0 0 469.95 44.94zm0 179c-49.27 0-74.85-24.6-74.85-73.87s25.58-74.85 74.85-74.85 75.82 25.58 75.82 74.85-26.55 73.87-75.82 73.87z' fill='%23ff9f19'/%3E%3Cpath d='M545.77 150.09c0 49.27-26.55 74.85-75.82 74.85v30.27a105.12 105.12 0 1 0 0-210.24v30.27c49.27 0 75.82 25.58 75.82 74.85z' fill='%23f28618'/%3E%3Cpath fill='%230492be' d='M100.66 277.37H26.9V114.06h240.72V50.84l131.7 100.1-131.7 100.09v-63.22H100.66v89.56z'/%3E%3Cpath fill='%23103957' opacity='.2' d='M63.78 150.94h335.54l-131.7-100.1v63.22H26.9v163.31h36.88V150.94z'/%3E%3Cpath d='M259.71 34.94l152.67 116-152.67 116v-71.23H108.55v89.56H19V106.15h240.71zm126.55 116L275.52 66.77v55.17H34.8v147.53h57.95v-89.53h182.77v55.19z'/%3E%3Cpath fill='%23fff' d='M292.951 119.43l9.638-12.482 47.456 36.642-9.638 12.482z'/%3E%3Cpath d='M150.09 620.77c-77 0-139.59-62.62-139.59-139.59s62.65-139.59 139.59-139.59 139.59 62.62 139.59 139.59-62.62 139.59-139.59 139.59z' fill='%23ffe14d'/%3E%3Cpath d='M150.09 352.09A129.09 129.09 0 1 1 21 481.18a129.24 129.24 0 0 1 129.09-129.09m0-21C67.33 331.09 0 398.42 0 481.18s67.33 150.09 150.09 150.09 150.06-67.33 150.06-150.09-67.3-150.09-150.06-150.09z' fill='%230f0f0f'/%3E%3Cpath d='M21 481.18a129.24 129.24 0 0 0 129.09 129.09V352.09A129.24 129.24 0 0 0 21 481.18z' fill='%23fc3'/%3E%3Cpath d='M150.09 586.3A105.12 105.12 0 1 0 44.97 481.18 105.24 105.24 0 0 0 150.09 586.3zm0-179c49.27 0 74.85 24.6 74.85 73.87s-25.58 74.85-74.85 74.85-75.82-25.58-75.82-74.85 26.55-73.86 75.82-73.86z' fill='%23ff9f19'/%3E%3Cpath d='M74.26 481.18c0-49.27 26.55-74.85 75.82-74.85v-30.27a105.12 105.12 0 1 0 0 210.24v-30.27c-49.26 0-75.82-25.58-75.82-74.85z' fill='%23f28618'/%3E%3Cpath fill='%230492be' d='M519.39 353.9h73.75v163.31H352.43v63.22L220.72 480.34l131.71-100.1v63.22h166.96V353.9z'/%3E%3Cpath fill='%23103957' opacity='.2' d='M556.26 480.34H220.72l131.71 100.09v-63.22h240.71V353.9h-36.88v126.44z'/%3E%3Cpath d='M360.32 596.36l-152.66-116 152.66-116v71.25h151.16V346h89.56v179.11H360.32zm-126.55-116l110.74 84.16v-55.21h240.73V361.8h-57.95v89.56H344.52v-55.19z'/%3E%3Cpath fill='%23fff' d='M268.572 486.574l9.7-12.473 47.419 36.875-9.7 12.473z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain;vertical-align:middle;margin-right:.25rem}.nav-container .nav-scroll .nav-inner .nav-item a{color:#095f79;display:block;font-size:16px;font-weight:300;padding:10px;white-space:nowrap;position:relative;min-height:2.75rem}.nav-container .nav-scroll .nav-inner .nav-item a:after{content:"";background:#0e97c0;height:2px;width:100%;left:0;position:absolute;bottom:-1px;-webkit-transition:all .25s ease 0s;-o-transition:all .25s ease 0s;transition:all .25s ease 0s;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}.nav-container .nav-scroll .nav-inner .nav-item.active a,.nav-container .nav-scroll .nav-inner .nav-item a:focus,.nav-container .nav-scroll .nav-inner .nav-item a:hover{color:#0e97c0;text-decoration:none;-webkit-transition:all .25s ease 0s;-o-transition:all .25s ease 0s;transition:all .25s ease 0s}.nav-container .nav-scroll .nav-inner .nav-item.active a:after,.nav-container .nav-scroll .nav-inner .nav-item a:focus:after,.nav-container .nav-scroll .nav-inner .nav-item a:hover:after{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);-webkit-transition:all .25s ease 0s;-o-transition:all .25s ease 0s;transition:all .25s ease 0s}.nav-container .nav-arrow-left,.nav-container .nav-arrow-right{background-color:#fff;bottom:12px;color:#d6d6d6;font-size:33px;line-height:1.3;min-width:50px;position:absolute;top:0;vertical-align:middle;width:5%;z-index:999}.nav-container .nav-arrow-left:hover,.nav-container .nav-arrow-right:hover{text-decoration:none}.nav-container .nav-arrow-right{right:3%;background:-webkit-gradient(linear,left top,right top,from(hsla(0,0%,100%,0)),color-stop(47%,#fff),to(#fff));background:-webkit-linear-gradient(left,hsla(0,0%,100%,0),#fff 47%,#fff);background:-o-linear-gradient(left,hsla(0,0%,100%,0) 0,#fff 47%,#fff 100%);background:linear-gradient(90deg,hsla(0,0%,100%,0) 0,#fff 47%,#fff);padding-right:5px;text-align:right}@media screen and (max-width:51.2rem){.nav-container .nav-arrow-right{right:0}}.nav-container .nav-arrow-left{left:3%;background:-webkit-gradient(linear,right top,left top,from(hsla(0,0%,100%,0)),color-stop(47%,#fff),to(#fff));background:-webkit-linear-gradient(right,hsla(0,0%,100%,0),#fff 47%,#fff);background:-o-linear-gradient(right,hsla(0,0%,100%,0) 0,#fff 47%,#fff 100%);background:linear-gradient(270deg,hsla(0,0%,100%,0) 0,#fff 47%,#fff);padding-left:5px;text-align:left}@media screen and (max-width:51.2rem){.nav-container .nav-arrow-left{left:0}}.print-container{width:680px;height:280px;border:1px solid gray;margin-bottom:50px;position:relative}.print-container #identicon{-webkit-print-color-adjust:exact;position:absolute;right:7.5rem;bottom:3rem}.print-container #identicon:after{content:"Always look for this icon when sending to this wallet.";font-size:9px;width:120px;position:absolute;bottom:.75rem;text-align:center;right:-7.5rem}.print-title{float:left}.print-text{color:#0b7290;text-transform:uppercase;letter-spacing:.05em;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);position:absolute;right:0;bottom:0;font-size:13px;font-weight:600}.print-qr-code-1{width:28%;float:left;position:relative;padding:20px}.print-qr-code-1 .print-text{right:-35px;bottom:69px}.print-qr-code-2{width:28%;float:left;position:relative;padding:20px}.print-qr-code-2 .print-text{right:-45px;bottom:69px}.print-notes{width:28%;float:left;position:relative;padding:20px}.print-notes .print-text{right:-45px;bottom:69px}.print-address-container{float:left;width:85%;padding:0 25px}.print-address-container p{font-size:14px;font-family:Menlo,Monaco,Consolas,Courier New,monospace}.ether-logo-1{position:absolute;left:100px}.ether-logo-2{position:absolute;right:32px;bottom:64px}.block--container{max-width:113rem;margin-left:-1%;margin-right:-1%}.block__wrap{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.block{background-color:#fff;-webkit-box-shadow:16px 16px 47px 2px rgba(0,0,0,.07);box-shadow:16px 16px 47px 2px rgba(0,0,0,.07);padding:1.5rem 2rem;min-height:1.5rem;margin:1rem auto;position:relative}.block:after,.block:before{content:" ";display:table}.block:after{clear:both}@media screen and (max-width:32rem){.block{padding:1.25rem}}.block>:first-child{margin-top:0}.block>:last-child{margin-bottom:0}.block--text-white *,.block--text-white a{color:#fff}.block--text-white a:focus,.block--text-white a:hover{color:hsla(0,0%,100%,.9)}.block--danger{background-color:#ea4b40}.block--danger *,.block--danger a{color:#fff}.block--danger a:focus,.block--danger a:hover{color:hsla(0,0%,100%,.9)}.block--warning{background-color:#ff9800}.block--warning *,.block--warning a{color:#fff}.block--warning a:focus,.block--warning a:hover{color:hsla(0,0%,100%,.9)}.block--info{background-color:#163151}.block--info *,.block--info a{color:#fff}.block--info a:focus,.block--info a:hover{color:hsla(0,0%,100%,.9)}.block--primary{background-color:#0e97c0}.block--primary *,.block--primary a{color:#fff}.block--primary a:focus,.block--primary a:hover{color:hsla(0,0%,100%,.9)}.block--success{background-color:#5dba5a}.block--success *,.block--success a{color:#fff}.block--success a:focus,.block--success a:hover{color:hsla(0,0%,100%,.9)}.block__main{background-color:#fff;-webkit-box-shadow:16px 16px 47px 2px rgba(0,0,0,.07);box-shadow:16px 16px 47px 2px rgba(0,0,0,.07);padding:1.5rem 2rem;min-height:1.5rem;margin:1rem auto;position:relative;text-align:left;padding:.75rem;-webkit-flex-basis:98%;-ms-flex-preferred-size:98%;flex-basis:98%;margin:1rem .5%}.block__main:after,.block__main:before{content:" ";display:table}.block__main:after{clear:both}@media screen and (max-width:32rem){.block__main{padding:1.25rem}}.block__main>:first-child{margin-top:0}.block__main>:last-child{margin-bottom:0}@media screen and (min-width:51.2rem){.block__main{-webkit-flex-basis:68%;-ms-flex-preferred-size:68%;flex-basis:68%}}@media screen and (min-width:66.13333333rem){.block__main{-webkit-flex-basis:73%;-ms-flex-preferred-size:73%;flex-basis:73%}}.block__help{background-color:#fff;-webkit-box-shadow:16px 16px 47px 2px rgba(0,0,0,.07);box-shadow:16px 16px 47px 2px rgba(0,0,0,.07);padding:1.5rem 2rem;min-height:1.5rem;margin:1rem auto;position:relative;background-image:url(../images/icon-help-2.svg);background-size:8rem;background-position:102% -5%;background-repeat:no-repeat;text-align:left;margin:1rem 1%;-webkit-flex-basis:98%;-ms-flex-preferred-size:98%;flex-basis:98%}.block__help:after,.block__help:before{content:" ";display:table}.block__help:after{clear:both}@media screen and (max-width:32rem){.block__help{padding:1.25rem}}.block__help>:last-child{margin-bottom:0}@media screen and (min-width:51.2rem){.block__help{-webkit-flex-basis:28%;-ms-flex-preferred-size:28%;flex-basis:28%}}@media screen and (min-width:66.13333333rem){.block__help{-webkit-flex-basis:23%;-ms-flex-preferred-size:23%;flex-basis:23%}}.block__help a{color:#ff5722}.block__help a:hover{color:#ff4408}.block__help>:first-child{margin-top:0}.block__help ul{list-style:circle}.block__help ol,.block__help ul{padding-left:1rem}.block__help h2{font-size:1.15rem;font-weight:400}.equal-space>*{margin-top:1rem;margin-bottom:1rem}.u-center-h{text-align:center}.gen__1 .input-group{max-width:43rem;margin:1rem auto}.gen__1--inner{text-align:center}.gen__1--inner h1{margin:1rem auto 2rem}.gen__1--inner h4{margin:3rem auto 1rem}.gen__1--inner p{margin:0 0 2rem}.gen__1--inner .btn{margin:0 auto 3rem}.gen__2--inner{text-align:center}.gen__2--inner h1{margin:1rem auto}.gen__2--inner>.btn{margin:1rem auto 2rem}.gen__2--inner .warn{margin:2rem auto}.gen__3--inner{text-align:center}.gen__3--inner h1{margin:2rem auto 1rem}.gen__3--inner>.btn,.gen__3--inner>.form-control{margin:0 auto 3rem}.pre-footer{padding:1rem;-webkit-box-shadow:16px 16px 47px 0 rgba(0,0,0,.07);box-shadow:16px 16px 47px 0 rgba(0,0,0,.07);margin-top:5rem;background-color:#fff;text-align:center}.pre-footer p{font-size:1.3rem}.footer{background-color:#102138;color:#fff;font-size:.8rem;margin-top:0}.footer h5{margin-top:.5rem;margin-bottom:.25rem}.footer h5 i{margin-left:-1.5em;margin-right:.25em}.footer h5:first-child{margin-top:0}.footer ul{list-style:none;padding-left:0;margin:0}.footer li,.footer p{font-size:.8rem;margin:.25em 0}.footer a{color:#7fe5ff;font-weight:400}.footer a:focus,.footer a:hover{color:#4cdbff}.footer small{font-size:.6rem}.footer--logo{width:100%;height:auto;max-width:16rem}.header--gas{max-width:26rem;color:#333}.header--gas p{font-weight:400;margin:.5rem 0 0}.header--gas a,.header--gas a:focus,.header--gas a:hover,.header--gas a:visited{color:#0e97c0}.footer--left{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 2rem;max-width:22rem;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}@media screen and (max-width:32rem){.footer--left{max-width:100%}}.footer--cent{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 2rem;max-width:34rem;-webkit-box-flex:2;-webkit-flex-grow:2;-ms-flex-positive:2;flex-grow:2}@media screen and (max-width:32rem){.footer--cent{max-width:100%}}.footer--cent li:last-child,.footer--cent ul{margin-bottom:0}.footer--righ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 2rem;max-width:28rem;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}@media screen and (max-width:32rem){.footer--righ{max-width:100%}}.footer__icon{display:inline-block;height:30px;width:30px;padding:5px}.footer__pill-wrap{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}a.footer__pill{display:inline;background:#0e97c0;padding:3px 12px;border-radius:30px;color:#fff}a.footer__pill:focus,a.footer__pill:hover{color:#0e97c0;background:#fff;opacity:1}.custom-token-fields label{font-weight:400;font-size:1rem}.custom-token-fields input{height:2rem;padding:.5rem 1rem;font-size:.9rem;line-height:1.5;border-radius:0}select.custom-token-fields input{height:2rem;line-height:2rem}select[multiple].custom-token-fields input,textarea.custom-token-fields input{height:auto}.custom-token-fields input .mono{font-size:.75rem}.custom-token-fields .address-identicon-container{margin-top:2rem}.swap--btc,.swap--hw,.swap--usd{text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:1rem .15rem}.swap--btc .col-sm-7,.swap--hw .col-sm-7,.swap--usd .col-sm-7{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.swap--usd{background-color:#2b71b1}.swap--usd *,.swap--usd a{color:#fff}.swap--usd a:focus,.swap--usd a:hover{color:hsla(0,0%,100%,.9)}.swap--usd .swap-flag--bal,.swap--usd .swap-flag--price{background-color:#2e86d7}.swap--btc{background-color:#006e79}.swap--btc *,.swap--btc a{color:#fff}.swap--btc a:focus,.swap--btc a:hover{color:hsla(0,0%,100%,.9)}.swap--btc .swap-flag--bal,.swap--btc .swap-flag--price{background-color:#00a3b4}.swap--hw{background-color:#6e9a3e}.swap--hw *,.swap--hw a{color:#fff}.swap--hw a:focus,.swap--hw a:hover{color:hsla(0,0%,100%,.9)}.swap--hw .swap-flag--bal,.swap--hw .swap-flag--price{background-color:#81bc3f}.swap--hw .swap__logo{margin:.45rem 0}.swap-flag--bal,.swap-flag--price{background-color:#5dba5a;color:#fff;padding:.1rem .5rem;font-size:.7rem;border-radius:5rem;margin:.7rem 0 0;line-height:1.4;font-family:Menlo,Monaco,Consolas,Courier New,monospace}.swap__subhead{font-size:.8rem;margin:.15rem 0}.swap__cta{font-size:1.25rem;margin:.15rem 0}.swap__logo{margin:0}.swap__nav{margin-top:-1.1rem;margin-bottom:.7rem;text-align:center}.swap__nav a{color:#9a9a9a;padding:0 .2rem .6rem}.send-modal__addr{font-size:12px}.u__protip{display:table}.u__protip:before{content:"";display:table-cell;width:2em;height:1em;background-image:url(../images/icon-protip.svg);background-size:contain;vertical-align:middle;text-align:center;background-position:50%;background-repeat:no-repeat;border-right:.5em solid transparent}.u__download{display:table;margin-left:.5em}.u__download:before{content:"";display:table-cell;width:1.25em;height:1em;background-image:url(../images/icon-external-link.svg);background-size:contain;vertical-align:middle;text-align:center;background-position:50%;background-repeat:no-repeat;border-right:.5em solid transparent}.send__load-tokens{padding:5px 2px;margin:0;background-color:#ff9800;text-align:center;color:#fff;font-size:9px}.send__load-tokens img{width:14px;height:14px}.send__load-tokens p{margin:4px 0 0;font-weight:500}.send__load-tokens:hover{color:#fff;opacity:.8}.onboarding__modal{padding:1rem}.onboarding__modal:after,.onboarding__modal:before{content:" ";display:table}.onboarding__modal:after{clear:both}.onboarding__modal .btn-primary{background-image:url(../images/icon-arrow-right.svg);background-size:contain;background-position:100%;background-repeat:no-repeat}.onboarding__modal .btn-default{background-image:url(../images/icon-arrow-left.svg);background-size:contain;background-position:0;background-repeat:no-repeat}.onboarding__modal .onboarding__title{text-align:center;margin-bottom:1.5rem}@media (max-width:50.2rem){.onboarding__modal .onboarding__title{margin:0 auto .5rem}}.onboarding__modal img{margin-top:1rem;margin-bottom:1rem}@media (max-width:50.2rem){.onboarding__modal img{max-height:200px}}.onboarding__modal .onboarding__buttons .btn{margin-top:.5rem;margin-bottom:.5rem}@media (min-width:51.2rem){.onboarding__modal .onboarding__buttons{margin-top:.5rem;margin-bottom:.5rem}.onboarding__modal .onboarding__buttons:after,.onboarding__modal .onboarding__buttons:before{content:" ";display:table}.onboarding__modal .onboarding__buttons:after{clear:both}.onboarding__modal .onboarding__buttons .btn+.btn{float:right}}@media (max-width:50.2rem){.onboarding__modal .onboarding__buttons .btn{display:block}.onboarding__modal .onboarding__buttons .btn+.btn{margin-top:1.5rem}}@media (max-width:50.2rem){.onboarding__modal{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.onboarding__modal .onboarding__content,.onboarding__modal .onboarding__image{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.onboarding__modal .onboarding__content+.onboarding__image{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}}.row.row--flex{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}@media (max-width:50.2rem){.row.row--flex{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}}.onboarding__msg{text-align:center;font-size:.9rem} \ No newline at end of file diff --git a/Module 3 - Create a Smart Contract/etherwallet-v3.11.2.4/cx-wallet.html b/Module 3 - Create a Smart Contract/etherwallet-v3.11.2.4/cx-wallet.html new file mode 100644 index 0000000..058ca1a --- /dev/null +++ b/Module 3 - Create a Smart Contract/etherwallet-v3.11.2.4/cx-wallet.html @@ -0,0 +1,7248 @@ + + + + + +MyEtherWallet.com + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + +
+ + + +

+ Your Wallets +

+ + + + + + + + + + + + + +
+
+
+
+

+ {{twallet.nick}} +

+ + {{twallet.addr}} + +
+

+ {{twallet.balance|number}} ETH +

+

+ {{twallet.balance }} ETH +

+ + + {{token.getBalance()|number}} + + + {{token.getBalance()}} + + {{token.getSymbol()}}    + +
+ + + + + + + + + +
+ + + + +
+

+ Your Watch-Only Accounts +

+ + + + + + + + +
+
+
+
+

+ {{twallet.nick}} +

+ + {{twallet.addr}} + + +
+ +

+ {{twallet.balance|number}} ETH +

+ +

+ {{twallet.balance }} ETH +

+ + + + {{token.getBalance()|number}} + + + {{token.getBalance()}} + +  {{token.getSymbol()}}    + +
+ + + +
+ +
+ + + + +
+ + +
+ +
+ +
+ + +
+ +
+
+
+
+ +
+ + + DOWNLOAD + +
+ +
+ +
+ + +
+
+ + +
+ + + Print Paper Wallet + +
+
+ + +
+ +
+ +
+ Your Address: +
+
+ +
+ +
+ +
+ + Private Key (unencrypted) + +
+ +
+
+
+
+ + +
+
+ +
+ +
+ + +
+ +
+ +
+ + +
+ + + + + + + + + + + + + + + + + + + +
+ + + +
+ +

Add Wallet

+ + + +
+ +
+

+ What would you like to do? +

+ + + + + +
+ + + +
+ + + +
+ +

+ Generate New Wallet: +

+ +
+ + +
+ +
+ +
+ + + +
+
+ +
+ + + + + +
+ +

+ Select Your Wallet File: +

+ + + +
+

+ Your file is encrypted. Please enter the password: +

+ +
+ +
+ + + + + +
+

+ Paste your private key: +

+ +
+ +
+ +
+

+ Your file is encrypted. Please enter the password: +

+ +
+ +
+ + + + + + +
+

+ Paste your mnemonic: +

+
+ +
+
+ + + + + + +
+ +

+ Add an Account to Watch: +

+ +

+ You can add any account to "watch" on the wallets tab without uploading a private key. This does ** not ** mean you have access to this wallet, nor can you transfer Ether from it. +

+ +
+ + +
+ +
+ + +
+ +
+ + + +
+ + + + + + + + + + + +
+ + + + + + +
+ +
+ + +
+ +
+ Account Address: +
+ + + +
+ Account Balance: +
+ + + +
+ Equivalent Values: +
+ + + + + Swap via Bity + + +
+ Transaction History: +
+ +
+ + + + + + + + +
+ +

Add Wallet

+ +
+ + +
+ +
+ + + +
+ + + + + +
+ +
+ + + + +
+ +
+ + + + + +
+ + +
+ + +
+

+ You arrived via a link that has the address, amount, gas or data fields filled in for you. You can change any information before sending. Unlock your wallet to get started. +

+
+ + + +
+
+ +- +

+ Send Ether & Tokens +

+
+
+ + +
+
+ + + +
+ + +
+ + + + + + + + +
+ + + +
+ +
+ + + +
+ +
+ +
+ + + + + + +

+ + + Send Entire Balance + + +

+ +
+ + + + + +
+
+ + + +
+
+ + + +

+ + Advanced: Add Data +

+
+ + + +
+ + +
+
+ + + + + + +
+
+ + + +
+
+ + + + + + +
+
+ + + +
+
+ + + + + +
+
+ +
+ + + + + + +
+
+

+ + A message regarding + + {{tx.to}} +
+ + {{customGasMsg}} + +

+
+
+ + + + + +
+ +
+ + +
+ +
+ + +
+ +
+ + + + +
+ +
+ + + + + + + +
+ +
+ +
+ Warning! You do not have enough funds to complete this swap. +
+ +

+ Please add more funds to your wallet or access a different wallet. +

+ +
+ + + +
+ + Advanced Users Only. + +
+ +
+ + + + + + +
+ + +
+ + + +
+ + + +
+ + +
+
Current Rates
+
+ + + +
+
+

+ + ETH = {{bity.curRate.ETHBTC*priceTicker.ETHBTC | number: 6}} BTC +

+

+ + ETH = {{bity.curRate.ETHREP*priceTicker.ETHREP | number: 6}} REP +

+
+
+

+ + BTC = {{bity.curRate.BTCETH*priceTicker.BTCETH | number: 6}} ETH +

+

+ + BTC = {{bity.curRate.BTCREP*priceTicker.BTCREP | number: 6}} REP +

+
+ +
+ + +
+ + + + + + + + + + + +
+ + + +
+
Your Information
+ +
+ + + + +
+
+

{{swapOrder.fromVal}} {{swapOrder.fromCoin}}

+

Amount to send

+
+
+

{{swapOrder.toVal}} {{swapOrder.toCoin}}

+

Amount to receive

+
+
+

{{swapOrder.swapRate}} {{swapOrder.swapPair}}

+

Your rate

+
+
+ + + + +
+
+
+ +
+ +
+ +
+
+ + +
+ Start Swap +
+ +
+ + +
+ + + + +
+ + + +
+ +
Your Information
+ +
+ + + +
+
+

{{orderResult.reference}}

+

Your reference number

+
+
+

{{orderResult.progress.timeRemaining}}

+

Time remaining to send

+

Time elapsed since sent

+
+
+

{{orderResult.output.amount}} {{orderResult.output.currency}}

+

Amount to receive

+
+
+

{{swapOrder.swapRate}} {{swapOrder.swapPair}}

+

Your rate

+
+
+ + + +
+
+
+
1

Order Initiated

+
+
+
2

Waiting for your {{orderResult.input.currency}}...

+
+
+
3

{{orderResult.input.currency}} Received!

+
+
+
4
+

+ Sending your {{orderResult.output.currency}}
+ Waiting for 10 confirmations... + Waiting for 1 confirmation... +

+
+
+
5

Order Complete

+
+
+ + + +
+

+ Please send + {{orderResult.input.amount}} {{orderResult.input.currency}} + to address
+ {{orderResult.payment_address}} +

+
+ + + +
+
+
+ +- +
Unlock your wallet to send ETH or Tokens directly from this page.
+
+
+ + +
+
+ +
+ Warning! You are not connected to an ETH node.
+ Please use the node switcher in the top-right corner to switch to an ETH node. We do not support swapping ETC or Testnet ETH. +
+ +
+ + +
+ + + + + + + + +
+ + + +
+ +
+ + + +
+ +
+ +
+ + + + + + +

+ + + Send Entire Balance + + +

+ +
+ + + + + +
+
+ + + +
+
+ + + +

+ + Advanced: Add Data +

+
+ + + +
+ + +
+
+ + + + + + +
+
+ + + +
+
+ + + + + + +
+
+ + + +
+
+ + + + + +
+
+ +
+ + + + + + +
+
+

+ + A message regarding + + {{tx.to}} +
+ + {{customGasMsg}} + +

+
+
+ + + + + +
+ +
+ + +
+ +
+ + +
+ +
+ + + + +
+ +
+ + + + + + + +
+ +
+ +
+ Warning! You do not have enough funds to complete this swap. +
+ +

+ Please add more funds to your wallet or access a different wallet. +

+ +
+ + + +
+ + Advanced Users Only. + +
+ +
+ + + + + + +
+
+ + + + +
+ +
+
+

+ Orders that take too long will have to be processed manually & and may delay the amount of time it takes to receive your coins. +
+ Please use the recommended TX fees seen here. +

+ +
+ + +
+ + + +
+

Issue with your Swap? Contact support

+

Click here if link doesn't work

+ +
+ +
+ + + + + + + +
+ +

+ Generate & Send Offline Transaction +

+ + + +
+ +

Step 1: Generate Information (Online Computer)

+ + +
+ + + + + +
+ + + +
+
+
+ + + +
+ + GENERATE INFORMATION + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ +
+ +
+ + + + +
+ + +
+ +

+ Step 2: Generate Transaction (Offline Computer) +

+ +
+ + +
+ +
+
+
+ +
+

+ {{customGasMsg}} +

+
+ +
+ + + + + + + + + + + + + + + + + + + +
+
+ + + +
+
+ +
+ + + +
+ +
+ + + + + + + +
+ +
+

+ Step 3: Send / Publish Transaction +

+
+ +
+

+ Paste the signed transaction from Step 2 +

+ + + + SEND TRANSACTION + +
+ +
+
+
+ +
+ + + + + + +
+ + +
+ + + + + + + + +
+ + + +
+ + + +

+ Read / Write Contract +

+
{{ contract.address }}
+ +
+

+ Please change the address to your own Multisig Contract Address. +

+
+ +
+
    +
  1. + Generate EOS Key-pair +
  2. +
  3. + + Register / Map your EOS Key + +
      +
    • + Select `register` +
    • +
    • + Enter your **EOS Public Key** <--- CAREFUL! EOS PUBLIC KEY! +
    • +
    • + Unlock wallet
    • +
    • + Amount to Send : + 0 + · + Gas Limit: + at least 90000 +
    • +
    +
  4. +
  5. + + Fund EOS Contract on Send Page + +
      +
    • + Go to Send Ether & Tokens Page +
    • +
    • + Unlock same wallet you are unlocking here. +
    • +
    • + Send Amount you want to Contribute to `0xd0a6E6C54DbC68Db5db3A091B171A77407Ff7ccf` +
    • +
    • + Gas Limit: + at least 90000 +
    • +
    +
  6. +
  7. + + Claim EOS Tokens + +
      +
    • + Select `claimAll`. +
    • +
    • + Unlock wallet +
    • +
    • + Amount to Send: + 0 · + Gas Limit: + at least 90000 +
    • +
    +
  8. +
+ + +
+ + + +
+
+ +
+ +
+
+ +
+
+
+
+
+
+
+ +

+ + +

+ +

+ + +

+ +

+ + +

+ +

+ + + + + + + +

+

+ + +

+ +
+
+
+ + + + + +
+
+ + +
+ +
+
+
+
+
+ + +

+ + +

+ + +

+ + +

+ + +

+ + +

+ + +

+ + TRUE + FALSE +

+ + +

+ + +

+
+
+
+ + + +
+ + +
+ +
+ + + + + + +
+ + + + + +
+ + +
+ + +
+

+ Byte Code: +

+ +
+ + +
+

Gas:

+ +
+ + + + + +
+ +
+

+ Raw Transaction +

+ +
+ +
+

+ Signed Transaction +

+ +
+
+ + + + + + + + +
+ + +
+ + + +
+ + +
+ +
+ + + + + +
+
+ +
+ + +
+ +
+ + +
+

+ ENS +

+

+ The + + Ethereum Name Service + + is a distributed, open, and extensible naming system based on the Ethereum blockchain. + Once you have a name, you can tell your friends to send ETH to mewtopia.eth instead of 0x7cB57B5A97eAbe942...... +

+
+ + +
+ + +
+
+
+ + +
+ +
+
+ + +
+ + + +
+

+ The ENS is only available on the ETH and Ropsten (Testnet) chains. You are currently on the {{ajaxReq.type}} chain. +
+ Please use the node switcher in the upper right corner to select "ETH" or "Ropsten". +

+
+ + + + +
+ +
+ +

+ What is the process like? +

+ +
+- + + 1. Preparation + +
+
    +
  • + Decide which account you wish to own the name & ensure you have multiple backups of that account. +
  • +
  • + Decide the maximum amount of ETH you are willing to pay for the name (your Bid Amount). Ensure that account has enough to cover your bid + 0.01 ETH for gas. +
  • +
+ + +
+- + + 2. Start an Auction / Place a Bid + +
+
    +
  • + Bidding period lasts 3 days (72 hours). +
  • +
  • + You will enter the name, Actual Bid Amount, Bid Mask, which is protected by a Secret Phrase. +
  • +
  • + This places your bid, but this information is kept secret until you reveal it. +
  • +
+ + +
+- + + 3. Reveal your Bid + +
+
    +
  • + **If you do not reveal your bid, you will not be refunded.** +
  • +
  • + Reveal Period lasts 2 days (48 hours). +
  • +
  • + You will unlock your account, enter the Bid Amount, and the Secret Phrase. +
  • +
  • + In the event that two parties bid exactly the same amount, the first bid revealed will win. +
  • +
+ + +
+- + + 4. Finalize the Auction + +
+
    +
  • + Once the auction has ended (after 5 days / 120 hours), the winner needs to finalize the auction in order to claim their new name. +
  • +
  • + The winner will be refunded the difference between their bid and the next-highest bid. If you are the only bidder, you will refunded all but 0.01 ETH. +
  • +
+ + +
+- + + More Information + +
+ + +
+ +
+ + Knowledge Base: ENS + + +  ·  + + + Debugging a [BAD INSTRUCTION] Reveal + +
+ +

+ Please try the above before relying on support for reveal issues as we are severely backlogged on support tickets. We're so sorry. :( +

+ +
+ +
+ + + + + +
+ +

+ +

+ {{objENS.name}}.eth is not yet available. +

+ +

+ {{objENS.name}}.eth not available. (Forbidden) +

+ +
+ +
+
+

Auction Open On

+

{{objENS.allowedTime.toString()}}

+
+
+

Auction Opens In

+

{{objENS.timeRemaining}}

+
+
+ + + + +
+ +

+ +

+ An auction has been started for {{objENS.name}}.eth. +

+ +

+ {{objENS.name}}.eth is available! +

+ + +
+
+

Reveal Bids On

+

{{getRevealTime().toString()}}

+

{{objENS.timeRemainingReveal}}

+
+
+

Auction Closes On

+

{{objENS.registrationDate.toString()}}

+

{{objENS.timeRemaining}}

+
+
+ +
+ + + + +
+

+

It's time to reveal the bids for {{objENS.name}}.eth.
Current highest bid is {{objENS.highestBid}} ETH.

+ +
+
+

Auction Closes On

+

{{objENS.registrationDate.toString()}}

+

{{objENS.timeRemaining}}

+
+
+ +
+ + + + + +
+ +

+ +

{{objENS.name}}.eth + is already owned: + can be purchased through DomainSale +

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name: + + {{objENS.name}}.eth + +
Labelhash ({{objENS.name}}): {{objENS.nameSHA3}}
Namehash ({{objENS.name}}.eth): {{objENS.namehash}}
Owner: {{objENS.owner}}
Highest Bidder (Deed Owner): {{objENS.deedOwner}}
Resolved Address: {{objENS.resolvedAddress}}
+ +
+ +
+ + + + + +
+
+
+ +- +

+ + Do you want {{objENS.name}}.eth? Unlock your Wallet to Start an Auction + + + Do you want {{objENS.name}}.eth? Unlock your Wallet to Place a Bid + + + Did you bid on {{objENS.name}}.eth? You must reveal your bid now. + + + Is that your address? Finalize the auction to claim your new name. + + + Is that your address? It is ready to set up a resolver. + + +

+
+
+ + +
+
+
+ + + + +
+ +
+ + +
+
+ +

+ + Place a Bid + + + Start an Auction + + + Reveal your Bid + +

+ + + +
+ + +
+ + + +
+
+ -- 👆 enter automagically 👆 -- or -- 👇 enter manually 👇 -- +
+
+ + + + +
+ + +
+ + + +
+ Actual Bid Amount +
+

+ + *You must remember this to claim your name later.* + +

+ +
+ + + + + + + + +
+ + + +
+
+ Bid Mask +
+

+ + *This is the amount of ETH you send when placing your bid. It has no bearing on the *actual* amount you bid (above). It is simply to hide your real bid amount. It must be >= to your actual bid.* + +

+ +
+ + + +
+ Secret Phrase +
+

+ + *You must remember this to claim your name later (feel free to change this) + +

+
+ +
+ + + + + + + +
+

If you haven't done so already, please screenshot & save the below information.

+

Please check your address on https://etherscan.io/ to ensure your BID TX is on the blockchain, without errors.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Name + + {{objENS.name}}.eth +
+ Actual Bid Amount + + {{objENS.bidValue}} {{ajaxReq.type}} +
+ Bid Mask + + {{objENS.dValue}} {{ajaxReq.type}} +
+ Secret Phrase + + {{objENS.secret}} +
+ From Account + + {{wallet.getChecksumAddressString()}} +
+ ⚠ Reveal Date ⚠ + + {{getRevealTime().toString()}} +
+ Auction Ends + + {{objENS.registrationDate.toString()}} +
+ +

+ Copy and save this: +

+ +
+
+ +
+ + + +
+

+ Click your TX hash to see if you successfully revealed your {{objENS.bidValue}} bid for {{objENS.name}}.eth. +

+

+ Please return on {{objENS.registrationDate.toString()}} to finalize the auction and see if you won! +

+
+ + +
+
+ + + +
+ +
+ + + +
+ +
+ + + + +
+ +
+ + +

+

+ Finalizing this name assigns the ENS name to the winning bidder. The winner will be refunded the difference between their bid and the next-highest bid. If you are the only bidder, you will refunded all but 0.01 ETH. Any non-winners will also be refunded. +

+
+ +
+ + + + + + + + + + +
+ +
+ This account is not the owner of {{objENS.name}}.eth. + Please unlock the Owner Account in order to resolve. +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name: + + {{objENS.name}}.eth + +
Labelhash ({{objENS.name}}): {{objENS.nameSHA3}}
Namehash ({{objENS.name}}.eth): {{objENS.namehash}}
Owner: {{objENS.owner}}
Highest Bidder (Deed Owner): {{objENS.deedOwner}}
Resolved Address: {{objENS.resolvedAddress}}
+ + + +
+ + +
+ +
Enter the address you would like this name to resolve to:
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +

Set the Resolver for your Name

+ +
    +
  1. + Go to the contracts tab. +
  2. +
  3. + Choose ENS - Registry: 0x314159265dD8dbb310642f98f50C066173C1259b. Click "Access". +
  4. +
  5. + Select setResolver. +
  6. +
  7. + Enter the Namehash of your name under "node (bytes32)". +
      +
    • + node (bytes32): {{objENS.namehash}} +
    • +
    +
  8. +
  9. + Enter the Public Resolver Address under "resolver (address)". +
      +
    • + resolver (address): 0x5FfC014343cd971B7eb70732021E26C35B744cc4 +
    • +
    +
  10. +
  11. + Unlock the owner's account. +
  12. +
  13. + Click WRITE. +
  14. +
  15. + Generate and send this transaction – leave "Amount to Send" as 0 +
  16. +
  17. + + TX should look like this. + +
  18. +
+ +
+ + + +
+ +

Set the Address That your Name will Resolve To

+ +
    +
  1. + Go to the contracts tab. +
  2. +
  3. + Choose ENS-Public Resolver: 0x5FfC014343cd971B7eb70732021E26C35B744cc4. Click "Access". +
  4. +
  5. + Select setAddr. +
  6. +
  7. + Enter the Namehash of your name under "node (bytes32)". +
      +
    • + node (bytes32): {{objENS.namehash}} +
    • +
    +
  8. +
  9. + Enter the Address you would like to resolve to under "addr (address)". +
      +
    • + addr (address): {{newResolvedAddress}} +
    • +
    +
  10. +
  11. + Unlock the owner's account. +
  12. +
  13. + Click WRITE. +
  14. +
  15. + Generate and send this transaction – leave "Amount to Send" as 0 +
  16. +
  17. + + TX should look like this. + +
  18. +
+ +
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
+ + +
+ +
+ + + + + +
+ + +
+
+
+ + +
+ +
+
+ +
+
+
+
+

+ If you have used DomainSale to buy or sell domains and believe you have funds available for withdrawal you can enter your account address here and it will provide you with a balance +

+
+ +
+ +
+
+
+ + + +
+

DomainSale is only available on the ETH and Ropsten (Testnet) chains. You are currently on the {{ajaxReq.type}} chain.
Please use the node switcher in the upper right corner to select "ETH" or "Ropsten".

+
+ + + + +
+ +
+ +

How can I sell a domain?

+
+ +- + 1. Transfer the domain to DomainSale +
+
    +
  • Before you sell a domain it must be transferred to DomainSale. This ensures that you own the domain and are eligible to sell it.
  • +
+ +
+ +- + 2. Set immediate and/or auction prices +
+
    +
  • Decide if you want to make your domain available for immediate purchase, auction, or both.
  • +
      +
    • If you want to make your domain available for immediate purchase you need to pick the price for which you will sell it.
    • +
    • If you want to make your domain available for auction you need to pick the price for which the initial bid will be made.
    • +
    +
  • Please remember that 10% of the final sale fee will be given to referrers, and price accordingly.
  • +
+ +
+ +- + 3. Finish the auction (if applicable) +
+
    +
  • If your domain was sold at auction then once the auction has closed you (or the buyer) need to finish the auction. This transfers the funds to you and the domain to the buyer. +
+ +

How can I buy a domain?

+
+ +- + 1. Obtain details of the sale +
+
    +
  • Search for the domain that you want to purchase using the check above and obtain the details of the sale.
  • +
      +
    • Note that if the domain is not currently available for sale it might go on sale soon, so make sure to check frequently.
    • +
    +
+ +
+ +- + 2. Buy the domain outright by providing the purchase price +
+
    +
  • This step is only possible if the domain has a purchase price, otherwise proceed to step 3.
  • +
+ +
+ +- + 3a. Bid on the domain +
+
    +
  • This step is only possible if the domain has been put up for auction.
  • +
+ +
+ +- + 3b. Wait for the auction to finish +
+
    +
  • The auction will close 24 hours after the final bid. Note that if someone else places a bid on the name then you can place an additional bid.
  • +
+ +
+ +- + 3c. Finish the auction +
+
    +
  • Once the auction has closed finish the auction to obtain control of the name.
  • +
+ +

General

+
+ +- + More Information +
+
+ +
+ + + + +
+ +

+ +

{{objDomainSale.name}}.eth is not eligible for auction.

+ + This domain has not yet been registered in ENS. You should check it out on the ENS tab to see its status, and bid for it if you want it. + +
+ + + + +
+ +

+ +

{{objDomainSale.name}}.eth is not currently for sale.

+ +
+ + + + +
+ +

+ +

{{objDomainSale.name}}.eth is ready to be put up for sale.

+ +
+ + + + +
+ +

+ +
+

{{objDomainSale.name}}.eth is available for auction.

+ + You can open an auction on this domain by bidding at least {{objDomainSale.reserveEth}} {{ajaxReq.type}}. The auction will remain open until 24 hours have passed without receiving any bids, at which point it will close and the winner can claim the name. +
+ +
+

{{objDomainSale.name}}.eth is available for purchase.

+ + You can buy this domain by paying {{objDomainSale.priceEth}} {{ajaxReq.type}}. You will own the domain immediately. +
+ +
+

{{objDomainSale.name}}.eth is available for purchase or auction.

+ + You can buy this domain by paying {{objDomainSale.priceEth}} {{ajaxReq.type}}. You will own the domain immediately. Alternatively you can open an auction on this domain by bidding at least {{objDomainSale.reserveEth}} {{ajaxReq.type}}. The auction will remain open until 24 hours have passed without receiving any bids, at which point it will close and the winner can claim the name. +
+ +
+ + + + +
+ +

+ +
+

{{objDomainSale.name}}.eth is being auctioned.

+ + The current bid for this domain is {{objDomainSale.lastBidEth}} {{ajaxReq.type}}. It was placed by {{objDomainSale.lastBidder}}. + +
+
+

Auction finishes if no further bids received by

+

{{objDomainSale.auctionEnds.toString()}}

+

{{objDomainSale.timeRemaining}}

+
+ +
+ + + + +
+ +

+ +

{{objDomainSale.name}}.eth auction finished

+ + The auction for this domain was won by {{objDomainSale.lastBidder}} with a bid of {{objDomainSale.lastBidEth}} {{ajaxReq.type}}. + +
+ + + + +
+ +

+ +
+

{{objDomainSale.address}} has no balance

+
+ +
+

{{objDomainSale.address}} has balance of {{objDomainSale.balanceEth}} {{ajaxReq.type}}

+
+ +
+ + + +
+
+
+ +- +

+ Want a different wallet? Change it here. + Do you own and want to sell {{objDomainSale.name}}.eth? Unlock your Wallet to transfer the domain to DomainSale + Do you own and want to set prices for {{objDomainSale.name}}.eth? Unlock your Wallet to set buy and bid price + Do you want to buy {{objDomainSale.name}}.eth? Unlock your Wallet to buy it immediately + Do you want to bid for {{objDomainSale.name}}.eth? Unlock your Wallet to place a bid + Do you want to buy or bid for {{objDomainSale.name}}.eth? Unlock your Wallet to continue + Do you want to bid for {{objDomainSale.name}}.eth? Unlock your Wallet to place a bid + Did you buy or sell {{objDomainSale.name}}.eth? Unlock your Wallet to finish the auction + Want to withdraw your funds? Unlock your Wallet to withdraw + +

+
+
+ + +
+
+
+ + + + + +
+ +
+ + +
+
+
+ +

+ Incorrect Wallet +

+

+ + The wallet you unlocked does not own this name. + + + In order to offer this name, please unlock the wallet with address: + + {{objDomainSale.seller}}. +

+ +
+ +
+ +

+ Transfer {{objDomainSale.name}}.eth to DomainSale +

+ + + + + +
+ + +
+

+ Click your TX hash to see if you successfully transferred {{objDomainSale.name}}.eth to DomainSale. +

+
+ + +
+
+ + + +
+ +
+ + + +
+ +
+ + + + +
+
+ + +
+
+ +

+ Incorrect Wallet +

+

+ + The wallet you unlocked does not own this name. + + + In order to offer this name, please unlock the wallet with address: + + {{objDomainSale.seller}}. +

+ +
+
+ + + +
+ +
+ + +
+
+ +
+ +
+ + +
+
+ + +
+

+ + Offer For Sale: + + {{objDomainSale.name}}.eth +

+

+ + Set either of both of the prices below to offer your domain for sale. Remember that any funds you have locked in the domain's deed will go to the buyer and 10% of the funds when sold goes to referrers. + +

+
+ + + +
+

+ + Alter Your Offer for: + + {{objDomainSale.name}}.eth +

+

+ + Change either of both of the prices below to alter your domain sale offer. Remember that any funds you have locked in the domain's deed will go to the buyer and 10% of the funds when sold goes to referrers. + +

+
+ + + +
+ Buy price +
+

+ + This is the price at which someone can buy the domain immediately. + 0 means that the domain cannot be purchased immediately. + +

+
+ + +
+ + + +
Reserve price
+

+ + This is the price at which someone can start an auction for the domain. 0 means that the domain will not be available for auction. + +

+
+ + +
+ + + + + +
+ +
+

+ Cancel your sale +

+

+ + You can cancel your domain sale, which will return the domain to you with no charge. This is only available before any bids have been received for the domain. + +

+ + + + +
+ + +
+ + + + + + + + + + + + + + + + + + + +
Name{{objDomainSale.name}}.eth
Purchase price{{objDomainSale.priceEth}} {{ajaxReq.type}}
Minimum bid{{objDomainSale.reserveEth}} {{ajaxReq.type}}
Buy amount{{objDomainSale.buyEth}} {{ajaxReq.type}}
Bid amount{{objDomainSale.bidEth}} {{ajaxReq.type}}
+ +
+ + +
+ + + +
+ +
+ + +
+ +
+ + + + +
+ +
+ + +
+ + +
+ + +

+ Buy the domain +

+ + Price to buy the domain immediately: + + + {{objDomainSale.priceEth}} {{ajaxReq.type}}. + + + + + + + +
+ + + + +
+ +

+ Bid for the domain +

+
+
+ + You are currently winning this auction with the highest bid. You can bid higher if you want, but it will delay the close of the auction for 24 hours. + +
+
+ + + Bid at least + + + {{objDomainSale.minimumBidEth}} {{ajaxReq.type}} + + + on the domain. + + + You will win the domain if no higher bids are placed within the next 24 hours. + + + + + + + + + + +
+ + + +
+ + Note that the domain has a locked value of + + {{objDomainSale.valueEth}} {{ajaxReq.type}}. + + As part of the sale you will receive the deed with this value but cannot claim it unless you release the name. + +
+ + +
+ + + +
+ +
+ + + +
+ +
+ + + + +
+ +
+ + +
+
+
+ +

+ Not related to that auction +

+

+ This address is neither the winner nor the seller of the auction. +

+ +
+ +
+
+ +

+ Finish the auction +

+

+ Finish the auction to allocate the domain to the winner and the funds to the seller. +

+ +
+ + + + + + +
+

+ + Click your TX hash to see if you successfully transferred the domain to DomainSale. + + ({{objDomainSale.name}}.eth) +

+
+ +
+ +
+
+ + + +
+ +
+ + + +
+ +
+ + + + +
+ +
+ + +
+
+
+
+ +

Withdraw funds

+ Withdraw {{objDomainSale.balanceEth}} {{ajaxReq.type}} funds for {{wallet.getAddressString()}} + +
+ + + + + + +
+

Click your TX hash to see if you successfully withdrew funds from DomainSale.

+
+ +
+ +
+
+ +

Wallet mismatch

+ The wallet you unlocked is for address {{wallet.getAddressString()}}. Please unlock the correct wallet to proceed. + +
+
+
+
+ + + +
+ +
+ + + +
+ +
+ + + + + + + + + +
+ + +
+ + +
+
+
+

+ Check TX Status +

+

+
+ +
+ + +
+
+
+ + + + +
+ +
+

Transaction Found

+
{{ tx.hash }}
+

+
    +
  • +
  • +
+
+ +
+

+ Transaction Not Found +

+

+ +

+
    +
  • +
  • +
  • +
+
+ +
+

+ Pending Transaction Found +

+
    +
  • +
  • +
  • +
+
+ +
+

+ Transaction Details +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ TX Hash + + + {{ txInfo.hash }} + +
+ From Address + + + {{ txInfo.from }} + +
+ To Address + + + {{ txInfo.to }} + +
+ Amount + + {{ txInfo.valueStr }} +
+ + + Nonce + + + {{ txInfo.nonce }} +
+ + + Gas Limit + + + {{ txInfo.gasLimit }} +
+ + + Gas Price + + + {{ txInfo.gasPrice.gwei }} GWEI + + ({{ txInfo.gasPrice.wei }} WEI) + +
+ Data + + {{ txInfo.data }} +
+
+
+ + + + +
+ +

+ +

+ Cancel or Replace Transaction +

+ +
+
+ +- +

+ Unlock your wallet to replace your transaction. (But, please be careful) +

+
+
+ + +
+
+
+ + + +
+
+ + +
+ + + + + + + + +
+ + + +
+ +
+ + + +
+ +
+ +
+ + + + + + +

+ + + Send Entire Balance + + +

+ +
+ + + + + +
+
+ + + +
+
+ + + +

+ + Advanced: Add Data +

+
+ + + +
+ + +
+
+ + + + + + +
+
+ + + +
+
+ + + + + + +
+
+ + + +
+
+ + + + + +
+
+ +
+ + + + + + +
+
+

+ + A message regarding + + {{tx.to}} +
+ + {{customGasMsg}} + +

+
+
+ + + + + +
+ +
+ + +
+ +
+ + +
+ +
+ + + + +
+ +
+ + + + + + + +
+ +
+ +
+ Warning! You do not have enough funds to complete this swap. +
+ +

+ Please add more funds to your wallet or access a different wallet. +

+ +
+ + + +
+ + Advanced Users Only. + +
+ +
+ + + + + + +
+
+
+ Please unlock the wallet with address +
+ {{ txInfo.from }} +
+
+ + + + + + + +
+ +
+ +
+ + +
+ + + + + + + + + + + + + + + + + + diff --git a/Module 3 - Create a Smart Contract/etherwallet-v3.11.2.4/embedded.html b/Module 3 - Create a Smart Contract/etherwallet-v3.11.2.4/embedded.html new file mode 100644 index 0000000..736b4b3 --- /dev/null +++ b/Module 3 - Create a Smart Contract/etherwallet-v3.11.2.4/embedded.html @@ -0,0 +1,554 @@ + + + + + MyEtherWallet.com + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+ +
+
+

+ Create New Wallet +

+

+ Enter password +

+
+ + + +
+ + Generate Wallet + +

+ +
+
+ +
+ +

+ Already have a wallet somewhere? +

+ +
    +
  • +

    + + Ledger / TREZOR / Digital Bitbox + : + + Use your + + + hardware wallet + . + + Your device * is * your wallet. + +

    +
  • +
+ +
    +
  • +

    + + MetaMask + + + Connect via your + + + MetaMask Extension + . + + So easy! Keys stay in MetaMask, not on a phishing site! Try it today. + +

    +
  • +
+ + + + + +
+ +
+ + +
+ +
+
+

+ Save your Keystore File (UTC / JSON) +

+ + + + DOWNLOAD + + + Keystore File (UTC / JSON) + + + +
+

+ **Do not lose it!** It cannot be recovered if you lose it. +

+

+ **Do not share it!** Your funds will be stolen if you use this file on a malicious/phishing site. +

+

+ **Make a backup!** Secure it like the millions of dollars it may one day be worth. +

+
+ +

+ + + I understand. Continue. + + +

+ +
+ +
+

+ Not Downloading a File? +

+
    +
  • + Try using Google Chrome +
  • +
  • + Right click & save file as. Filename: +
  • + +
+ +

+ Don't open this file on your computer +

+
    +
  • + Use it to unlock your wallet via MyEtherWallet (or Mist, Geth, Parity & other wallet clients.) +
  • +
+ +

Guides & FAQ

+ + +
+ +
+ + +
+ +
+ +
+ +

Save your Private Key

+ +
+ + + PRINT + + +
+

+ **Do not lose it!** It cannot be recovered if you lose it. +

+

+ **Do not share it!** Your funds will be stolen if you use this file on a malicious/phishing site. +

+

+ **Make a backup!** Secure it like the millions of dollars it may one day be worth. +

+
+ +
+ + + Save your Address → + + +
+ +
+

+ Guides & FAQ +

+ + +

+ Why Should I? +

+
    +
  • + To have a secondary backup. +
  • +
  • + In case you ever forget your password. +
  • +
  • + Cold Storage +
  • +
+ +

+ +
+ +
+ +
+
+ +
+ +- +

Unlock your wallet to see your address

+

+
+ +
+ + +
+
+ +
+ +
+ +
+ +
+ + +
+ +
+
+
+
+ +
+ + + DOWNLOAD + +
+ +
+ +
+ + +
+
+ + +
+ + + Print Paper Wallet + +
+
+ + +
+ +
+ +
+ Your Address: +
+
+ +
+ +
+ +
+ + Private Key (unencrypted) + +
+ +
+
+
+
+ + +
+
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+ + +
+ + + +
+ +
+ + + +
+ + +