Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ndev 3380 compasability for iterative trx #456

Open
wants to merge 22 commits into
base: develop
Choose a base branch
from

Conversation

kristinaNikolaevaa
Copy link
Collaborator

No description provided.

kristinaNikolaevaa and others added 11 commits November 21, 2024 13:02
…unction scope

fix test_step_from_instruction_for_counter: use holder account with function scope
fix iterative transaction tests: reduce iteration lenght
fix: new holder account for all interoperability tests
…deploy contracy and solana call

add composability test cases: iterative actions + solana call/calls, deploy contracy and solana call
fix deploy contract and solana call test
event_logs = call_solana_caller.events.LogBytes().process_receipt(resp)
assert int.from_bytes(event_logs[0].args.value, byteorder="little") == next(get_counter_value)

def test_iterative_actions_after_solana_call_exceed_accounts_limit(self, counter_resource_address, call_solana_caller, get_counter_value):
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this test can be deleted
iterative actions after solana call can't be called at all

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is working now and idk why, I asked the core team about this and wait for their response

function deployStorageAndCallSolana(string memory message, uint64 lamports, bytes calldata instruction) public {
Storage storageContract = new Storage();
execute(lamports, instruction);
emit LogStr(message);
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it is better to return storageContract address and try to call it in the test or at least to check that address exist and contains some code

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added call contract function and I return contract address

contracts/precompiled/CallSolanaCaller.sol Outdated Show resolved Hide resolved
event_logs = call_solana_caller.events.LogBytes().process_receipt(resp)
assert int.from_bytes(event_logs[0].args.value, byteorder="little") == next(get_counter_value)

def test_multiple_solana_calls_and_iterative_actions_instructions_limit(self, counter_resource_address, call_solana_caller, get_counter_value):
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we don't need this test
the same as with 1 call

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There was an issue, where the instruction limit test had failed for an iterative transaction only. I kept this test to check the issue is fixed, and I still want to keep it. What do you think?

resp = self.web3_client.send_transaction(sender, instruction_tx)
assert resp["status"] == 1
event_logs = call_solana_caller.events.LogBytes().process_receipt(resp)
assert int.from_bytes(event_logs[0].args.value, byteorder="little") == next(get_counter_value)
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what the value of next(get_counter_value) here? I think it should be = solana_calls

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed: I check a number of logged solana calls now

romanova-natasha and others added 11 commits December 13, 2024 17:29
rm tests with no iterative txs check
check holder account state after tx execution
rename test test_solana_call_before_iterative_actions
…ns_id

add case: eip 1559 iterative tx check with program_id = transfer_tokens_id
add case: failed solana call
add case: iterative tx with solana call in sol network
rm dbg info
add case: iterative tx with send tokens
add case of solana call with 2 programs, minor refactoring
fix review
…tiple_solana_calls_instructions_limit, test_transfer_with_pda_signature_iterative_tx_eip_1559
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants