
Security News
The Changelog Podcast: Practical Steps to Stay Safe on npm
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.
crosschain-widget
Advanced tools
The Cross-chain Governance Widget is a user-friendly React component library that enables users to deploy and manage their Avatar's Zodiac Connext Module and easily build the transaction data required for executing desired actions through an xcall function in Connext.
To set up the development environment, first clone the repository:
git clone [this repo link] && cd [this repo name]
Install dependencies:
yarn
Start the testing app:
yarn dev
The app should be live at http://localhost:5173/.
To build the production-ready version, run the following command:
yarn build
Now you can use yarn link to test the library.
You can also run yarn build:dev and yarn preview to use the built-in application to try out the widget.
To use the Crosschain Widget in your React application, import the ZodiacConnextWidget component from the package and provide the required props.
import { ZodiacConnextWidget } from "crosschain-widget";
// Inside your React component
const MyComponent = () => {
const handleTransaction = (tx) => {
// Handle the transaction data
};
return (
<ZodiacConnextWidget
originAddress="0x123abc..."
userChainId={1}
setTx={handleTransaction}
text="Open Widget Modal!"
modal={true}
provider={myProviderInstance}
lightTheme={true}
/>
);
};
Please note that you need to provide appropriate values for the originAddress, userChainId, setTx, and provider props according to your application's requirements.
The following props are available for the ZodiacConnextWidget component:
| Property | Description | Type | Default value |
|---|---|---|---|
| originAddress | The origin address associated with the user's account | string | N/A |
| userChainId | The chain ID of the user's blockchain network | number | N/A |
| setTx | A callback function that receives the transaction data after submission | (tx: string) => void | N/A |
| text (optional) | The text to display on the widget button | string | "Cross-Chain Widget" |
| provider (optional) | An instance of the providers.JsonRpcProvider from ethers.js | providers.JsonRpcProvider | undefined |
| signer (optional) | An instance of the providers.JsonRpcSigner to execute the transaction on the final step | providers.JsonRpcSigner | undefined |
| modal (optional) | Flag to enable or disable modal behavior for the widget | boolean | true |
| className (optional) | classname to add styles to open modal button | string | "crosschain-widget-button" |
| lightTheme (optional) | Flag to enable a light theme for the widget | boolean | false |
| alchemyKey (optional) | Alchemy API Key | string | undefined |
| infuraKey (optional) | Infura API Key | string | undefined |
| testnet (optional) | Flag to enable or disable testnet chains | boolean | false |
You can find the example implementation repository here and the live code example here.
This project is licensed under the AGPL-3.0-only License.
FAQs
Crosschain Governance Widget
We found that crosschain-widget demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.

Security News
Experts push back on new claims about AI-driven ransomware, warning that hype and sponsored research are distorting how the threat is understood.

Security News
Ruby's creator Matz assumes control of RubyGems and Bundler repositories while former maintainers agree to step back and transfer all rights to end the dispute.