Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/silver-bees-tan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"sushi": patch
---

add plume config
7 changes: 7 additions & 0 deletions src/evm/chain/chains.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ import {
metis as metisViem,
mode as modeViem,
optimism as optimismViem,
plumeMainnet as plumeViem,
polygon as polygonViem,
polygonZkEvm as polygonZkevmViem,
rootstock as rootstockViem,
Expand Down Expand Up @@ -450,6 +451,11 @@ const monad = /* @__PURE__ */ defineEvmChain(
},
)

const plume = /* @__PURE__ */ defineEvmChain(plumeViem, {
key: 'plume',
shortName: 'plume',
})

// Testnets
const sepolia = /* @__PURE__ */ defineEvmChain(sepoliaViem, {
key: 'sepolia',
Expand Down Expand Up @@ -579,6 +585,7 @@ export const evmChains = [
berachain,
plasma,
monad,
plume,

sepolia,
arbitrumSepolia,
Expand Down
1 change: 1 addition & 0 deletions src/evm/config/features/aggregator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ export const AGGREGATOR_ONLY_CHAIN_IDS = [
EvmChainId.BERACHAIN,
EvmChainId.PLASMA,
EvmChainId.MONAD,
EvmChainId.PLUME,
] as const

export type AggregatorOnlyChainId = (typeof AGGREGATOR_ONLY_CHAIN_IDS)[number]
Expand Down
1 change: 1 addition & 0 deletions src/evm/config/features/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ export const SWAP_API_SUPPORTED_CHAIN_IDS = [
EvmChainId.BERACHAIN,
EvmChainId.PLASMA,
EvmChainId.MONAD,
EvmChainId.PLUME,
] as const

export type SwapApiSupportedChainId =
Expand Down
4 changes: 4 additions & 0 deletions src/evm/config/features/fee-collector.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ export const FEE_COLLECTOR_CHAIN_IDS = [
EvmChainId.PLASMA,
EvmChainId.FUSE,
EvmChainId.MONAD,
EvmChainId.PLUME,
] as const

type FeeCollectorChainId = (typeof FEE_COLLECTOR_CHAIN_IDS)[number]
Expand Down Expand Up @@ -104,6 +105,7 @@ export const UI_FEE_COLLECTOR_ADDRESS: Record<
[EvmChainId.PLASMA]: '0xde7259893af7cdbc9fd806c6ba61d22d581d5667',
[EvmChainId.FUSE]: '0xde7259893af7cdbc9fd806c6ba61d22d581d5667',
[EvmChainId.MONAD]: '0xde7259893af7cdbc9fd806c6ba61d22d581d5667',
[EvmChainId.PLUME]: '0xde7259893af7cdbc9fd806c6ba61d22d581d5667',
} as const
export const isUIFeeCollectorChainId = isFeeCollectorChainId

Expand Down Expand Up @@ -156,6 +158,7 @@ export const SURPLUS_FEE_COLLECTOR_ADDRESS: Record<
[EvmChainId.PLASMA]: '0x5c2e112783a6854653b4bc7dc22248d3e592559c',
[EvmChainId.FUSE]: '0x5c2e112783a6854653b4bc7dc22248d3e592559c',
[EvmChainId.MONAD]: '0x5c2e112783a6854653b4bc7dc22248d3e592559c',
[EvmChainId.PLUME]: '0x5c2e112783a6854653b4bc7dc22248d3e592559c',
} as const
export const isSurplusFeeCollectorChainId = isFeeCollectorChainId

Expand Down Expand Up @@ -208,5 +211,6 @@ export const PROTOCOL_FEE_COLLECTOR_ADDRESS: Record<
[EvmChainId.PLASMA]: '0xdbeca8fb948c42634256609bce5a3768c9b3e9eb',
[EvmChainId.FUSE]: '0xdbeca8fb948c42634256609bce5a3768c9b3e9eb',
[EvmChainId.MONAD]: '0xdbeca8fb948c42634256609bce5a3768c9b3e9eb',
[EvmChainId.PLUME]: '0xdbeca8fb948c42634256609bce5a3768c9b3e9eb',
} as const
export const isProtocolFeeCollectorChainId = isFeeCollectorChainId
2 changes: 2 additions & 0 deletions src/evm/config/features/operations-multisig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ export const MULTISIG_CHAIN_IDS = [
EvmChainId.PLASMA,
EvmChainId.FUSE,
EvmChainId.MONAD,
// EvmChainId.PLUME,
] as const

