70 Commits

Author SHA1 Message Date
dlipicar
3466ac2661
feat!: implement new activityV2 filter (#6102)
* feat!: implement new activityV2 filter

* chore_: pr comments
2024-11-25 17:44:39 -03:00
Dario Gabriel Lipicar
1940d26c7f chore_: adapt route db to new transaction code 2024-11-08 09:03:33 -03:00
Dario Gabriel Lipicar
cfcef92e64 feat(wallet)_: store route execution data to db 2024-11-08 09:03:33 -03:00
Igor Sirotin
c1dd9397f7
refactor_: remove generated files from source control (#5878)
* fix_: gitignore generated files

* chore_: delete generated files

* fix_: update go generate instructions

* feat(Makefile)_: clean-generated-files target

* feat(Makefile)_: `generate` target

* fix(Makefile)_: dependent generate target

* ci_: run generate, update docker file deps

* fix(Makefile)_: remove `clean-generated-files` target

* fix(Makefile)_: simpler GO_GENERATE_CMD arg

* fix_: temp workspace GO_GENERATE_FAST_DIR
2024-10-03 20:59:44 +01:00
Ivan Belyakov
625c11ced4 fix(wallet)_: migration caused failure due to duplicates were not
properly removed
2024-07-23 14:45:11 +02:00
Mikhail Rogachev
4c6ca00520
Feat: implement connector service for browser plugin (#5433)
* feat(connector)_: impl `eth_requestAccounts` for browser plugin

* feat(connector)_: add impl for `wallet_switchEthereumChain` and `eth_chainId`

* feat(connector)_: add impl for `eth_sendTransaction`

* feat(connector)_: add a signal and an endpoint for wallet ui side

* chore_: refactor connector tests

* feat(connector)_: impl `eth_requestAccounts` with signal

* chore(connector)_: Add test, covering full transaction flow

And polish impl & test for connector endpoints

* fix(connector)_: temporary allow all origins for ws connection

* chore_: review fixes

* fix(connector)_: make user select chain id for dApp

* fix(connector)_: add requestID and fine tune endpoints

* chore(connector)_: naming fixes and tests improvments
2024-07-18 17:30:10 +02:00
Ivan Belyakov
d07f9b5b16 fix(wallet)_: no balance chart for tokens, due to wrong symbol (ETH) used
instead.

Fixed padding points being removed from final result, regression.
Edge points not added per address as it does not make sense.
Fixed padding points number with respect to edge points number.
Padding points now duplicate previous entry.
Fixed timestamp boundaries to ignore addresses, as we want the whole
range for all passed addresses.
Fixed missing indices in balance_history table and clean up of
duplicate rows.
Removed ERC1155 from balance history sql query
2024-07-18 13:11:02 +02:00
Andrea Maria Piana
9a59d6a459 feat(metrics)_: add centralized metrics
This commit adds support for centralized metrics.
There are two providers as of now, and we haven't quite decided which
one to go for, so for the time being both are supported.
It also introduces a new endpoint InitializeApplication that replaces
OpenAccounts
2024-07-11 10:05:31 +01:00
Mikhail Rogachev
1362d10620
feat_: implement connector service (#5375) (#5403) 2024-06-24 07:29:40 -07:00
Stefan
d351acbba5 fix(dapps)_: bring back missing wallet_connect_dapps migration file
The file was missing from the original commit due to the ignore rule
in the .gitignore file. Therefore I removed the rule and restored
the file from the `bindata.go`

Original commit 36273bc9b2b0a148d4e2439811a211e70391c14e
2024-06-20 15:03:36 +02:00
Stefan
36273bc9b2 feat(dapps)_: add wallet_connect_dapps table
Refactor wallet_connect_sessions to account for session dapp relation

Update: #14615
2024-05-28 19:29:08 +02:00
Ivan Belyakov
725fef8f24 feat(wallet)_: implemented storing RPC requests in sql table
Fixed some tests and minor issues
2024-05-28 13:44:40 +02:00
Cuteivist
6b680f0722
feat_: Correct opt short names (#5163) 2024-05-16 16:01:30 +02:00
Khushboo-dev-cpp
867cd1f14b
feat(api)_: add api and functionality to get collection website and twitter handle from alchemy (#5007) 2024-05-14 08:58:08 +02:00
Ivan Belyakov
3b6b38a414 chore(wallet)_: Fix tests after wallet api sign and send clean up
- Get rid of InsertTestMultiTransaction function in test utils and
use InsertMultiTransaction method of transaction manager
- Use MultiTransaction type instead of TestMultiTransaction

Added a missing wallet DB migration file for multi transactions
2024-05-09 18:11:58 +02:00
Cuteivist
d3d155a5b2
Added soulbound field for collectibles (#5026) 2024-04-09 16:16:20 +02:00
Andrea Maria Piana
2311da2475 Port back migrations from release branch 2024-03-14 13:27:12 +00:00
Sale Djenic
f69ee07593 fix: calculating next nonce for optimism chain improved to align with calculation on mainnet and arbitrum 2024-03-13 15:21:33 +01:00
Igor Sirotin
7f671f7632
chore: make generate with custom -modtime (#4896) 2024-03-08 09:25:17 +00:00
Igor Sirotin
571f30777e
chore: make generate with nix-shell (#4853) 2024-03-01 13:58:24 +00:00
Igor Sirotin
9fa396e797
chore: nix-shell make generate (#4824) 2024-02-27 19:35:43 +00:00
Mykhailo Prakhov
3959948c4c
chore: fix ban/unban flow and delete all messages feature (#4743)
feat: delete all messages for banned member and ban/unban AC notifications
2024-02-22 11:25:13 +01:00
Roman Volosovskyi
cc708ce0ce
[#4690] Nilable block range values for proper ranges management (#4691) 2024-02-19 16:50:07 +01:00
Igor Sirotin
add46fbda0
chore: make generate with nix-shell (#4745) 2024-02-16 12:48:27 +00:00
Dario Gabriel Lipicar
058fa629a0 feat(wallet): add contract type to collectibles 2024-02-06 13:35:01 -03:00
Ivan Belyakov
c84bb077fa fix(wallet): add a forgotten migration file to remove ETH transfers that
are gas-fee-only from transfers table.

Updates #4618
2024-01-31 14:37:48 +01:00
Andrea Maria Piana
e65760ca85 Add basic peersyncing
This commit adds basic syncing capabilities with peers if they are both
online.

It updates the work done on MVDS, but I decided to create the code in
status-go instead, since it's very tight to the application (similarly
the code that was the inspiration for mvds, bramble, is all tight
together at the database level).

I reused parts of the protobufs.

The flow is:

1) An OFFER message is sent periodically with a bunch of message-ids and
   group-ids.
2) Anyone can REQUEST some of those messages if not present in their
   database.

3) The peer will then send over those messages.

It's disabled by default, but I am planning to add a way to set up the
flags.
2024-01-23 12:46:17 +00:00
Ibrahem Khalil
436d229856
Add last opened at key for community (#4514) 2024-01-21 12:55:14 +02:00
Roman Volosovskyi
9c0526f7d9
[#4202] Detect balance and erc20 transfers by a single contract call (#4508) 2024-01-19 16:57:04 +01:00
Dario Gabriel Lipicar
ee6621b066 feat: link owned collectibles with latest matching transfer
Part of #12942
2024-01-15 12:55:47 -03:00
Sale Djenic
280f48877d chore(savedaddresses)!: favourite property removed and primary key updated
- favourite column removed from the saved_addresses table
- favourite property removed from the SavedAddress struct
- ens name removed from the primary key, the primary key now is composed of address and is_test columns
- ens parameter removed from wakuext_deleteSavedAddress
- wallet_getSavedAddresses moved to wakuext_getSavedAddresses (to keep them all in a single place)
- saved addresses related endpoints removed from the wallet service, even they logically belong there, a reason for that
is avoiding emitting sync message if one uses calls from the wallet service, while that's not the case in ext service. Once
we refactor this and introduce devices syncing mechanism in the wallet service, we should not only these but other wallet
related endpoints move there (removed: wallet_getSavedAddresses, wallet_addSavedAddress and wallet_deleteSavedAddress).

Affected area:
Saved addresses
2024-01-10 19:30:56 +01:00
Ibrahem Khalil
e1b52f9eae
Add joined at key to communities (#4513) 2024-01-09 20:36:47 +02:00
Godfrain Jacques
9d8b55e3d9
This PR (status-go) fixes #12821 (#4516)
- Add album_images column to the user_messages table
- Migrate the database
2024-01-08 10:18:57 -08:00
Sale Djenic
a8357dceac feat: color field added to saved address
- `color` column added to `saved_addresses` table
- `colorId` parameter exposed via `SavedAddress` struct

Affected area - saved addresses.

The following endpoints return or receive `SavedAddress` instance:
- `UpsertSavedAddress`
- `GetSavedAddresses`
- `AddSavedAddress`
2023-12-29 10:39:52 +01:00
Mykhailo Prakhov
134137f9c5
feat: implemented a mechanism to retrieve shard information for a given community ID (#4499)
* feat: a mechanism to retrieve shard information for a given community ID
2023-12-22 13:37:37 +01:00
Dario Gabriel Lipicar
b1e000ed59 feat: add balance to collectibles api 2023-12-18 18:24:21 -03:00
Dario Gabriel Lipicar
b3cc73aa7f feat: use media server for community collectible images 2023-12-16 08:49:58 -03:00
Sale Djenic
d2ae23f466 chore(walletconnect)_: record wallet sessions instead of pairings 2023-12-14 12:58:27 +01:00
Ivan Belyakov
82185b54b5 feat(wallet): separate ETH and tokens search ranges to allow calling
`getLogs` for multiple accounts simultaneously. For now only used for
new transfers detection. Detection of `new` transfers has been changed,
now they are searched from head and forward. Previously they were
searched from last scanned block forward.
2023-12-05 16:09:56 +01:00
Stefan
a855f9e3e8 feat(wallet) WalletConnect: track pairings in DB
Add new APIs to track if valid pairings are available to be used
by application not to run WalletConnect SDK if not needed.

Closes status-desktop: #12794
2023-11-24 09:44:27 +01:00
Dario Gabriel Lipicar
a51f8aa13c feat: backoff wallet community fetches after a failure 2023-11-17 10:35:30 -03:00
Igor Sirotin
f8236fb555
fix: link previews public keys (#4272) 2023-11-09 16:24:35 +00:00
frank
054356fed2
remove sync AC state (#4241) 2023-11-02 23:07:03 +08:00
Mykhailo Prakhov
eb437e9d8d
feat: kick all members after ownership change and auto-accept after sharing the address (#4187)
feat: kick all members after the ownership change and auto-accept after sharing the address
2023-10-31 15:20:40 +01:00
Andrea Maria Piana
d47b5733c0
fix order of drop statement 2023-10-30 10:56:32 +00:00
Andrea Maria Piana
360c2d50d4 Fix issues with out of order encryption and batched messages
This commit fixes 3 issues:

1) In some cases, the hash ratchet was not correctly found
2) Out of order messages were not processed correctly as the wrong error
   was returned
3) Batched non datasync messages were not processed correctly

Fixes: #4170
2023-10-30 10:11:32 +00:00
Dario Gabriel Lipicar
a38b34ae49 feat: cache community metadata in wallet
Fixes #12521
2023-10-26 17:36:45 -03:00
frank
06a9fe4f81
fix: sync decision on join community request (#4190)
* fix: sync community request decision

* make generate

* simplify test

* make generate
2023-10-26 12:17:18 +08:00
Cuteivist
debf3b6e4d
feat: Added ERC20 community id (#4189) 2023-10-25 18:49:18 +02:00
Andrea Maria Piana
23f71c1125 Fix encryption id && rekey with a single message
This commit changes the format of the encryption id to be based off 3
things:

1) The group id
2) The timestamp
3) The actual key

Previously this was solely based on the timestamp and the group id, but
this might lead to conflicts. Moreover the format of the key was an
uint32 and so it would wrap periodically.

The migration is a bit tricky, so first we cleared the cache of keys,
that's easier than migrating, and second we set the new field hash_id to
the concatenation of group_id / key_id.
This might lead on some duplication in case keys are re-received, but it
should not have an impact on the correctness of the code.

I have added 2 tests covering compatibility between old/new clients, as
this should not be a breaking change.

It also adds a new message to rekey in a single go, instead of having to
send multiple messages
2023-10-24 20:48:54 +01:00