Skip to content
This repository has been archived by the owner on Apr 18, 2024. It is now read-only.

Commit

Permalink
Merge pull request #138 from synapsecns/dfk/gas-tokens
Browse files Browse the repository at this point in the history
add gas tokens + btcb to dfk
  • Loading branch information
aureliusbtc committed Sep 7, 2022
2 parents e346756 + a93a31c commit 54ab12c
Show file tree
Hide file tree
Showing 5 changed files with 174 additions and 4 deletions.
23 changes: 21 additions & 2 deletions src/bridge/bridge.ts
Original file line number Diff line number Diff line change
Expand Up @@ -685,7 +685,6 @@ export namespace Bridge {
Tokens.DAI.id,
Tokens.WBTC.id
])
easyDepositETH.push(Tokens.WETH.id)
}

let {castArgs, isEasy, txn} = this.checkEasyArgs(args, this.l1BridgeZapEth, easyDeposits, easyRedeems, easyDepositETH);
Expand Down Expand Up @@ -804,7 +803,8 @@ export namespace Bridge {
Tokens.SYN.id, Tokens.HIGH.id, Tokens.DOG.id,
Tokens.FRAX.id, Tokens.UST.id, Tokens.GOHM.id,
Tokens.NEWO.id, Tokens.SDT.id, Tokens.LUNA.id,
Tokens.USDB.id, Tokens.H20.id, Tokens.SFI.id
Tokens.USDB.id, Tokens.H20.id, Tokens.SFI.id,
Tokens.BTCB.id
];

// use `L2BridgeZap.redeem()`
Expand All @@ -818,6 +818,16 @@ export namespace Bridge {
if (chainIdTo === ChainId.ETH) {
easyRedeems.push(Tokens.WETH.id)
}

easyDepositETH.push(Tokens.WKLAY.id)
}

if (this.chainId === ChainId.POLYGON) {
easyDepositETH.push(Tokens.WMATIC.id)
}

if (this.chainId === ChainId.FANTOM) {
easyDepositETH.push(Tokens.WFTM.id)
}

