* Enables validation of safeTxGas < gasLimit and enable change of the gasLimit
* - Let the user use a custom safeTxGas for checking if the transaction will fail
* Updates the gas success estimation when the user changes the safeTxGas manually on:
- Approve safeApp transaction
* Send manual parameters (safeTxGas and safeNonce) to safe apps
* Add missing variable to estimateGasForTransactionCreation
* Improve network naming usage for validation
* calculate eth value from array of txs
* use 0 incase of multisend
Co-authored-by: Agustin Pane <agustin.pane@gmail.com>
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
* Add types for SafeProps
Adds getSafePropsValuesFromQueryParams implementation
Replaces window.location with useLocation hook
* Replaces SafeProps with import in Layout.tsx
Adds downlevelIteration to tsconfig.json to allow array.entries()
* Type createSafe()
* SafeDeployment Types
* Type Paragraph and refactor to functional component
* Fix validateQueryParams and types
Co-authored-by: nicolas <nicosampler@users.noreply.github.com>
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
* Update copy during onboarding
Quite a few users have pointed out that it was not clear that owners can be changed after the Safe is created. E.g. "- Once I’ve created a wallet, it seems it’s possible to revoke and change a signer, but it wasn’t immediately clear if I can change the threshold."
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
* 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>
* Guard for empty result
* Type TextField
* Fix warning of InputAdornment in SendFunds modal
* Re-enable gas estimation for wallet connect
* Replace web3.call on parseRequiredTxGasResponse with axios post to infura
* Adds estimateGasWithInfura and estimateGasWithWeb3Provider for changing the estimation method if we are in a non-infura-supported network
* Revert calculateMinimumGasForTransaction change to leave the change for the already-open pr
* Renames estimateGasWithInfura with estimateGasWithRPCCall
Replaces web3 with web3ReadOnly in estimateGasWithRPCCall
Co-authored-by: Mati Dastugue <matias.dastugue@altoros.com>
Co-authored-by: Fernando <fernando.greco@gmail.com>
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
* Adds isTupleParameter validation to the extractMethodArgs
* Improves tuples parsing
* Show examples for txs inputs
* Remove MethodsInputExamples
Co-authored-by: Mati Dastugue <matias.dastugue@altoros.com>
* Don't use multisend if txs.length = 1
* calc txData inside useMemo
* fix sending txs from apps, use correct operation/recipient
Co-authored-by: Fernando <fernando.greco@gmail.com>
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
* Fix checkIfTxIsExecution method implementation
* Add tests for checkIfTxIsExecution/checkIfTxIsCreation/checkIfTxIsApproveAndExecution/
* Minimice number of ifs with same result
Co-authored-by: Mati Dastugue <matias.dastugue@altoros.com>
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>