コード例 #1
0
    def test_transfer_tokens(self, client_regtest_scrubbed):
        """Tests TRANSFER_TOKENS."""
        client = client_regtest_scrubbed
        client.originate('test_transfer_account1', 100, 'bootstrap1',
                         path.join(OPCODES_CONTRACT_PATH, 'noop.tz'),
                         ['--burn-cap', '10'])
        bake(client)

        client.originate('test_transfer_account2', 20, 'bootstrap1',
                         path.join(OPCODES_CONTRACT_PATH, 'noop.tz'),
                         ['--burn-cap', '10'])
        bake(client)

        init_with_transfer(
            client, path.join(OPCODES_CONTRACT_PATH, 'transfer_tokens.tz'),
            'Unit', 1000, 'bootstrap1')

        assert_balance(client, 'test_transfer_account1', 100)

        account1_addr = client.get_contract_address('test_transfer_account1')
        client.transfer(100, 'bootstrap1', 'transfer_tokens',
                        ['-arg', f'"{account1_addr}"', '--burn-cap', '10'])
        bake(client)

        # Why isn't this 200 ꜩ? Baking fee?
        assert_balance(client, 'test_transfer_account1', 200)

        account2_addr = client.get_contract_address('test_transfer_account2')
        client.transfer(100, 'bootstrap1', 'transfer_tokens',
                        ['-arg', f'"{account2_addr}"', '--burn-cap', '10'])
        bake(client)

        assert_balance(client, 'test_transfer_account2', 120)
コード例 #2
0
    def test_store_input(self, client_regtest_scrubbed):
        client = client_regtest_scrubbed
        client.transfer(1000, "bootstrap1", KEY1, ['--burn-cap', '0.257'])
        bake(client)

        client.transfer(2000, "bootstrap1", KEY2, ['--burn-cap', '0.257'])
        bake(client)

        assert_balance(client, KEY1, 1000)
        assert_balance(client, KEY2, 2000)

        # Create a contract and transfer 100 ꜩ to it
        init_with_transfer(client,
                           path.join(OPCODES_CONTRACT_PATH, 'store_input.tz'),
                           '""', 100, 'bootstrap1')

        client.transfer(100, "bootstrap1", "store_input",
                        ["-arg", '"abcdefg"', '--burn-cap', '10'])
        bake(client)

        assert_balance(client, "store_input", 200)

        assert_storage_contains(client, "store_input", '"abcdefg"')

        client.transfer(100, "bootstrap1", "store_input",
                        ["-arg", '"xyz"', '--burn-cap', '10'])
        bake(client)

        assert_storage_contains(client, "store_input", '"xyz"')