This commit:
- upgrades`go` to `1.22`
- modify `xcodewrapper` to latest version from `nixpkgs`
- bring in `gomobile` derivation with newer version.
- upgrade golangci-lint to `1.59.1` for `go` version `1.22` support https://github.com/golangci/golangci-lint/releases/tag/v1.59.1
- make few exceptions incase of db queries for `gosec`
The following properties are added to the `routes.Path`:
- `SuggestedTxNonce`
- `SuggestedTxGasAmount`
- `SuggestedApprovalTxNonce`
- `SuggestedApprovalGasAmount`
- `TxGasFeeMode`
- `ApprovalGasFeeMode`
- A new contract is used for estimating L1 fee.
- New contract's addresses are known only for Optimims and Sepolia Optimimsm.
- Old contract and addresses per chain are kept so far, but not in use anymore.
Comparing to other wallets, seems L1 fee is added to the total fee only for the Optimims chain.
So we're doing the same in this commit, disabling L1 fees for other than the Optimism.
While ago we've disabled l1 info cause the estimated L1 fees were significantly higher than they should have been
(if I remember well, the L1 fees were about 1000 times higher than they should have been).
From this point, that wrong value might be coming from unreliable pokt calls/values, these changes bring them back.
* chore(config)_: Integration of new RPC Provider configurations
* default_networks.go
* explicit provider initialization with more granular config (rps limiter, order)
* token overrides made more flexible, support not only infura and grove
* get_status_node.go
* override status-proxy auth instead of passing override config to rpc/client.go
* config.go
* ProviderConfig removed
* client.go
* Now any provider can be enabled/disabled (if user wants to use only his custom RPC urls)
* Use bearer auth instead of URL auth
* Provider order is defined by default_networks.go
* Do not store embedded RPC provider credentials in the DB
* FIXME: TestLoginAndMigrationsStillWorkWithExistingDesktopUser uses deprecated test data (with non-existing related_chain_id in networks table)
This is a breaking change which removes `communitytokens` package.
This commit removes old `communitytokens` package, cause previously added `communitytokensv2` package,
which is in use now, will be renamed to `communitytokens` in next commit.
- `Path` type extended with the following fields:
- `SuggestedMinPriorityFee`, suggested min priority fee by the network
- `SuggestedMaxPriorityFee`, suggested max priority fee by the network
- `CurrentBaseFee`, current network base fee
- The following wallet api endpoints marked as deprecated:
- `GetSuggestedFees`
- `GetTransactionEstimatedTime`
Removed properties from `Path` type:
- `MaxFeesPerGas`, based on the sending flow progress appropriate new properties (`TxMaxFeesPerGas`, `ApprovalMaxFeesPerGas`) should be used
Added new properties to `Path` type:
- `RouterInputParamsUuid`, used to identify from which router input params this path was created
- `TxNonce`, used to set nonce for the tx
- `TxMaxFeesPerGas`, used to set max fees per gas for the tx
- `TxEstimatedTime`, used to estimate time for executing the tx
- `ApprovalTxNonce`, used to set nonce for the approval tx
- `ApprovalTxMaxFeesPerGas`, used to set max fees per gas for the approval tx
- `ApprovalTxEstimatedTime`, used to estimate time for executing the approval tx
New request types added:
- `PathTxCustomParams`, used to pass tx custom params from the client
- `PathTxIdentity`, used to uniquely identify path (tx) to which the custom params need to be applied
New endpoints added:
- `SetFeeMode` used to set fee mode (`GasFeeLow`, `GasFeeMedium` or `GasFeeHigh`)
- `SetCustomTxDetails` used to set custom fee mode (`SetCustomTxDetails`), if this mode is set, client needs to provide:
- Max fees per gas
- Max priority fee
- Nonce
- Gas amount
Needed for https://github.com/status-im/status-desktop/issues/16640
In Desktop, we still used a "forked" version of the BlockContact function that had as differences that it didn't leave the chat nor delete the messages.
However, we want to have parity now and those features, so it makes no sense to use a different function.
This is a breaking change because it removes an API, but I took care of removing the use of that function in the Desktop app and Mobile never used it, so it's an inoffensive breaking change.
Additionally, I added the notifications to the messenger response.
From and to chains added to SendDetails type that can be used on the client side if the sending fails
that we can display appropriate ephemeral notifications, saying sending from which chain has failed.