Skip to content

Commit 9f6e332

Browse files
Merge pull request #81 from liquality/send-fees
feat: send fees
2 parents 12743c9 + c22deb6 commit 9f6e332

File tree

4 files changed

+50
-18
lines changed

4 files changed

+50
-18
lines changed

src/assets/erc20/index.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,30 +8,36 @@ import terraTokens from './terra-tokens.json'
88

99
import { TESTNET_CONTRACT_ADDRESSES, TESTNET_TOKENS } from '../testnet'
1010
import { Asset, ChainId, AssetType, AssetMap } from '../../types'
11+
import { sendGasLimits } from '../sendGasLimits'
1112

1213
const rskTokensData = mapValues(rskTokens, (tokenData) => ({
1314
...tokenData,
14-
chain: ChainId.Rootstock
15+
chain: ChainId.Rootstock,
16+
sendGasLimit: sendGasLimits.ERC20_EVM
1517
}))
1618

1719
const ethereumTokensData = mapValues(ethereumTokens, (tokenData) => ({
1820
...tokenData,
19-
chain: ChainId.Ethereum
21+
chain: ChainId.Ethereum,
22+
sendGasLimit: sendGasLimits.ERC20_EVM
2023
}))
2124

2225
const polygonTokensData = mapValues(polygonTokens, (tokenData) => ({
2326
...tokenData,
24-
chain: ChainId.Polygon
27+
chain: ChainId.Polygon,
28+
sendGasLimit: sendGasLimits.ERC20_EVM
2529
}))
2630

2731
const avalancheTokensData = mapValues(avalancheTokens, (tokenData) => ({
2832
...tokenData,
29-
chain: ChainId.Avalanche
33+
chain: ChainId.Avalanche,
34+
sendGasLimit: sendGasLimits.ERC20_EVM
3035
}))
3136

3237
const terraTokensData = mapValues(terraTokens, (tokenData) => ({
3338
...tokenData,
34-
chain: ChainId.Terra
39+
chain: ChainId.Terra,
40+
sendGasLimit: sendGasLimits.TERRA
3541
}))
3642

