def setUpClass(self):
        print(
            "\n\nhttps://app.zenhub.com/workspaces/solana-evm-6007c75a9dc141001100ccb8/issues/neonlabsorg/proxy-model.py/233"
        )
        self.account = proxy.eth.account.create()
        print('account.address:', self.account.address)
        request_airdrop(self.account.address)

        compiled = compile_source(INCREAZE_STORAGE_CONTRACT)
        id, interface = compiled.popitem()
        contract = proxy.eth.contract(abi=interface['abi'],
                                      bytecode=interface['bin'])
        trx = proxy.eth.account.sign_transaction(
            dict(nonce=proxy.eth.get_transaction_count(self.account.address),
                 chainId=proxy.eth.chain_id,
                 gas=987654321,
                 gasPrice=1000000000,
                 to='',
                 value=0,
                 data=contract.bytecode), self.account.key)
        signature = proxy.eth.send_raw_transaction(trx.rawTransaction)
        receipt = proxy.eth.wait_for_transaction_receipt(signature)

        self.contract = proxy.eth.contract(address=receipt.contractAddress,
                                           abi=contract.abi,
                                           bytecode=interface['bin'])
예제 #2
0
    def setUpClass(self):
        print(
            "\n\nhttps://app.zenhub.com/workspaces/solana-evm-6007c75a9dc141001100ccb8/issues/neonlabsorg/proxy-model.py/245"
        )
        self.account = proxy.eth.account.create()
        print('account.address:', self.account.address)
        request_airdrop(self.account.address)

        self.client = Client(solana_url)
        wallet = WalletAccount(wallet_path())
        self.acc = wallet.get_acc()
예제 #3
0
    def setUpClass(cls) -> None:
        cls.solana = SolanaInteractor(os.environ['SOLANA_URL'])
        cls.mint_authority_file = "/spl/bin/evm_loader-keypair.json"
        proxy_url = os.environ['PROXY_URL']
        cls.proxy = Web3(Web3.HTTPProvider(proxy_url))
        cls.eth_account = cls.proxy.eth.account.create(
            'https://github.com/neonlabsorg/proxy-model.py/issues/468')
        request_airdrop(cls.eth_account.address)

        cls.payer = SolanaAccount()
        client = SolanaClient(os.environ['SOLANA_URL'])
        client.request_airdrop(cls.payer.public_key(), 1000_000_000_000,
                               Confirmed)
        cls.allowance_token = PermissionToken(
            cls.solana,
            PublicKey(os.environ['NEON_PERMISSION_ALLOWANCE_TOKEN']),
            cls.payer)

        cls.denial_token = PermissionToken(
            cls.solana, PublicKey(os.environ['NEON_PERMISSION_DENIAL_TOKEN']),
            cls.payer)
예제 #4
0
    def setUpClass(cls):
        print("\n\n")
        print(SEED)
        print('eth_account.address:', eth_account.address)
        print('eth_account.key:', eth_account.key.hex())
        request_airdrop(eth_account.address)

        cls.block_hashes = []
        cls.topics = []
        cls.block_numbers = []

        cls.block_hashes_no_event = []
        cls.block_numbers_no_event = []

        cls.deploy_contract(cls)
        cls.commit_transactions(cls)

        print(cls.block_hashes)
        print(cls.topics)
        print(cls.block_numbers)
        print(cls.block_hashes_no_event)
        print(cls.block_numbers_no_event)
예제 #5
0
import os
import json

from proxy.testing.testing_helpers import request_airdrop

MAX_AIRDROP_WAIT_TIME = 45
EVM_LOADER_ID = PublicKey(EVM_LOADER_ID)
PROXY_URL = os.environ.get('PROXY_URL', 'http://localhost:9090/solana')
FAUCET_RPC_PORT = 3333
NAME = 'TestToken'
SYMBOL = 'TST'
proxy = Web3(Web3.HTTPProvider(PROXY_URL))
admin = proxy.eth.account.create(
    'neonlabsorg/proxy-model.py/issues/344/admin20')
proxy.eth.default_account = admin.address
request_airdrop(admin.address)


# Helper function calculating solana address and nonce from given NEON(Ethereum) address
def get_evm_loader_account_address(eth_address: str):
    eth_addressbytes = bytes.fromhex(eth_address[2:])
    return PublicKey.find_program_address([b"\1", eth_addressbytes],
                                          EVM_LOADER_ID)


class TestAirdropperIntegration(TestCase):
    @classmethod
    def setUpClass(cls) -> None:
        cls.create_token_mint(cls)
        cls.deploy_erc20_wrapper_contract(cls)
        cls.acc_num = 0
예제 #6
0
 def setUpClass(cls):
     print("\n\nhttps://github.com/neonlabsorg/proxy-model.py/issues/487")
     print('eth_account.address:', eth_account.address)
     print('eth_account.key:', eth_account.key.hex())
     request_airdrop(eth_account.address)
     cls.deploy_counter_487_solidity_contract(cls)
예제 #7
0
from solana.rpc.api import Client as SolanaClient
from solana.account import Account as SolanaAccount
from solana.publickey import PublicKey
from proxy.environment import EVM_LOADER_ID
from proxy.common_neon.erc20_wrapper import ERC20Wrapper
from proxy.common_neon.neon_instruction import NeonInstruction
from solcx import compile_source

from proxy.testing.testing_helpers import request_airdrop

proxy_url = os.environ.get('PROXY_URL', 'http://127.0.0.1:9090/solana')
solana_url = os.environ.get("SOLANA_URL", "http://127.0.0.1:8899")
proxy = Web3(Web3.HTTPProvider(proxy_url))
admin = proxy.eth.account.create('issues/neonlabsorg/proxy-model.py/197/admin')
proxy.eth.default_account = admin.address
request_airdrop(proxy.eth.default_account)

CONTRACT = '''
pragma solidity >= 0.7.0;

contract ReadOnly {

    function balanceOf(address a) public view returns(uint256) {
        return a.balance;
    }
}
'''


class Test_read_only_accounts(unittest.TestCase):
    @classmethod