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

Expand SDK to support Native transfer with optional contract call #521

Closed
3 tasks
MakMuftic opened this issue Sep 10, 2024 · 0 comments · Fixed by #545
Closed
3 tasks

Expand SDK to support Native transfer with optional contract call #521

MakMuftic opened this issue Sep 10, 2024 · 0 comments · Fixed by #545

Comments

@MakMuftic
Copy link
Contributor

Implementation details

With PR#266, we introduced the ability to define contract calls together with native deposit. As SDK didn't integrate the initial implementation of native handlers, it needs to be expanded so it can be used to create:

  • Deposit of native currency (tokens)
  • Deposit of native currency (tokens) + contract call definition

The Native flow differs slightly from regular ERC20/721/1155, as the deposit transaction should not land on Bridge.sol but on NativeAdapter.sol contract. We have already expanded the testnet shared configuration to have this as a new property of the domain - nativeTokenAdapter.

Testing details

  • Unit Tests: Develop unit tests that cover scenarios where both Native transfers and contract calls are involved.
  • Error Handling: Test how the SDK handles invalid or failed contract calls within the transaction flow.

Acceptance Criteria

  • The SDK supports interactions with the new NativeAdapter->NativeHandler, allowing for both Native transfers and optional contract calls within the same transaction.
  • The SDK maintains backward compatibility and continues to function as expected with existing handlers.
  • All new functionality is covered by tests, ensuring reliable and consistent behavior.
saadahmsiddiqui added a commit that referenced this issue Sep 26, 2024
#545)

# Implementation details

With [PR#266](sprintertech/sygma-solidity#266),
we introduced the ability to define contract calls together with native
deposit. As SDK didn't integrate the initial implementation of native
handlers, it needs to be expanded so it can be used to create:

Deposit of native currency (tokens)
Deposit of native currency (tokens) + contract call definition
The Native flow differs slightly from regular ERC20/721/1155, as the
deposit transaction should not land on Bridge.sol but on
NativeAdapter.sol contract. We have already expanded the testnet [shared
configuration to have this as a new property of the
domain](https://github.com/sygmaprotocol/sygma-shared-configuration/blob/main/testnet/shared-config-test.json#L10)
- nativeTokenAdapter.

## Closes: #521 

# Testing details

Unit Tests: Develop unit tests that cover scenarios where both Native
transfers and contract calls are involved.
Error Handling: Test how the SDK handles invalid or failed contract
calls within the transaction flow.

# Acceptance Criteria



- [ ] The SDK supports interactions with the new
NativeAdapter->NativeHandler, allowing for both Native transfers and
optional contract calls within the same transaction.
- [ ] The SDK maintains backward compatibility and continues to function
as expected with existing handlers.
- [ ] All new functionality is covered by tests, ensuring reliable and
consistent behavior.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants