Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: release v1.407.0 #5134

Merged
merged 25 commits into from
Aug 22, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
7f51b43
feat: handle minimums using error monads (#5081)
woodenfurniture Aug 16, 2023
1c522a6
feat: slippage improvements (#5093)
0xApotheosis Aug 17, 2023
ae6a880
fix: handle positive price impact (#5087)
0xApotheosis Aug 17, 2023
c4e178f
chore: remove manual memo calcs (#5094)
0xApotheosis Aug 18, 2023
2a58ab9
feat: fetch market data at quote time (#5102)
gomesalexandre Aug 18, 2023
e1f737e
feat: use market data from bridged assets if base asset data is unava…
gomesalexandre Aug 18, 2023
8bc1541
chore: update app translations (#5104)
firebomb1 Aug 19, 2023
3caae71
feat: make oneinch great again (#5105)
gomesalexandre Aug 19, 2023
badb5c7
feat: upgrade swappers to support returning multiple quotes (#5095)
woodenfurniture Aug 19, 2023
18d145e
feat: thor streaming swaps quote (#5106)
gomesalexandre Aug 19, 2023
f2e2f27
chore: remove redundant lifi tools map (#5113)
woodenfurniture Aug 20, 2023
d59eea5
chore: remove dead code from thorchain swapper (#5114)
woodenfurniture Aug 20, 2023
dad8afd
chore: add error handling to thorchain swapper route generation (#5115)
woodenfurniture Aug 21, 2023
b6eb861
chore: remove market data from trade execution (#5117)
0xApotheosis Aug 21, 2023
d4ba1fd
feat: time estimate UI for trade quotes (#5118)
woodenfurniture Aug 21, 2023
dc0d0da
feat: thorchain swapper affiliate fees (#5126)
woodenfurniture Aug 21, 2023
c889ec0
chore: add isStreaming to mixpanel (#5127)
0xApotheosis Aug 21, 2023
c5c9154
feat: don't display streaming THOR quote when same as regular quote (…
gomesalexandre Aug 21, 2023
5fa7fb4
fix: zerionApi schema nullable fields (#5125)
gomesalexandre Aug 21, 2023
b67b1dd
chore: add more isStreaming to MixPanel (#5128)
0xApotheosis Aug 21, 2023
cdb5fa6
chore: disable osmo chain everywhere (#5129)
0xdef1cafe Aug 22, 2023
d614075
feat: feature toggles for thorchain swapper (#5131)
woodenfurniture Aug 22, 2023
970b596
feat: comply with thorchain minimum amounts when swapping (#5132)
woodenfurniture Aug 22, 2023
bb64ca5
fix: handle various memo lengths per chain family for thorchain swapp…
woodenfurniture Aug 22, 2023
7490aff
fix: display positive percentage differences on trade quotes (#5135)
woodenfurniture Aug 22, 2023
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
17 changes: 10 additions & 7 deletions .env.base
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,6 @@ REACT_APP_FEATURE_DEFI_DASHBOARD=true
REACT_APP_FEATURE_IDLE=true
REACT_APP_FEATURE_MIXPANEL=true
REACT_APP_FEATURE_OPTIMISM=true
REACT_APP_FEATURE_OSMOSIS_LP=true
REACT_APP_FEATURE_OSMOSIS_LP_ADDITIONAL_POOLS=false
REACT_APP_FEATURE_OSMOSIS_SEND=true
REACT_APP_FEATURE_OSMOSIS_STAKING=true
REACT_APP_FEATURE_SAVERS_VAULTS=true
REACT_APP_FEATURE_TRADE_RATES=true
REACT_APP_FEATURE_WALLET_CONNECT_TO_DAPPS=true
Expand Down Expand Up @@ -43,8 +39,9 @@ REACT_APP_FEATURE_COWSWAP=true
REACT_APP_FEATURE_COWSWAP_GNOSIS=true
REACT_APP_FEATURE_LIFI_SWAP=true
REACT_APP_FEATURE_ONE_INCH=true
REACT_APP_FEATURE_OSMOSIS_SWAP=true
REACT_APP_FEATURE_THOR_SWAP=true
REACT_APP_FEATURE_THOR_SWAP_STREAMING_SWAPS=false
REACT_APP_FEATURE_THOR_SWAP_AFFILIATE_FEES=false
REACT_APP_FEATURE_ZRX_SWAP=true

# chat woot
Expand Down Expand Up @@ -126,7 +123,13 @@ REACT_APP_ETHERSCAN_API_KEY=XT8BI6VDYUGD9675X861ATHZNK3AN6HRMF
# wherever
REACT_APP_WHEREVER_PARTNER_KEY=00da1f18-3bba-4b71-824c-21e5ed772dfa

# osmosis
# osmosis - chain and all features off everywhere
REACT_APP_FEATURE_OSMOSIS_SEND=false
REACT_APP_FEATURE_OSMOSIS_LP=false
REACT_APP_FEATURE_OSMOSIS_LP_ADDITIONAL_POOLS=false
REACT_APP_FEATURE_OSMOSIS_STAKING=false
REACT_APP_FEATURE_OSMOSIS_SWAP=false

REACT_APP_OSMOSIS_LCD_BASE_URL=https://daemon.osmosis.shapeshift.com/
REACT_APP_OSMOSIS_POOL_PAGINATION_LIMIT=1000
REACT_APP_OSMOSIS_IMPERATOR_BASE_URL=https://api-osmosis.imperator.co/
Expand All @@ -147,7 +150,7 @@ REACT_APP_COVALENT_API_KEY=ckey_2160df0b81ac46e9a642b35a5f1
REACT_APP_FEATURE_COVALENT_JAYPEGS=true

#oneinch
REACT_APP_ONE_INCH_API_URL=https://api.1inch.io/v5.0
REACT_APP_ONE_INCH_API_URL=https://api-shapeshift.1inch.io/v5.0

# 0x
REACT_APP_ZRX_API_KEY=a2a41502-8a11-4907-8ff2-1fe9d24268af
3 changes: 0 additions & 3 deletions .env.develop
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,3 @@ REACT_APP_THORCHAIN_NODE_URL=https://dev-daemon.thorchain.shapeshift.com

# thorchain
REACT_APP_MIDGARD_URL=https://dev-indexer.thorchain.shapeshift.com/v2

# Osmosis
REACT_APP_FEATURE_OSMOSIS_SEND=true
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@
"node-polyglot": "^2.4.0",
"os-browserify": "^0.3.0",
"p-ratelimit": "^1.0.1",
"pretty-ms": "^8.0.0",
"qr-image": "^3.2.0",
"qs": "^6.10.5",
"re-reselect": "^4.0.0",
Expand Down
17 changes: 17 additions & 0 deletions packages/caip/src/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -177,3 +177,20 @@ export const VALID_ASSET_NAMESPACE: ValidAssetNamespace = Object.freeze({
ASSET_NAMESPACE.slip44,
],
})

// We should prob change this once we add more chains
export const FEE_ASSET_IDS = [
ethAssetId,
btcAssetId,
bchAssetId,
cosmosAssetId,
osmosisAssetId,
thorchainAssetId,
dogeAssetId,
ltcAssetId,
avalancheAssetId,
optimismAssetId,
bscAssetId,
polygonAssetId,
gnosisAssetId,
]
2 changes: 1 addition & 1 deletion react-app-rewired/headers/csps/defi/swappers/OneInch.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { Csp } from '../../../types'

export const csp: Csp = {
'connect-src': ['https://api.1inch.io'],
'connect-src': ['https://api-shapeshift.1inch.io'],
}
8 changes: 7 additions & 1 deletion src/assets/translations/de/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -641,6 +641,7 @@
"previewTrade": "Vorschau des Handels",
"rate": "Kurs",
"tradeFrom": "Handel ab",
"priceImpact": "Preisauswirkungen",
"slippage": {
"maxSlippage": "Maximaler Slippage",
"auto": "Automatisch",
Expand All @@ -661,6 +662,7 @@
"gasFeeExceedsTradeAmountThreshold": "Die Gasgebühr übersteigt %{percentage}% des Handelsbetrags",
"confirmDetails": "Einzelheiten bestätigen",
"confirmAndTrade": "Bestätigen und Handeln",
"tradeAnyway": "Trotzdem handeln",
"pending": "Handel ausstehend",
"complete": "Handel abgeschlossen",
"approveAsset": "Interaktion mit %{symbol} genehmigen",
Expand All @@ -684,6 +686,7 @@
"tooltip": {
"rate": "Dies ist die erwartete Rate für dieses Handelspaar.",
"noRateAvailable": "Dies ist häufig auf eine sehr begrenzte oder keine Liquidität des Handelspaars zurückzuführen.",
"priceImpact": "Ein Swap dieser Größenordnung kann angesichts der aktuellen Liquidität im Pool erhebliche Auswirkungen auf den Preis haben. Es kann einen großen Unterschied zwischen der Menge Ihres Eingabe-Tokens und dem, was Sie als Ausgabe-Token erhalten, geben",
"minerFee": "Dies ist die Gebühr für die Verarbeitung der Transaktion auf der Blockchain, dies ist keine Gebühr, die von ShapeShift erhoben wird.",
"donation": "Unterstützen Sie ShapeShift und halten Sie uns am Laufen.",
"protocol": "Dies ist das Protokoll, über das Ihr Handel geleitet wird.",
Expand Down Expand Up @@ -717,6 +720,7 @@
"insufficientFundsForProtocolFee": "Nicht genügend %{symbol} auf %{chainName} für Gebühren",
"invalidTradePair": "Ungültiges Handelspaar: %{sellAssetName} und %{buyAssetName}",
"invalidTradePairBtnText": "Ungültiges Handelspaar",
"unsupportedTradePair": "Nicht unterstütztes Handelspaar",
"noLiquidityError": "Nicht genügend Liquidität vorhanden",
"overMaxSlippage": "Dieser Handel würde zu einer Marktabweichung von über %{slippagePercentage} % führen. Bitte tauschen Sie einen geringeren Betrag gegen einen besseren Preis",
"balanceToLow": "Guthaben zu niedrig. Der minimale Handelsbetrag für dieses Paar beträgt %{minLimit}",
Expand All @@ -742,6 +746,7 @@
"assetNotSupportedByWallet": "%{assetSymbol} wird nicht von Ihrer Wallet unterstützt",
"noReceiveAddress": "Keine Empfangsadresse für %{assetSymbol}",
"tradingNotActive": "Handel von %{assetSymbol} vorübergehend angehalten",
"tradingNotActiveNoAssetSymbol": "Der Handel auf dieser Route wurde vorübergehend eingestellt",
"signing": {
"failed": "Beim Signieren der Transaktion ist ein Fehler aufgetreten",
"required": "Eine unterzeichnete Transaktion ist erforderlich"
Expand All @@ -759,7 +764,8 @@
"unknownGas": "(unbekannt)",
"receiveAddress": "Empfangsadresse ",
"receiveAddressDescription": "Keine %{chainName}-Adresse in verbundener Wallet gefunden. Geben Sie die Adresse manuell ein, um fortzufahren.",
"addressPlaceholder": "%{chainName} Adresse"
"addressPlaceholder": "%{chainName} Adresse",
"priceImpactWarning": "Aufgrund der Größe dieses Handels im Verhältnis zur verfügbaren Liquidität beträgt die erwartete Preisauswirkung dieses Handels %{priceImpactPercentage}%. Sind Sie sicher, dass Sie handeln möchten?"
},
"modals": {
"popup": {
Expand Down
2 changes: 1 addition & 1 deletion src/assets/translations/en/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -710,7 +710,7 @@
"buyAssetMiddleSentence": "buy asset",
"notEnoughEth": "Not enough ETH for the gas fee on this transaction.",
"amountTooSmall": "Minimum: %{minLimit}",
"amountTooSmallOrInvalidTradePair": "Amount too low or no route",
"amountTooSmallUnknownMinimum": "Amount too low",
"sellAmountDoesNotCoverFee": "Sell amount lower than fee",
"negativeMax": "Not enough funds for the miner fee on this transaction. Est miner fee %{estimatedMinerFee}",
"invalidMax": "Invalid Amount. The maximum trade amount for this pair is %{maxLimit}.",
Expand Down
8 changes: 7 additions & 1 deletion src/assets/translations/es/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -641,6 +641,7 @@
"previewTrade": "Vista previa del intercambio",
"rate": "Tasa",
"tradeFrom": "Intercambia desde",
"priceImpact": "Impacto en precio",
"slippage": {
"maxSlippage": "Deslizamiento Máx",
"auto": "Auto",
Expand All @@ -661,6 +662,7 @@
"gasFeeExceedsTradeAmountThreshold": "La tarifa de gas excede el %{percentage}% del monto comercial",
"confirmDetails": "Confirmar Detalles",
"confirmAndTrade": "Confirmar e Intercambiar",
"tradeAnyway": "Comerciar de todos modos",
"pending": "Intercambio Pendiente",
"complete": "Intercambio Completado",
"approveAsset": "Aprobar la interacción con %{symbol}",
Expand All @@ -684,6 +686,7 @@
"tooltip": {
"rate": "Esta es la tasa esperada para este intercambio.",
"noRateAvailable": "Esto a menudo se debe a una liquidez muy limitada o nula en el par comercial.",
"priceImpact": "Un intercambio de este tamaño puede tener un alto impacto en el precio dada la liquidez actual en el pool. Puede haber una gran diferencia entre la cantidad de su token y lo que recibirá",
"minerFee": "Esta es la tarifa para procesar la transacción en la blockchain, no es una tarifa cobrada por ShapeShift.",
"donation": "Ayude a ShapeShift mantenerse en funcionamiento.",
"protocol": "Este es el protocolo donde se enruta su intercambio.",
Expand Down Expand Up @@ -717,6 +720,7 @@
"insufficientFundsForProtocolFee": "%{symbol} insuficiente en %{chainName} para las tarifas",
"invalidTradePair": "Par comercial no válido: %{sellAssetName} y %{buyAssetName}",
"invalidTradePairBtnText": "Par de intercambio no válido",
"unsupportedTradePair": "Par No Compatible",
"noLiquidityError": "No hay suficiente liquidez disponible",
"overMaxSlippage": "Este comercio daría como resultado más de %{slippagePercentage}% deslizamiento. Intercambie una cantidad menor por un mejor precio",
"balanceToLow": "Saldo demasiado bajo. El monto mínimo de operación para este par es %{minLimit}",
Expand All @@ -742,6 +746,7 @@
"assetNotSupportedByWallet": "%{assetSymbol} no es compatible con la billetera",
"noReceiveAddress": "Sin dirección de recepción para %{assetSymbol}",
"tradingNotActive": "Operaciones temporalmente interrumpidas para %{assetSymbol}",
"tradingNotActiveNoAssetSymbol": "Intercambios detenidos temporalmente en esta ruta",
"signing": {
"failed": "Ocurrió un error al firmar la transacción",
"required": "Se requiere una transacción firmada"
Expand All @@ -759,7 +764,8 @@
"unknownGas": "(desconocido)",
"receiveAddress": "Dirección de recepción",
"receiveAddressDescription": "No dirección %{chainName} en billetera conectada. Introduzca manualmente para continuar",
"addressPlaceholder": "Dirección %{chainName}"
"addressPlaceholder": "Dirección %{chainName}",
"priceImpactWarning": "Debido al tamaño de la operación en relación a la liquidez disponible, el impacto de precio esperado es %{priceImpactPercentage}%. ¿Estás seguro quieres operar?"
},
"modals": {
"popup": {
Expand Down
8 changes: 7 additions & 1 deletion src/assets/translations/fr/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -641,6 +641,7 @@
"previewTrade": "Prévisualiser l'échange",
"rate": "Taux",
"tradeFrom": "Échanger de",
"priceImpact": "Incidence sur le prix",
"slippage": {
"maxSlippage": "Glissement/Slippage max.",
"auto": "Auto",
Expand All @@ -661,6 +662,7 @@
"gasFeeExceedsTradeAmountThreshold": "Les frais de carburant dépassent %{percentage}% du montant de l'échange",
"confirmDetails": "Confirmer les détails",
"confirmAndTrade": "Confirmer et échanger",
"tradeAnyway": "Échanger quand même",
"pending": "Échange en attente",
"complete": "Échange terminé",
"approveAsset": "Autoriser l'interaction avec %{symbol}",
Expand All @@ -684,6 +686,7 @@
"tooltip": {
"rate": "C'est le taux estimé pour cette paire d'échange.",
"noRateAvailable": "Cela est souvent dû à une liquidité très limitée ou inexistante sur la paire d'échange.",
"priceImpact": "Un échange de cette taille peut avoir un impact élevé sur le prix compte tenu de la liquidité actuelle du pool. Il peut y avoir une grande différence entre la valeur de votre jeton d'entrée et ce que vous recevrez pour le jeton de sortie",
"minerFee": "Il s'agit des frais de traitement de la transaction sur la blockchain, ce ne sont pas des frais facturés par ShapeShift.",
"donation": "Aidez à soutenir ShapeShift et maintenez-nous opérationnels.",
"protocol": "C'est le protocole avec lequel votre échange est routé.",
Expand Down Expand Up @@ -717,6 +720,7 @@
"insufficientFundsForProtocolFee": "%{symbol} insuffisant sur %{chainName} pour les frais",
"invalidTradePair": "Paire d'échange invalide : %{sellAssetName} et %{buyAssetName}",
"invalidTradePairBtnText": "Paire d'échange invalide",
"unsupportedTradePair": "Paire d'échange non prise en charge",
"noLiquidityError": "Liquidités disponibles insuffisantes",
"overMaxSlippage": "Cette transaction entraînerait un glissement (slippage) de plus de %{slippagePercentage}%. Veuillez négocier un montant inférieur pour obtenir un meilleur prix.",
"balanceToLow": "Le solde est trop bas. Le montant minimum de transaction pour cette paire est de %{minLimit}",
Expand All @@ -742,6 +746,7 @@
"assetNotSupportedByWallet": "%{assetSymbol} non supporté par le porte-monnaie",
"noReceiveAddress": "Pas d'adresse de réception pour %{assetSymbol}",
"tradingNotActive": "Échanges en %{assetSymbol} temporairement interrompus",
"tradingNotActiveNoAssetSymbol": "Échanges temporairement interrompus pour cette route",
"signing": {
"failed": "Une erreur s'est produite lors de la signature de la transaction",
"required": "Une transaction signée est requise"
Expand All @@ -759,7 +764,8 @@
"unknownGas": "(inconnu)",
"receiveAddress": "Adresse de réception",
"receiveAddressDescription": "Aucune adresse %{chainName} trouvée dans le porte-monnaie connecté. Entrez une adresse manuellement pour continuer.",
"addressPlaceholder": "Adresse %{chainName}"
"addressPlaceholder": "Adresse %{chainName}",
"priceImpactWarning": "En raison de la taille de cette transaction par rapport à la liquidité disponible, l'impact attendu sur le prix de cette échange est de %{priceImpactPercentage} %. Êtes-vous sûr de vouloir faire cet échange ?"
},
"modals": {
"popup": {
Expand Down
8 changes: 7 additions & 1 deletion src/assets/translations/pt/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -641,6 +641,7 @@
"previewTrade": "Prévia da Negociação",
"rate": "Taxa",
"tradeFrom": "Negocie de",
"priceImpact": "Impacto no Preço",
"slippage": {
"maxSlippage": "Slippage máximo. ",
"auto": "Automático",
Expand All @@ -661,6 +662,7 @@
"gasFeeExceedsTradeAmountThreshold": "A taxa de gás excede %{percentage}% do valor da transação",
"confirmDetails": "Confirmar Detalhes",
"confirmAndTrade": "Confirmar e Trocar",
"tradeAnyway": "Negocie Assim Mesmo",
"pending": "Negociação Pendente",
"complete": "Troca efetivada com sucesso",
"approveAsset": "Aprovar %{symbol}",
Expand All @@ -684,6 +686,7 @@
"tooltip": {
"rate": "Esta é a taxa esperada para a negociação do par.",
"noRateAvailable": "Isso geralmente ocorre devido à liquidez limitada ou inexistente no par negociado.",
"priceImpact": "Um swap desse tamanho pode ter um alto impacto no preço, dada a atual liquidez do pool. Pode haver uma grande diferença entre o valor do seu token no momento em que for comprado e quando você recebê-lo. ",
"minerFee": "Esta é a taxa para processar a transação no blockchain, não é uma taxa cobrada pela ShapeShift.",
"donation": "Ajude a manter a ShapeShift funcionando!",
"protocol": "Este é o protocolo onde sua negociação está sendo direcionada.",
Expand Down Expand Up @@ -717,6 +720,7 @@
"insufficientFundsForProtocolFee": "Insuficiente %{symbol} na %{chainName} para taxas",
"invalidTradePair": "Par de Negociação Inválido: %{sellAssetName} e %{buyAssetName}",
"invalidTradePairBtnText": "Par de Negociação Inválido",
"unsupportedTradePair": "Par Não Suportado",
"noLiquidityError": "Não há liquidez suficiente disponível",
"overMaxSlippage": "A operação ultrapassa em %{slippagePercentage}% a margem de Slippage da negociação. Reduza o valor para obter melhor cotação",
"balanceToLow": "Saldo muito baixo. O valor mínimo de negociação para este par é %{minLimit}",
Expand All @@ -742,6 +746,7 @@
"assetNotSupportedByWallet": "%{assetSymbol} incompatível com a carteira",
"noReceiveAddress": "Nenhum endereço recebido para %{assetSymbol}",
"tradingNotActive": "Negociações temporariamente pausadas para %{assetSymbol}",
"tradingNotActiveNoAssetSymbol": "Negociações temporariamente pausadas para esta rota",
"signing": {
"failed": "Erro ao assinar a transação",
"required": "É necessário assinar a transação"
Expand All @@ -759,7 +764,8 @@
"unknownGas": "(desconhecido)",
"receiveAddress": "Endereço de recebimento",
"receiveAddressDescription": "Nenhum %{chainName} endereço encontrado na carteira conectada. Insira o endereço manualmente para continuar. ",
"addressPlaceholder": "%{chainName} endereço"
"addressPlaceholder": "%{chainName} endereço",
"priceImpactWarning": "Devido ao tamanho desta negociação em relação à liquidez disponível, o impacto esperado no preço desta negociação é %{priceImpactPercentage}%. Tem certeza que deseja negociar?"
},
"modals": {
"popup": {
Expand Down
Loading