export type MultisigChainId = (typeof MULTISIG_CHAIN_IDS)[number]
Expand Down Expand Up @@ -90,6 +91,7 @@ export const MULTISIG_ADDRESS: Record<MultisigChainId, `0x${string}`> = {
[EvmChainId.PLASMA]: '0x5bf386459cb52d4cf9dbf8e602d5f9045921375b',
[EvmChainId.FUSE]: '0x33b6beb37837459ee84a1ffed2c6a4ca22e5f316',
[EvmChainId.MONAD]: '0xc4c2fc252f51b3fad6120963acf0d560526abb00',
// [EvmChainId.PLUME]: '', // TODO
} as const

export const isMultisigChainId = (
Expand Down
2 changes: 2 additions & 0 deletions src/evm/config/features/red-snwapper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ export const RED_SNWAPPER_SUPPORTED_CHAIN_IDS = [
EvmChainId.PLASMA,
EvmChainId.FUSE,
EvmChainId.MONAD,
EvmChainId.PLUME,
// testnets
EvmChainId.SEPOLIA,
EvmChainId.TATARA,
Expand Down Expand Up @@ -100,6 +101,7 @@ export const RED_SNWAPPER_ADDRESS: Record<RedSnwapperChainId, Address> = {
[EvmChainId.PLASMA]: '0xac4c6e212a361c968f1725b4d055b47e63f80b75',
[EvmChainId.FUSE]: '0xac4c6e212a361c968f1725b4d055b47e63f80b75',
[EvmChainId.MONAD]: '0xac4c6e212a361c968f1725b4d055b47e63f80b75',
[EvmChainId.PLUME]: '0xac4c6e212a361c968f1725b4d055b47e63f80b75',
// testnets
[EvmChainId.SEPOLIA]: '0xac4c6e212a361c968f1725b4d055b47e63f80b75',
[EvmChainId.TATARA]: '0xac4c6e212a361c968f1725b4d055b47e63f80b75',
Expand Down
7 changes: 7 additions & 0 deletions src/evm/config/tokens/token-maps/default-bases.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import { EvmNative } from '../../../currency/native.js'
import { EvmToken } from '../../../currency/token.js'
import { BERACHAIN_HONEY } from '../tokens/berachain/HONEY.js'
import { HEMI_HEMI } from '../tokens/hemi/HEMI.js'
import { PLUME_pUSD } from '../tokens/plume/pUSD.js'
import { WNATIVE } from '../wrapped-native.js'

/*
Expand Down Expand Up @@ -448,4 +449,10 @@ export const EVM_DEFAULT_BASES = {
USDT0[EvmChainId.MONAD],
AUSD[EvmChainId.MONAD],
],
[EvmChainId.PLUME]: [
EvmNative.fromChainId(EvmChainId.PLUME),
WNATIVE[EvmChainId.PLUME],
USDC[EvmChainId.PLUME],
PLUME_pUSD[EvmChainId.PLUME],
],
} as const satisfies Record<EvmChainId, Readonly<EvmCurrency[]>>
1 change: 1 addition & 0 deletions src/evm/config/tokens/token-maps/default-quote.ts
Original file line number Diff line number Diff line change
Expand Up @@ -82,4 +82,5 @@ export const defaultQuoteCurrency = {
[EvmChainId.FUSE]: USDC[EvmChainId.FUSE],
[EvmChainId.BOKUTO]: USDC[EvmChainId.BOKUTO],
[EvmChainId.MONAD]: USDC[EvmChainId.MONAD],
[EvmChainId.PLUME]: USDC[EvmChainId.PLUME],
} as const satisfies Record<EvmChainId, EvmCurrency>
1 change: 1 addition & 0 deletions src/evm/config/tokens/token-maps/lsds.ts
Original file line number Diff line number Diff line change
Expand Up @@ -367,6 +367,7 @@ export const LSDS = {
[EvmChainId.PLASMA]: [],
[EvmChainId.FUSE]: [],
[EvmChainId.MONAD]: [],
[EvmChainId.PLUME]: [],

// TESTNETS
[EvmChainId.ARBITRUM_SEPOLIA]: [],
Expand Down
6 changes: 6 additions & 0 deletions src/evm/config/tokens/token-maps/stables.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ import type { EvmToken } from '../../../currency/token.js'
import { AUSD } from '../tokens/AUSD.js'
import { BERACHAIN_HONEY } from '../tokens/berachain/HONEY.js'
import { HEMI_VUSD } from '../tokens/hemi/VUSD.js'
import { PLUME_pUSD } from '../tokens/plume/pUSD.js'
import { USDT0 } from '../tokens/USDT0.js'

export const STABLES = {
Expand Down Expand Up @@ -255,6 +256,11 @@ export const STABLES = {
USDT0[EvmChainId.MONAD],
AUSD[EvmChainId.MONAD],
],
[EvmChainId.PLUME]: [
USDC[EvmChainId.PLUME],
STARGATE_USDC[EvmChainId.PLUME],
PLUME_pUSD[EvmChainId.PLUME],
],
// TESTNETS
[EvmChainId.ARBITRUM_SEPOLIA]: [],
[EvmChainId.SEPOLIA]: [USDC[EvmChainId.SEPOLIA]],
Expand Down
2 changes: 2 additions & 0 deletions src/evm/config/tokens/tokens/USDC.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ export const USDC_ADDRESS = {
[EvmChainId.FUSE]: '0x620fd5fa44be6af63715ef4e65ddfa0387ad13f5',
[EvmChainId.BOKUTO]: '0xc2a4c310f2512a17ac0047cf871acaed3e62bb4b',
[EvmChainId.MONAD]: '0x754704bc059f8c67012fed69bc8a327a5aafb603',
[EvmChainId.PLUME]: '0x222365ef19f7947e5484218551b56bb3965aa7af',
} as const

export const USDC = {
Expand Down Expand Up @@ -80,6 +81,7 @@ export const USDC = {

export const STARGATE_USDC_ADDRESS = {
[EvmChainId.FANTOM]: '0x28a92dde19d9989f39a49905d7c9c2fac7799bdf',
[EvmChainId.PLUME]: '0x78add880a697070c1e765ac44d65323a0dcce913',
} as const

export const STARGATE_USDC = addressMapToTokenMap(
Expand Down
1 change: 1 addition & 0 deletions src/evm/config/tokens/tokens/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ export * from './OHM.js'
export * from './OP.js'
export * from './OPTICS_USDC.js'
export * from './PRIMATE.js'
export * from './plume/index.js'
export * from './QUICK.js'
export * from './RBTC.js'
export * from './RNDR.js'
Expand Down
1 change: 1 addition & 0 deletions src/evm/config/tokens/tokens/plume/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './pUSD.js'
11 changes: 11 additions & 0 deletions src/evm/config/tokens/tokens/plume/pUSD.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import { EvmChainId } from '../../../../chain/index.js'
import { addressMapToTokenMap } from '../../address-map-to-token-map.js'

export const PLUME_pUSD_ADDRESS = {
[EvmChainId.PLUME]: '0xb12c13e66ade1f72f71834f2fc5082db8c091358',
} as const

export const PLUME_pUSD = addressMapToTokenMap(
{ decimals: 6, symbol: 'pUSD', name: 'Plume USD' },
PLUME_pUSD_ADDRESS,
)
8 changes: 8 additions & 0 deletions src/evm/config/tokens/wrapped-native.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ export const WNATIVE_ADDRESS = {
[EvmChainId.FUSE]: '0x0be9e53fd7edac9f859882afdda116645287c629',
[EvmChainId.BOKUTO]: WETH9_ADDRESS[EvmChainId.BOKUTO],
[EvmChainId.MONAD]: '0x3bd359c1119da7da1d913d1c4d2b7c461115433a',
[EvmChainId.PLUME]: '0xea237441c92cae6fc17caaf9a7acb3f953be4bd1',
} as const satisfies Record<EvmChainId, Address>

export const WNATIVE = {
Expand Down Expand Up @@ -267,6 +268,13 @@ export const WNATIVE = {
symbol: 'WMON',
name: 'Wrapped MON',
}),
[EvmChainId.PLUME]: new EvmToken({
chainId: EvmChainId.PLUME,
address: WNATIVE_ADDRESS[EvmChainId.PLUME],
decimals: 18,
symbol: 'WPLUME',
name: 'Wrapped Plume',
}),
} as const satisfies Record<EvmChainId, EvmToken>

export const isWNativeSupported = (chainId: EvmChainId) =>
Expand Down