Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

141 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

InstaSwap

initialize sdk

To initialize sdk,fill the config first

import { Provider, constants } from "starknet";
import { useAccount } from "@starknet-react/core";
....

const provider = new Provider({
    sequencer: { network: constants.NetworkName.SN_GOERLI },
  });

const config = {
    erc1155Address: "0x03467674358c444d5868e40b4de2c8b08f0146cbdb4f77242bd7619efcf3c0a6",
    werc20Address: "0x06b09e4c92a08076222b392c77e7eab4af5d127188082713aeecbe9013003bf4",
    erc20Address: "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",
    ekuboPositionAddress: "0x73fa8432bf59f8ed535f29acfd89a7020758bda7be509e00dfed8a9fde12ddc",
    ekuboCoreAddress: "0x031e8a7ab6a6a556548ac85cbb8b5f56e8905696e9f13e9a858142b8ee0cc221",
    quoterAddress: "0x042aa743335663ed9c7b52b331ab7f81cc8d65280d311506653f9b5cc22be7cb",
    provider: provider,
    account: useAccount(),
};

const wrap = new Wrap(config);
...

Initialize pool

const initialize_tick = { mag: 0n, sign: false };

const { transaction_hash } = await wrap.mayInitializePool(
  FeeAmount.LOWEST,
  initialize_tick,
);

Add liquidity

const params = {
      erc1155Amount: [erc1155 amount],
      erc20Amount: [erc20 amount],
      fee: [fee],
      lowerPrice: [lowerBound],
      upperPrice: [upperBound],
    };

wrap.addLiquidity(params);

Withdraw Liquidity

wrap.withdrawLiquidity(positionId,liquidity);

Simple wrap

  • from erc115 to erc20
const params = {
  amountIn: [erc1155 amount for swap],
  minERC20AmountOut: [min amount],
  simpleSwapperAddress: [simple swapper address],
  userAddress:[user address],
  fee: [fee],
  slippage: [slippage],
};

wrap.swapSimple(
  SwapDirection.ERC1155_TO_ERC20,
  params,
);
  • from erc20 to erc1155
 const params = {
  amountIn: [erc20 amount for swap],
  minERC20AmountOut: [min amount],
  simpleSwapperAddress: [simple swapper address],
  userAddress:[user address],
  fee: [fee],
  slippage: [slippage],
};

wrap.swapSimple(
  SwapDirection.ERC20_TO_ERC1155,
  params,
);

Withdraw erc1155

wrap.withdraw(erc1155Num);

About

InstaSwap - decentralized token swap protocol for ERC-1155 tokens on Starknet.

Resources

Stars

20 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages