nicolas 2ea67b5137
Set transaction parameters manually - Advanced options (#1760)
* Makes getGasEstimationTxResponse exportable

* Add check for failing txs on approveTxModal

* Adds styles for reviewTx

* Adds useTxSuccessCheck hook

* Remove hook

* Adds checkIfTxWillFail function

* Uses checkIfTxWillFailAsync on reviewTx modal

* Improves approveTx modal

* Add check for failing transaction in contract interaction modal

* Add check for reviewCollectible

* Fix check on sendFunds reviewTx

* Adds styling for contractInteraction modal

* Fix gas calculation for native token transfers

* Remove logs

* Rename estimateDataGasCosts to parseRequiredTxGasResponse
Adds getPreValidatedSignatures
Refactor estimateTxGasCosts
Refactor checkIfExecTxWillFail

* Refactor checkIfExecTxWill usage

* Refactor checkIfTxWillFailAsync in ReviewTx

* Use getPreValidatedSignatures in createTransaction()

* Refactor estimateTxGasCosts
Rename estimateSafeTxGas to estimateExecTransactionGas

* Refactor ReviewTx: extract useEffects to hooks

* Remove unnecessary gas transfer amount

* Refactor estimateTxGasCosts: extract checkIfTxIsExecution and estimateTxGas

* Fix tx amount
Remove console log

* Moves useCheckIfTransactionWillFail to logic/hooks folder

* Replaces useEffect usage with useCheckIfTransactionWillFail hook
Also fix how some modals fetch the safeAddress

* Improves modal's wording

* Remove comment

* Fix error parsing the cancel transaction error message from GETH nodes

* Remove useCheckIfTransactionWillFail
Adds useEstimateTransactionGas
Renames estimateTxGas to estimateTransactionGas
Removes estimateTxGasCosts
Removes checkIfExecTxWillFail

* Replace useCheckIfTransactionWillFail from modals with useEstimateTransactionGas

* Replace estimateGasCosts from every review tx modal with useEstimateTransactionGas

* Replace estimateGasCosts from every review tx modal with useEstimateTransactionGas

* Extract isExecution calculation to useEstimateTransactionGas

* Creates TransactionFailText

* Uses TransactionFailText in the review modals

* Remove unnecessary styles

* Fix imports

* Remove css

* Fix missing style

* Remove duplicated function

* Fix modal height

* Fix wrong selector usage

* Fix missing null check on cancel tx confirmations

* Add guard for CLOSE_SNACKBAR action when tx was already dismissed

* Improves useEstimateTransactionGas in review custom tx and contract interaction review

* Fix hook dependency

* Add active screen types in send modal

* SafeInfo: replace AddressInfo by EthHashInfo

* Fix review replace/remove/add owner modals styling

* AdvancedOptions without funcionality

* change button text

* fix margins and texts

* fix close button margin

* rename ReviewTx by ReviewSendFundsTx

* safe params: partial implementation

* make use of useTransactionParameters hook

* Refactor response of useEstimateTransactionGas

* Remove safeAddress as param to the useEstimateTransactionGas

* Improves how threshold is obtained in useEstimateTransactionGas.tsx

* Rename gasCostHumanReadable to gasCostFormatted

* Add operation to useEstimateTransactionGas

* Refactor ConfirmTransactionModal to use useEstimateTransactionGas

* Refactor proccessTransaction to use getPreValidatedSignatures method

* Fix default export of ApproveTxModal

* Rename estimateExecTransactionGas to estimateGasForTransactionCreation
Remove estimateTransactionGas from gas.ts

* form, accordion, validations

* Make estimateGasForTransactionCreation throw error instead of 0 gas

* Adds estimateGasForTransactionExecution and estimateGasForTransactionApproval to gas.ts

* Move estimateTransactionGas to useEstimateTransactionGas
Refactors useEstimateTransactionGas to return isCreation and isOffChainSignature

* Add in contractInteraction

* review custom TX

* review collectible

* Type and refactor generateSignaturesFromTxConfirmations
Moves getPreValidatedSignatures to safeTxSigner.ts

* Uses confirmations to estimateGasForTransactionExecution

* Adds TransactionFeesText component
Uses TransactionFeesText on ApproveTxModal

* Update text

* Update text

* Remove unnecessary condition

* Pass more parameters to estimateGasForTransactionExecution

* Removes unnecessary parameter in getNewTxNonce

* Moves checkIfOffChainSignatureIsPossible to safeTxSigner.ts

* rename AdvancedOptions and add parameters in add owner

* replace owner - remove owner

* Fix check for null confirmations

* Uses checkIfOffChainSignatureIsPossible on createTransaction.ts

* Policies

* Move TransactionFailText inside TransactionFees component

* spending limit

* fix textfields gap and margins

* fix margins, text size and textfields disposition

* Remove unnecessary awaits

* Update Accordion comp

* Pass safeTxGas to useEstimateTransactionGas.tsx
Improves how we use default params

* Fix gas iteration on estimateGasForTransactionExecution

* Fix estimateGasForTransactionExecution calculation

* Fix generateSignaturesFromTxConfirmations calculation

* Remove unnecessary Promise and await

* Fix estimateGasForTransactionExecution for preApproving owner case

* Improve logging

* Remove log

* Fix typo

* merge fixes

* Uses operation in useEstimateTransactionGas

* Uses operation in useEstimateTransactionGas

* add txParameters in ApproveTx

* useEstimateTransactionGas add gasPriceFormatted

* reviewSendFundsTx gasFormatted

* add gasLimit to useEstimateTransactionGas

* Files movement - EditParameters refactor

* tx parameters in creation

* set correct gasPrice

* createTx from contractInteraction

* Fix gas estimation for transaction creation

* disable button while calculating gas

* Add owner - reactor and creation options

* Add owner: remove unused code

* Threshold settings

* fix modal ui bug (tx)

* fix modal ui bug (settings)

* fix modal ui bug (Settings: Policies )

* fix ui bug modal (Spending Limit)

* (Fix) - Calculates gas for SpendingLimit transactions (#1773)

* Bug: Use link tag instead of javascript navigation in apps list (#1770)

* Use list instead of programmable navigation

* add declaration for styled-components theme

* (Fix) - Calculates gas for SpendingLimit transactions (#1773)

* Calculates gas for spendingLimit transactions

* Adds TransactionFees component inside UpdateSafeModal

* Fix send collectible gas calculation

Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>

* speding limits

* Remove default exports for spendingLimits

* Fix warning in TxParametersDetail

* Extracts calculateSpendingLimitsTxData logic and add types

* Remove txParameters from setSpendingLimitMultiSendTx/spendingLimitMultiSendTx
Adds log for transaction creation success

* Refactor handleSubmit, now uses calculateSpendingLimitsTxData to calculate the spendingLimit transaction data before submitting
Also calculateSpendingLimitsTxData is used to estimate the amount of gas that the transaction will cost

* disable parameters when needed

* fix parametersStatus condition

* Some fixes

* more fixes

* send directly when tx nonce == safeNonce

* fix tests

* parameters in replace owner and remove owner

* Fix gas estimation issues for Metamask

* FIx Edit transaction parameters src route

* Remove default exports RemoveModuleModal

* Adds advanced parameters in RemoveModuleModal

* Fix css styling of UpdateSafeModal

* Adds EditableTxParameters within UpdateSafeModal

* Fix warning in <Accordion> for compact parameter

* Add advanced settings for RemoveLimitModal.tsx

* Fix txNonce usage in RemoveModuleModal.tsx

* Remove logs

* Fix txNonce param in RemoveLimitModal.tsx

* Remove TODOS for refactoring default case of getParametersStatus in EditableTxParameters

* Add advanced parameters to Safe apps modal

* Force gasPrice and safeTxGas 0 for cancelling transaction

* Invert validation of safeTxGas > ethGasLimit, safeTxGas should be < than ethGasLimit

* Add missing validation for approveTxModal submit button

* Fix checkIfTxIsApproveAndExecution  method
Add tests

* Remove duplication of gas value for calculateGasOf

* Fix gas estimation for execution & approval

* Adds EXTRA_NODE_GAS for the gasLimit calculation

* Revert duplicate of web3.eth.estimateGas

* Revert fix of execution & approval

* Adds closeEditModalCallback in EditableTxParameters

* Accept manual gas price in useEstimateTransactionGas.tsx

* Use manualPrice in sendFunds gas estimation

* Add safeTxGas estimation to Editable TX Parameters

* Set safeTx gasPrice to 0 on tx creation

* Refactor useTransactionParameters with initialValues support

* Refactor EditableTxParameters.tsx, fixs changing gasLimit or gasPrice

* Fix safeTxGas

* Add naming to minimum gas required for a transaction

* Remove log

* Fix nonce calculation for cancel transaction

* Update gas estimation to be more precise and avoid reverts

* Check that only the creator of the transaction or the executor could modify the advanced parameters

* Add validation to submit buttons on modals when the gas estimation is loading

* Fix advanced parameters display in change threshold

* Fix wrong commit

Co-authored-by: Agustin Pane <agustin.pane@gmail.com>
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
Co-authored-by: Fernando <fernando.greco@gmail.com>
Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
2021-01-29 21:21:42 +01:00
..
2020-12-04 18:38:49 +01:00