github.com/InjectiveLabs/sdk-go@v1.53.0/client/chain/markets_assistant_test_support.go (about) 1 package chain 2 3 import ( 4 derivativeExchangePB "github.com/InjectiveLabs/sdk-go/exchange/derivative_exchange_rpc/pb" 5 spotExchangePB "github.com/InjectiveLabs/sdk-go/exchange/spot_exchange_rpc/pb" 6 "github.com/cosmos/cosmos-sdk/x/bank/types" 7 ) 8 9 func createINJTokenMeta() spotExchangePB.TokenMeta { 10 return spotExchangePB.TokenMeta{ 11 Name: "Injective Protocol", 12 Address: "0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30", 13 Symbol: "INJ", 14 Logo: "https://static.alchemyapi.io/images/assets/7226.png", 15 Decimals: 18, 16 UpdatedAt: 1681739137644, 17 } 18 } 19 20 func createAPETokenMeta() spotExchangePB.TokenMeta { 21 return spotExchangePB.TokenMeta{ 22 Name: "APE", 23 Address: "0x0000000000000000000000000000000000000000", 24 Symbol: "APE", 25 Logo: "https://assets.coingecko.com/coins/images/24383/small/apecoin.jpg?1647476455", 26 Decimals: 18, 27 UpdatedAt: 1681739137646, 28 } 29 } 30 31 func createUSDTTokenMeta() spotExchangePB.TokenMeta { 32 return spotExchangePB.TokenMeta{ 33 Name: "USDT", 34 Address: "0x0000000000000000000000000000000000000000", 35 Symbol: "USDT", 36 Logo: "https://static.alchemyapi.io/images/assets/825.png", 37 Decimals: 6, 38 UpdatedAt: 1681739137645, 39 } 40 } 41 42 func createUSDTPerpTokenMeta() derivativeExchangePB.TokenMeta { 43 return derivativeExchangePB.TokenMeta{ 44 Name: "Tether", 45 Address: "0xdAC17F958D2ee523a2206206994597C13D831ec7", 46 Symbol: "USDTPerp", 47 Logo: "https://static.alchemyapi.io/images/assets/825.png", 48 Decimals: 6, 49 UpdatedAt: 1683929869866, 50 } 51 } 52 53 func createINJUSDTSpotMarketInfo() *spotExchangePB.SpotMarketInfo { 54 injTokenMeta := createINJTokenMeta() 55 usdtTokenMeta := createUSDTTokenMeta() 56 marketInfo := spotExchangePB.SpotMarketInfo{ 57 MarketId: "0x7a57e705bb4e09c88aecfc295569481dbf2fe1d5efe364651fbe72385938e9b0", 58 MarketStatus: "active", 59 Ticker: "INJ/USDT", 60 BaseDenom: "inj", 61 BaseTokenMeta: &injTokenMeta, 62 QuoteDenom: "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", 63 QuoteTokenMeta: &usdtTokenMeta, 64 MakerFeeRate: "-0.0001", 65 TakerFeeRate: "0.001", 66 ServiceProviderFee: "0.4", 67 MinPriceTickSize: "0.000000000000001", 68 MinQuantityTickSize: "1000000000000000", 69 MinNotional: "1000000", 70 } 71 72 return &marketInfo 73 } 74 75 func createAPEUSDTSpotMarketInfo() *spotExchangePB.SpotMarketInfo { 76 apeTokenMeta := createAPETokenMeta() 77 usdtTokenMeta := createUSDTTokenMeta() 78 marketInfo := spotExchangePB.SpotMarketInfo{ 79 MarketId: "0x8b67e705bb4e09c88aecfc295569481dbf2fe1d5efe364651fbe72385938e000", 80 MarketStatus: "active", 81 Ticker: "APE/USDT", 82 BaseDenom: "peggy0x44C21afAaF20c270EBbF5914Cfc3b5022173FEB7", 83 BaseTokenMeta: &apeTokenMeta, 84 QuoteDenom: "factory/peggy0x87aB3B4C8661e07D6372361211B96ed4Dc300000", 85 QuoteTokenMeta: &usdtTokenMeta, 86 MakerFeeRate: "-0.0001", 87 TakerFeeRate: "0.001", 88 ServiceProviderFee: "0.4", 89 MinPriceTickSize: "0.000000000000001", 90 MinQuantityTickSize: "1000000000000000", 91 MinNotional: "1000000", 92 } 93 94 return &marketInfo 95 } 96 97 func createBTCUSDTDerivativeMarketInfo() *derivativeExchangePB.DerivativeMarketInfo { 98 usdtPerpTokenMeta := createUSDTPerpTokenMeta() 99 100 perpetualMarketInfo := derivativeExchangePB.PerpetualMarketInfo{ 101 HourlyFundingRateCap: "0.0000625", 102 HourlyInterestRate: "0.00000416666", 103 NextFundingTimestamp: 1684764000, 104 FundingInterval: 3600, 105 } 106 107 perpetualmarketFunding := derivativeExchangePB.PerpetualMarketFunding{ 108 CumulativeFunding: "6880500093.266083891331674194", 109 CumulativePrice: "-0.952642601240470199", 110 LastTimestamp: 1684763442, 111 } 112 113 marketInfo := derivativeExchangePB.DerivativeMarketInfo{ 114 MarketId: "0x4ca0f92fc28be0c9761326016b5a1a2177dd6375558365116b5bdda9abc229ce", 115 MarketStatus: "active", 116 Ticker: "BTC/USDT PERP", 117 OracleBase: "BTC", 118 OracleQuote: "USDT", 119 OracleType: "bandibc", 120 OracleScaleFactor: 6, 121 InitialMarginRatio: "0.095", 122 MaintenanceMarginRatio: "0.025", 123 QuoteDenom: "peggy0xdAC17F958D2ee523a2206206994597C13D831ec7", 124 QuoteTokenMeta: &usdtPerpTokenMeta, 125 MakerFeeRate: "-0.0001", 126 TakerFeeRate: "0.001", 127 ServiceProviderFee: "0.4", 128 IsPerpetual: true, 129 MinPriceTickSize: "1000000", 130 MinQuantityTickSize: "0.0001", 131 PerpetualMarketInfo: &perpetualMarketInfo, 132 PerpetualMarketFunding: &perpetualmarketFunding, 133 MinNotional: "1000000", 134 } 135 136 return &marketInfo 137 } 138 139 func createSmartDenomMetadata() types.Metadata { 140 firstDenomUnit := types.DenomUnit{ 141 Denom: "factory/inj105ujajd95znwjvcy3hwcz80pgy8tc6v77spur0/SMART", 142 Exponent: 0, 143 Aliases: []string{"microSMART"}, 144 } 145 secondDenomUnit := types.DenomUnit{ 146 Denom: "SMART", 147 Exponent: 6, 148 Aliases: []string{"SMART"}, 149 } 150 metadata := types.Metadata{ 151 Description: "SMART", 152 DenomUnits: []*types.DenomUnit{&firstDenomUnit, &secondDenomUnit}, 153 Base: "factory/inj105ujajd95znwjvcy3hwcz80pgy8tc6v77spur0/SMART", 154 Display: "SMART", 155 Name: "SMART", 156 Symbol: "SMART", 157 URI: "https://upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Flag_of_the_People%27s_Republic_of_China.svg/2560px-Flag_of_the_People%27s_Republic_of_China.svg.png", 158 URIHash: "", 159 } 160 161 return metadata 162 }