BridgeUtils.DepositIfChainTokens.forEach((depositIfChainArgs) => {
Expand Down Expand Up @@ -1210,6 +1220,15 @@ export namespace Bridge {
case SwapType.MOVR:
bridgeTokens = BridgeUtils.checkReplaceTokens(Tokens.MOVR, Tokens.WMOVR);
break;
case SwapType.KLAY:
bridgeTokens = BridgeUtils.checkReplaceTokens(Tokens.KLAY, Tokens.WKLAY);
break;
case SwapType.MATIC:
bridgeTokens = BridgeUtils.checkReplaceTokens(Tokens.MATIC, Tokens.WMATIC);
break;
case SwapType.FTM:
bridgeTokens = BridgeUtils.checkReplaceTokens(Tokens.FTM, Tokens.WFTM);
break;
case SwapType.JEWEL:
bridgeTokens = BridgeUtils.checkReplaceTokens(Tokens.GAS_JEWEL, Tokens.JEWEL);
break;
Expand Down
29 changes: 28 additions & 1 deletion src/bridge/bridgeutils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,10 @@ export namespace BridgeUtils {
ChainId.BOBA,
ChainId.ARBITRUM,
ChainId.AVALANCHE,
ChainId.DFK
ChainId.DFK,
ChainId.KLAYTN,
ChainId.POLYGON,
ChainId.FANTOM
];

export const isL2ETHChain = (chainId: number): boolean => L2_ETH_CHAINS.includes(chainId);
Expand Down Expand Up @@ -91,12 +94,36 @@ export namespace BridgeUtils {
redeemChainIds: [ChainId.MOONBEAM, ChainId.DFK],
depositEth: true
},
{
chainId: ChainId.AVALANCHE,
tokens: [Tokens.BTCB],
redeemChainIds: [ChainId.DFK],
depositEth: false
},
{
chainId: ChainId.MOONRIVER,
tokens: [Tokens.MOVR, Tokens.WMOVR],
redeemChainIds: [ChainId.MOONBEAM],
depositEth: true,
},
{
chainId: ChainId.FANTOM,
tokens: [Tokens.FTM, Tokens.WFTM],
redeemChainIds: [ChainId.DFK],
depositEth: true,
},
{
chainId: ChainId.POLYGON,
tokens: [Tokens.MATIC, Tokens.WMATIC],
redeemChainIds: [ChainId.DFK],
depositEth: true,
},
{
chainId: ChainId.KLAYTN,
tokens: [Tokens.KLAY, Tokens.WKLAY],
redeemChainIds: [ChainId.DFK],
depositEth: true,
},
{
chainId: ChainId.HARMONY,
tokens: [Tokens.XJEWEL],
Expand Down
8 changes: 7 additions & 1 deletion src/internal/swaptype.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@ export const SwapType = {
SOLAR: "SOLAR",
AVAX: "AVAX",
MOVR: "MOVR",
FTM: "FTM",
KLAY: "KLAY",
MATIC: "MATIC",
BTCB: "BTCB",
LINK: "LINK",
UST: "UST",
NEWO: "NEWO",
SDT: "SDT",
Expand All @@ -39,5 +44,6 @@ export const mintBurnSwapTypes: SwapType[] = [
SwapType.SDT, SwapType.LUNA, SwapType.USDB,
SwapType.JEWEL, SwapType.XJEWEL, SwapType.VSTA,
SwapType.H20, SwapType.SFI, SwapType.WBTC,
SwapType.SFI
SwapType.SFI, SwapType.BTCB, SwapType.KLAY,
SwapType.MATIC, SwapType.FTM
];
109 changes: 109 additions & 0 deletions src/tokens.ts
Original file line number Diff line number Diff line change
Expand Up @@ -751,6 +751,115 @@ export namespace Tokens {
swapType: SwapType.SFI
});


/**
* FTM is the native currency of the Fantom chain.
* See {@link FTM} for the "wrapped" ERC20 variant of this token.
*/
export const FTM = new BaseToken({
name: "Fantom",
symbol: "FTM",
decimals: 18,
addresses: {
[ChainId.FANTOM]: "",
},
swapType: SwapType.FTM,
isGasToken: true,
});

export const WFTM = new WrapperToken({
name: "Wrapped MOVR",
symbol: "wMOVR",
decimals: 18,
addresses: {
[ChainId.FANTOM]: "0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83",
[ChainId.DFK]: "0x2Df041186C844F8a2e2b63F16145Bc6Ff7d23E25",
},
swapType: SwapType.FTM,
underlyingToken: FTM,
});

/**
* KLAY is the native currency of the Klaytn chain.
* See {@link KLAY} for the "wrapped" ERC20 variant of this token.
*/
export const KLAY = new BaseToken({
name: "Klaytn",
symbol: "KLAY",
decimals: 18,
addresses: {
[ChainId.KLAYTN]: "",
},
swapType: SwapType.KLAY,
isGasToken: true,
});

export const WKLAY = new WrapperToken({
name: "Wrapped KLAY",
symbol: "WKLAY",
decimals: 18,
addresses: {
[ChainId.KLAYTN]: "0x5819b6af194a78511c79c85ea68d2377a7e9335f",
[ChainId.DFK]: "0x97855Ba65aa7ed2F65Ed832a776537268158B78a",
},
swapType: SwapType.KLAY,
underlyingToken: KLAY,
});


/**
* MATIC is the native currency of the Polygon chain.
* See {@link MATIC} for the "wrapped" ERC20 variant of this token.
*/
export const MATIC = new BaseToken({
name: "Matic",
symbol: "MATIC",
decimals: 18,
addresses: {
[ChainId.POLYGON]: "",
},
swapType: SwapType.MATIC,
isGasToken: true,
});

export const WMATIC = new WrapperToken({
name: "Wrapped MATIC",
symbol: "WMATIC",
decimals: 18,
addresses: {
[ChainId.POLYGON]: "0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270",
[ChainId.DFK]: "0xD17a41Cd199edF1093A9Be4404EaDe52Ec19698e",
},
swapType: SwapType.MATIC,
underlyingToken: MATIC,
});


export const BTCB = new BaseToken({
name: "Bitcoin",
symbol: "BTC.b",
decimals: 8,
addresses: {
[ChainId.DFK]: "0x7516EB8B8Edfa420f540a162335eACF3ea05a247",
[ChainId.AVALANCHE]: "0x152b9d0FdC40C096757F570A51E494bd4b943E50"
},
swapType: SwapType.BTCB
});

export const LINK = new BaseToken({
name: "ChainLink",
symbol: "LINK",
decimals: 18,
addresses: {
[ChainId.ETH]: "0x514910771af9ca656af840dff83e8264ecf986ca",
[ChainId.DFK]: ""
},
swapType: SwapType.LINK
});




export const mintBurnTokens: Token[] = [
NUSD, SYN, NETH,
HIGH, DOG, JUMP,
Expand Down
9 changes: 9 additions & 0 deletions src/tokenswap.ts
Original file line number Diff line number Diff line change
Expand Up @@ -694,6 +694,15 @@ export namespace TokenSwap {
case SwapType.MOVR:
intermediateToken = Tokens.WMOVR;
break;
case SwapType.FTM:
intermediateToken = Tokens.WFTM;
break;
case SwapType.MATIC:
intermediateToken = Tokens.WMATIC;
break;
case SwapType.KLAY:
intermediateToken = Tokens.WKLAY;
break;
case SwapType.DFKTEARS:
intermediateToken = Tokens.DFKTEARS;
break;
Expand Down

0 comments on commit 54ab12c

Please sign in to comment.