3743
const erc20Assets: AssetMap = mapValues(

src/assets/native.ts

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { TESTNET_NATIVE } from './testnet'
22
import { AssetMap, ChainId } from '../types'
3+
import { sendGasLimits } from '../assets/sendGasLimits'
34

45
const nativeAssets: AssetMap = {
56
BTC: {
@@ -9,7 +10,8 @@ const nativeAssets: AssetMap = {
910
code: 'BTC',
1011
coinGeckoId: 'bitcoin',
1112
color: '#f7931a',
12-
decimals: 8
13+
decimals: 8,
14+
sendGasLimit: sendGasLimits.BTC
1315
},
1416
BCH: {
1517
name: 'Bitcoin Cash',
@@ -18,7 +20,8 @@ const nativeAssets: AssetMap = {
1820
code: 'BCH',
1921
coinGeckoId: 'bitcoin-cash',
2022
color: '#a1db5e',
21-
decimals: 8
23+
decimals: 8,
24+
sendGasLimit: sendGasLimits.BTC // TODO: is this correct?
2225
},
2326
ETH: {
2427
name: 'Ether',
@@ -27,7 +30,8 @@ const nativeAssets: AssetMap = {
2730
code: 'ETH',
2831
coinGeckoId: 'ethereum',
2932
color: '#627eea',
30-
decimals: 18
33+
decimals: 18,
34+
sendGasLimit: sendGasLimits.NATIVE_EVM
3135
},
3236
RBTC: {
3337
name: 'Rootstock BTC',
@@ -36,7 +40,8 @@ const nativeAssets: AssetMap = {
3640
code: 'RBTC',
3741
coinGeckoId: 'rootstock',
3842
color: '#006e3c',
39-
decimals: 18
43+
decimals: 18,
44+
sendGasLimit: sendGasLimits.NATIVE_EVM
4045
},
4146
BNB: {
4247
name: 'Binance Coin',
@@ -45,7 +50,8 @@ const nativeAssets: AssetMap = {
4550
code: 'BNB',
4651
coinGeckoId: 'binancecoin',
4752
color: '#f9a825',
48-
decimals: 18
53+
decimals: 18,
54+
sendGasLimit: sendGasLimits.NATIVE_EVM
4955
},
5056
NEAR: {
5157
name: 'Near',
@@ -54,7 +60,8 @@ const nativeAssets: AssetMap = {
5460
code: 'NEAR',
5561
coinGeckoId: 'near',
5662
color: '#000000',
57-
decimals: 24
63+
decimals: 24,
64+
sendGasLimit: sendGasLimits.NEAR
5865
},
5966
SOL: {
6067
name: 'Solana',
@@ -63,7 +70,8 @@ const nativeAssets: AssetMap = {
6370
code: 'SOL',
6471
coinGeckoId: 'solana',
6572
color: '#008080',
66-
decimals: 9
73+
decimals: 9,
74+
sendGasLimit: sendGasLimits.SOL
6775
},
6876
MATIC: {
6977
name: 'Matic',
@@ -72,7 +80,8 @@ const nativeAssets: AssetMap = {
7280
code: 'MATIC',
7381
coinGeckoId: 'matic-network',
7482
color: '#8247E5',
75-
decimals: 18
83+
decimals: 18,
84+
sendGasLimit: sendGasLimits.NATIVE_EVM
7685
},
7786
ARBETH: {
7887
name: 'Arbitrum ETH',
@@ -82,7 +91,8 @@ const nativeAssets: AssetMap = {
8291
coinGeckoId: 'ethereum',
8392
color: '#28A0EF',
8493
decimals: 18,
85-
matchingAsset: 'ETH'
94+
matchingAsset: 'ETH',
95+
sendGasLimit: sendGasLimits.ARBETH
8696
},
8797
FUSE: {
8898
name: 'Fuse Network',
@@ -91,7 +101,8 @@ const nativeAssets: AssetMap = {
91101
code: 'FUSE',
92102
coinGeckoId: 'fuse-network-token',
93103
color: '#46e8b6',
94-
decimals: 18
104+
decimals: 18,
105+
sendGasLimit: sendGasLimits.NATIVE_EVM
95106
},
96107
LUNA: {
97108
name: 'Luna',
@@ -100,7 +111,8 @@ const nativeAssets: AssetMap = {
100111
code: 'LUNA',
101112
coinGeckoId: 'terra-luna',
102113
color: '#008080',
103-
decimals: 6
114+
decimals: 6,
115+
sendGasLimit: sendGasLimits.TERRA
104116
},
105117
UST: {
106118
name: 'TerraUSD',
@@ -110,7 +122,8 @@ const nativeAssets: AssetMap = {
110122
decimals: 6,
111123
color: '#0083ff',
112124
coinGeckoId: 'terrausd',
113-
feeAsset: 'UST'
125+
feeAsset: 'UST',
126+
sendGasLimit: sendGasLimits.TERRA
114127
},
115128
AVAX: {
116129
name: 'Avalanche',
@@ -119,7 +132,8 @@ const nativeAssets: AssetMap = {
119132
code: 'AVAX',
120133
coinGeckoId: 'avalanche-2',
121134
color: '#E84141',
122-
decimals: 18
135+
decimals: 18,
136+
sendGasLimit: sendGasLimits.NATIVE_EVM
123137
}
124138
}
125139

src/assets/sendGasLimits.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
const sendGasLimits = {
2+
BTC: 290,
3+
NATIVE_EVM: 21000, // EVM -> ETH, RBTC, MATIC, BNB, AVAX, FUSE
4+
ERC20_EVM: 90000, // EVM -> ETH, RBTC, MATIC, BNB, AVAX, FUSE
5+
TERRA: 100000, // applies on both native and ERC2 Terra assets
6+
ARBETH: 620000,
7+
NEAR: 10000000000000,
8+
SOL: 1000000
9+
}
10+
11+
export { sendGasLimits }

src/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ export interface Asset {
4141
contractAddress?: string // ERC20 only
4242
matchingAsset?: string
4343
feeAsset?: string
44+
sendGasLimit: number
4445
}
4546

4647
export type AssetMap = Record<string, Asset>

0 commit comments

Comments
 (0)