-
Notifications
You must be signed in to change notification settings - Fork 2
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
feat: base interface implementation for react package #61
Conversation
packages/widget/src/widget.ts
Outdated
@property({ | ||
type: Object | ||
}) | ||
network?: Network; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure what is the usecase for this?
Wouldn't it not make more sense to allow them to pass "whitelistedSourceChains" & "whitelistedDestinationChains"? Maybe we can use https://chainagnostic.org/CAIPs/caip-2? cc @MakMuftic
So they can configure the widget to send only from "Etheruem mainnet" to ["Optimism", "Polygon"].
If they don't submit anything we assume the widget can transfer to any network.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree here, having a whitelist for source and destination chains is a functionality we want to support 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In regards to the CAIP suggestion @mpetrunic, supporting this makes a lot of sense (I would love it if this was on our radar before).
My concern here is if this makes more sense on the SDK level, as we will always need to remap it back to Sygmas resourceIDs and domainIDs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It should be possible to map caip to sygma resource id in SDK, no?
I'm thinking if we wanna do that change now, else we will have to cut major version for widget soon.
Co-authored-by: Marin Petrunić <[email protected]>
Deploying with Cloudflare Pages
|
Co-authored-by: Marin Petrunić <[email protected]>
Co-authored-by: Marin Petrunić <[email protected]>
Co-authored-by: Marin Petrunić <[email protected]>
Co-authored-by: Marin Petrunić <[email protected]>
Co-authored-by: Marin Petrunić <[email protected]>
Co-authored-by: Marin Petrunić <[email protected]>
Co-authored-by: Marin Petrunić <[email protected]>
Co-authored-by: Marin Petrunić <[email protected]>
Co-authored-by: Marin Petrunić <[email protected]>
Co-authored-by: Marin Petrunić <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚀
"build": "tsc && vite build", | ||
"lint": "yarn run lint:types && yarn run lint:code", | ||
"lint:types": "tsc -p ./tsconfig.json --noEmit", | ||
"lint:code": "eslint '{src,tests}/**/*.ts'", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is intentional to just check ts
files?
🤖 I have created a release *beep* *boop* --- <details><summary>sygmaprotocol-react-widget: 0.1.0</summary> ## 0.1.0 (2024-04-19) ### Features * base interface implementation for react package ([#61](#61)) ([0f38d7c](0f38d7c)) * EmvWallet class base implementation ([74c9649](74c9649)) ### Bug Fixes * fix sygma namespace ([f9ab963](f9ab963)) ### Miscellaneous Chores * **main:** release 0.0.1 ([8cff038](8cff038)) * release 0.1.0 ([#101](#101)) ([c8f1aed](c8f1aed)) ### Dependencies * The following workspace dependencies were updated * dependencies * @buildwithsygma/sygmaprotocol-widget bumped to 0.1.0 </details> <details><summary>sygmaprotocol-widget: 0.1.0</summary> ## [0.1.0](sygmaprotocol-widget-v0.1.0...sygmaprotocol-widget-v0.1.0) (2024-04-19) ### Features * action buttons v2 ([#91](#91)) ([5b2fbc5](5b2fbc5)) * add account balance refreshing for erc20 and evm native token ([#88](#88)) ([e135edc](e135edc)) * adding token balance to amount component ([c7b6268](c7b6268)) * address to transfer ([#56](#56)) ([9fa87ad](9fa87ad)) * allow bridge environment configuration ([#104](#104)) ([7dd44e4](7dd44e4)) * amount input styles update ([#77](#77)) ([6101005](6101005)) * base implementation of network selector for the widget component ([b04ac49](b04ac49)) * base interface implementation for react package ([#61](#61)) ([0f38d7c](0f38d7c)) * base layout for widget + styles ([e259dca](e259dca)) * changes to properties names ([291e753](291e753)) * creation of mixin for property declaration and using component to render view ([d22772e](d22772e)) * EmvWallet class base implementation ([74c9649](74c9649)) * evm and substrate wallet connection ([#72](#72)) ([ccf2049](ccf2049)) * evm token transfer logic ([#95](#95)) ([7ae8547](7ae8547)) * externalize wallet connect connection through props ([#94](#94)) ([cc8617d](cc8617d)) * improvements on selector implementation and misc changes ([940317f](940317f)) * network selector component ([#70](#70)) ([003416e](003416e)) * overlay ([#79](#79)) ([751ddb1](751ddb1)) * remove wrong entrypoint for the widget ([9e0007e](9e0007e)) * removing abi definition, calling sdk function to get balance and updating package.json file ([95b0653](95b0653)) * renaming files, improvements over style and adding the components into the main layout ([edd4e35](edd4e35)) * reset fields after transfer is complete ([#163](#163)) ([762e95a](762e95a)), closes [#133](#133) * SDK Manager package ([#25](#25)) ([f9a8793](f9a8793)) * set destination address for EVM ([#129](#129)) ([679346a](679346a)) * small modifications to amount component and connect component ([1fda019](1fda019)) * transfer status ([#89](#89)) ([76c0265](76c0265)) * upon clicking on max, render max value and trigger change event ([24746f5](24746f5)) * utils functions, styles on diff file and rendering icons per chain id ([a2bc154](a2bc154)) ### Bug Fixes * add css reset ([#75](#75)) ([d512f58](d512f58)) * address input not submitted on paste ([#108](#108)) ([9acf7f0](9acf7f0)) * amount selector prefilled with zero ([#109](#109)) ([b178429](b178429)) * bug where user could proceed with invalid destination address ([#176](#176)) ([634a121](634a121)), closes [#164](#164) * clear wallet context on disconnect ([#152](#152)) ([4a497e2](4a497e2)) * easier amount input ([#159](#159)) ([8d6620e](8d6620e)) * error where start new transfer isn't working ([#126](#126)) ([ca4ece0](ca4ece0)) * evm amount is now calculated as user input minus the fee ([#143](#143)) ([d29771e](d29771e)) * fix sygma namespace ([f9ab963](f9ab963)) * incorrect transfer state when disconnecting wallet after transfer completed ([#130](#130)) ([359e6df](359e6df)) * input type and conditional render for token icon ([25d7db3](25d7db3)) * linter issue with style module ([edc34bb](edc34bb)) * max button rounds value ([#137](#137)) ([01901e6](01901e6)) * misc fixes with icons ([#85](#85)) ([fedbcd9](fedbcd9)) * prevent new lines and spaces in address input ([#81](#81)) ([44a318e](44a318e)) * re-validate on account balance change ([#107](#107)) ([7935f81](7935f81)) * removing log ([71f42d6](71f42d6)) * specific dispatchers either for network or token selector ([1ba9de3](1ba9de3)) * substrate address not validated bug ([#128](#128)) ([74191b1](74191b1)) * switch networks and misc fixes ([#127](#127)) ([db9ad8a](db9ad8a)) * Switching to a different TOKEN mapping for "From - TO" relationship is not updated in UI if amount is inserted ([#160](#160)) ([e2d16fd](e2d16fd)) * update sygma sdk version ([#82](#82)) ([6d8447a](6d8447a)) * widget cloudflare deploy ([#68](#68)) ([fe6c36f](fe6c36f)) ### Miscellaneous Chores * **main:** release 0.0.1 ([8cff038](8cff038)) * release 0.1.0 ([#101](#101)) ([c8f1aed](c8f1aed)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- <details><summary>sygmaprotocol-react-widget: 0.1.0</summary> ## 0.1.0 (2024-04-19) ### Features * base interface implementation for react package ([#61](#61)) ([0f38d7c](0f38d7c)) * EmvWallet class base implementation ([74c9649](74c9649)) ### Bug Fixes * fix sygma namespace ([f9ab963](f9ab963)) ### Miscellaneous Chores * **main:** release 0.0.1 ([8cff038](8cff038)) * release 0.1.0 ([#101](#101)) ([c8f1aed](c8f1aed)) ### Dependencies * The following workspace dependencies were updated * dependencies * @buildwithsygma/sygmaprotocol-widget bumped to 0.1.0 </details> <details><summary>sygmaprotocol-widget: 0.1.0</summary> ## [0.1.0](sygmaprotocol-widget-v0.1.0...sygmaprotocol-widget-v0.1.0) (2024-04-19) ### Features * action buttons v2 ([#91](#91)) ([5b2fbc5](5b2fbc5)) * add account balance refreshing for erc20 and evm native token ([#88](#88)) ([e135edc](e135edc)) * adding token balance to amount component ([c7b6268](c7b6268)) * address to transfer ([#56](#56)) ([9fa87ad](9fa87ad)) * allow bridge environment configuration ([#104](#104)) ([7dd44e4](7dd44e4)) * amount input styles update ([#77](#77)) ([6101005](6101005)) * base implementation of network selector for the widget component ([b04ac49](b04ac49)) * base interface implementation for react package ([#61](#61)) ([0f38d7c](0f38d7c)) * base layout for widget + styles ([e259dca](e259dca)) * changes to properties names ([291e753](291e753)) * creation of mixin for property declaration and using component to render view ([d22772e](d22772e)) * EmvWallet class base implementation ([74c9649](74c9649)) * evm and substrate wallet connection ([#72](#72)) ([ccf2049](ccf2049)) * evm token transfer logic ([#95](#95)) ([7ae8547](7ae8547)) * externalize wallet connect connection through props ([#94](#94)) ([cc8617d](cc8617d)) * improvements on selector implementation and misc changes ([940317f](940317f)) * network selector component ([#70](#70)) ([003416e](003416e)) * overlay ([#79](#79)) ([751ddb1](751ddb1)) * remove wrong entrypoint for the widget ([9e0007e](9e0007e)) * removing abi definition, calling sdk function to get balance and updating package.json file ([95b0653](95b0653)) * renaming files, improvements over style and adding the components into the main layout ([edd4e35](edd4e35)) * reset fields after transfer is complete ([#163](#163)) ([762e95a](762e95a)), closes [#133](#133) * SDK Manager package ([#25](#25)) ([f9a8793](f9a8793)) * set destination address for EVM ([#129](#129)) ([679346a](679346a)) * small modifications to amount component and connect component ([1fda019](1fda019)) * transfer status ([#89](#89)) ([76c0265](76c0265)) * upon clicking on max, render max value and trigger change event ([24746f5](24746f5)) * utils functions, styles on diff file and rendering icons per chain id ([a2bc154](a2bc154)) ### Bug Fixes * add css reset ([#75](#75)) ([d512f58](d512f58)) * address input not submitted on paste ([#108](#108)) ([9acf7f0](9acf7f0)) * amount selector prefilled with zero ([#109](#109)) ([b178429](b178429)) * bug where user could proceed with invalid destination address ([#176](#176)) ([634a121](634a121)), closes [#164](#164) * clear wallet context on disconnect ([#152](#152)) ([4a497e2](4a497e2)) * easier amount input ([#159](#159)) ([8d6620e](8d6620e)) * error where start new transfer isn't working ([#126](#126)) ([ca4ece0](ca4ece0)) * evm amount is now calculated as user input minus the fee ([#143](#143)) ([d29771e](d29771e)) * fix sygma namespace ([f9ab963](f9ab963)) * incorrect transfer state when disconnecting wallet after transfer completed ([#130](#130)) ([359e6df](359e6df)) * input type and conditional render for token icon ([25d7db3](25d7db3)) * linter issue with style module ([edc34bb](edc34bb)) * max button rounds value ([#137](#137)) ([01901e6](01901e6)) * misc fixes with icons ([#85](#85)) ([fedbcd9](fedbcd9)) * prevent new lines and spaces in address input ([#81](#81)) ([44a318e](44a318e)) * re-validate on account balance change ([#107](#107)) ([7935f81](7935f81)) * removing log ([71f42d6](71f42d6)) * specific dispatchers either for network or token selector ([1ba9de3](1ba9de3)) * substrate address not validated bug ([#128](#128)) ([74191b1](74191b1)) * switch networks and misc fixes ([#127](#127)) ([db9ad8a](db9ad8a)) * Switching to a different TOKEN mapping for "From - TO" relationship is not updated in UI if amount is inserted ([#160](#160)) ([e2d16fd](e2d16fd)) * update sygma sdk version ([#82](#82)) ([6d8447a](6d8447a)) * widget cloudflare deploy ([#68](#68)) ([fe6c36f](fe6c36f)) ### Miscellaneous Chores * **main:** release 0.0.1 ([8cff038](8cff038)) * release 0.1.0 ([#101](#101)) ([c8f1aed](c8f1aed)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Description
Related Issue Or Context
Closes: #10
How Has This Been Tested? Testing details.
Types of changes
Checklist: