@stargatefinance/stg-evm-v1
v1.0.33
Published
Stargate EVM contracts
Downloads
651
Readme
Installation
yarn add @stargatefinance/stg-evm-v1
pnpm add @stargatefinance/stg-evm-v1
npm install @stargatefinance/stg-evm-v1
Usage
This package contains hardhat-deploy deployment files as well as a TypeScript-compatible deployments bundle:
// Individual deployment files can be imported directly
import BridgeDeployment from "@stargatefinance/stg-evm-v1/deployments/arbitrum-mainnet/Bridge.json";
// If bundle size is a concern or a comprehensive contract deployment information is necessary,
// deployment summaries might be imported from the `deployed` directory
import * as bridge from "@stargatefinance/stg-evm-v1/deployed/Bridge";
// bridge variable will now contain information about all Bridge deployments
const abi = bridge.abis["bsc-testnet"];
const address = bridge.addresses["bsc-testnet"];
const transactionHash = bridge.transactionHashes["bsc-testnet"];
// In case even importing ABIs might result in an unwanted bundle size increase,
// individual properties can be imported from the deployment summaries
import { addresses as bridgeAddresses } from "@stargatefinance/stg-evm-v1/deployed/Bridge";
const address = bridgeAddresses["bsc-testnet"];
Locking Config
Generate appConfig.json
Using the Bridge UA as an example, perform the following:
npx hardhat generateAppConfig --networks ethereum-mainnet,bsc-mainnet,avalanche-mainnet,polygon-mainnet,arbitrum-mainnet,optimism-mainnet,fantom-mainnet,base-mainnet,kava-mainnet,mantle-mainnet,metis-mainnet,scroll-mainnet,zkconsensys-mainnet --name Bridge --check-connection-function-fragment "function bridgeLookup(uint16) public view returns (bytes)" --output-file-name ./tasks/appConfig/mainnet/Bridge.json
StargateToken UA:
npx hardhat generateAppConfig --networks ethereum-mainnet,bsc-mainnet,avalanche-mainnet,polygon-mainnet,arbitrum-mainnet,optimism-mainnet,fantom-mainnet,base-mainnet,kava-mainnet,mantle-mainnet,metis-mainnet,scroll-mainnet,zkconsensys-mainnet --name StargateToken --check-connection-function-fragment "function dstConfigLookup(uint16) public view returns (bytes)" --output-file-name ./tasks/appConfig/mainnet/StargateToken.json
StargateFeeLibraryV07:
```shell
npx hardhat generateAppConfig --networks ethereum-mainnet,bsc-mainnet,avalanche-mainnet,polygon-mainnet,arbitrum-mainnet,optimism-mainnet,fantom-mainnet,base-mainnet,kava-mainnet,mantle-mainnet,metis-mainnet,scroll-mainnet,zkconsensys-mainnet --name StargateFeeLibV07 --output-file-name ./tasks/appConfig/mainnet/StargateFeeLibV07.json
Note: Since the default lookup is trustedRemoteLookup
and StargateFeeLibraryV07
is an LzApp
, we do not need to specify the --check-connection-function-fragment
.
Set the config
First, make sure you diligently review the generated config file. Then, run the following:
npx hardhat setConfig --config-path ./tasks/appConfig/mainnet/Bridge.json --gnosis-config-path ./tasks/gnosisSafeConfig/mainnet.json
Note: The gnosis-config-path
is optional, and only used in the mainnet environment.