Import and Invoke Popular Contracts
LambdaV3 supports importing any externally deployed contract. This can be a contract that you have deployed or any popular contract like Uniswap
, Aave
, USDC
, etc. This opens up numerous possibilities for seamlessly integrating your DAPP with popular smart contracts. With LambdaV3, possibilities are endless.
In this tutorial, we will discuss importing popular DEX(SushiSwap)
and then swapping MATIC
for USDC
using LambdaV3.
Note that imported contracts are only supported when using
Business Wallets
Importing DEX
The first step is to get an API key. To do so, sign up here.
You can find an end-to-end working demo here.
This tutorial only works on Polygon Mainnnet
Due to liquidity issue, this tutorial is designed to work only on Polygon Mainnet.
Step 1: Get the ABI of the contract
There are different ways by which you can get the ABI of a contract. In this tutorial, we will get the ABI of the contract by using the Polygonscan API as shown below:
const response = await fetch(
"https://api.polygonscan.com/api?module=contract&action=getabi&address=" +
process.env.SUSHISWAP_ROUTER_ADDRESS
);
Step 2: Make a POST request to the lambda/import
API
lambda/import
APILet's constructor the request body using the ABI that we got in the previous step as shown below.
{
"name": <LAMBDA_NAME>,
"lambda": <ADDRESS_OF_THE_CONTRACT>,
"abi": <ABI_OF_THE_CONTRACT>
}
On success, this is what you should see as the response from the Import Lambda API:
{
"status": "SUCCESS"
}
Running the demo
You can find an end-to-end working demo here.
Step 1: Import the contract
Navigate to the lambda/business-wallet/token-swap/scripts
directory. Then, run the following command:
npm install
npm run importContract
Step 2: Swap tokens
Run the following command:
npm run swapMaticForUSDC
This will swap MATIC
for USDC
.
Next steps
Voila! You have successfully imported the contract and invoked the method 🎉🎉.
Updated about 1 year ago