The Status module that consumes go-ethereum https://status.im
Go to file
Pascal Precht 2cbced95c5 Check token funds when handling community requests to join
This adds checks to `HandleCommunityRequestToJoin` and
`AcceptRequestToJoinCommunity` that ensure a given user's revealed
wallet addresses own the token funds required by a community.

When community has token permissions of type `BECOME_MEMBER`, the
following happens when the owner receives a request:

1. Upon verifying provided wallet addresses by the requester, the owner
   node accumulates all token funds related to the given wallets that
   match the token criteria in the configured permissions
2. If the requester does not meet the necessary requirements, the
   request to join will be declined. If the requester does have the
   funds, he'll either be automatically accepted to the community, or
   enters the next stage where an owner needs to manually accept the
   request.
3. The the community does not automatically accept users, then the funds
   check will happen again, when the owner tries to manually accept the
   request. If the necessary funds do not exist at this stage, the
   request will be declined
4. Upon accepting, whether automatically or manually, the owner adds the
   requester's wallet addresses to the `CommunityDescription`, such that
   they can be retrieved later when doing periodic checks or when
   permissions have changed.
2023-03-23 08:40:31 +01:00
.dependabot Patch/dependabot protocol (#1980) 2020-05-19 00:14:02 +01:00
.github fix documentation url in the checklist (#2770) 2022-07-22 22:12:29 +05:30
.vscode chore: fix vscode test run 2022-11-17 10:40:26 +01:00
_assets Re-organise the code to be more modular (#3172) 2023-03-01 17:23:17 +05:30
_docs rename status-react to status-mobile 2022-07-17 15:37:14 +02:00
_examples go-waku integration (#2247) 2021-06-16 16:19:45 -04:00
abi-spec Upgrade linter to 1.50.0 2023-01-13 17:52:03 +00:00
account Add methods to sign and recover messages/signatures to AccountManager 2023-03-16 12:25:06 +01:00
api Check token funds when handling community requests to join 2023-03-23 08:40:31 +01:00
appdatabase Add index to raw messages 2023-03-16 13:40:20 +00:00
appmetrics feat: make kdf iterations configurable when creating a multiaccount (#2796) 2022-09-27 16:27:20 -04:00
build/bin add .gitkeep to build/bin so it always exists 2019-03-05 14:22:00 +01:00
cmd Check token funds when handling community requests to join 2023-03-23 08:40:31 +01:00
common Move services to status-node 2021-07-20 10:57:38 +02:00
config chore: add status.prod fleet (#2583) 2022-03-11 15:48:51 -05:00
connection Address linter issues 2022-03-28 13:14:12 +01:00
contracts feat: add ethscan to arbitrum and optimism 2023-03-20 15:44:35 +01:00
db Address linter issues 2022-03-28 13:14:12 +01:00
discovery chore: upgrade go-waku and log about messages sent/received 2022-11-09 17:39:17 +03:00
eth-node chore: upgrade go-waku to v0.5 (#3213) 2023-02-22 17:58:17 -04:00
exportlogs Upgrade geth to 1.9.5 and Whisper (#1617) 2019-10-04 17:21:24 +02:00
extkeys Upgrade geth 2021-07-20 10:57:38 +02:00
images Add request to response when canceling request 2023-03-14 13:50:18 +00:00
ipfs fix: add mode build param and change ipfs gateway accordingly 2022-08-26 18:57:55 +02:00
logutils chore: bump go-waku to also log output from go-libp2p into geth.log 2023-02-02 16:26:25 -04:00
mailserver Add collapsed community categories 2023-03-14 17:13:21 +00:00
metrics Upgrade linter to 1.50.0 2023-01-13 17:52:03 +00:00
mobile Add RestoreAccountAndLogin endpoint 2023-03-22 13:31:16 +00:00
multiaccounts feat: dynamic social links 2023-03-15 12:41:57 +01:00
node Changed connection state now correctly propagates to messenger (#3310) 2023-03-20 11:52:24 +00:00
nodecfg fix: add missing waku2 store columns 2023-01-26 13:47:47 -04:00
notifier Notifier package to interact with gorush notifications (#910) 2018-05-08 16:30:03 +02:00
params feat: fallback rpc endpoint 2023-02-28 08:43:57 +01:00
peers synchronize display name (#2989) 2022-12-29 14:16:19 +08:00
postgres Anon Metrics Broadcast (#2198) 2021-09-01 13:02:18 +01:00
profiling Upgrade linter to 1.50.0 2023-01-13 17:52:03 +00:00
protocol Check token funds when handling community requests to join 2023-03-23 08:40:31 +01:00
rpc feat: fallback rpc endpoint 2023-02-28 08:43:57 +01:00
rtt rename status-react to status-mobile 2022-07-17 15:37:14 +02:00
server Re-organise the code to be more modular (#3172) 2023-03-01 17:23:17 +05:30
services Check token funds when handling community requests to join 2023-03-23 08:40:31 +01:00
signal feat: backup keycards to and fetch them from waku 2023-02-28 19:23:36 +01:00
sqlite feat: Update saved addresses DB to store ENS, isTest flag and chains (#3183) 2023-03-06 16:26:46 +03:00
static Add collapsed community categories 2023-03-14 17:13:21 +00:00
t Add collapsed community categories 2023-03-14 17:13:21 +00:00
telemetry fix: reset bandwidth stats totals every day, and send message size 2023-02-01 16:43:57 -04:00
timesource Move services to status-node 2021-07-20 10:57:38 +02:00
transactions feat: nonce management in multi tx 2023-01-12 12:56:57 +01:00
vendor Allow underscores for status-tags (#3286) 2023-03-14 17:31:15 +02:00
waku Upgrade linter to 1.50.0 2023-01-13 17:52:03 +00:00
wakuv2 feat: update go-waku to introduce meta field and deterministic hashing 2023-03-13 21:03:34 -04:00
.codeclimate.yml Re-organise the code to be more modular (#3172) 2023-03-01 17:23:17 +05:30
.dockerignore Ignore *.test files from all folders (#635) 2018-02-08 14:23:08 +02:00
.gitignore feat: add visual identity service (#2550) 2022-03-11 16:17:48 -05:00
.golangci.yml Remove protocol and eth-node submodules (#1835) 2020-02-10 12:22:37 +01:00
.travis.yml Remove Ropsten and Rinkeby test networks 2022-10-24 14:17:46 +02:00
BOOTNODE.md docs: clarify purpose and describe ports 2020-02-06 18:44:23 +01:00
CMakeLists.txt dev: allow option to force compiling for apple silicon 2022-06-30 09:42:19 +02:00
CONTRIBUTING.md rename status-react to status-mobile 2022-07-17 15:37:14 +02:00
LICENSE.md Create LICENSE.md 2016-09-21 10:00:29 +08:00
MAILSERVER.md rcp.sh: curl wrapper for easier RPC calls 2021-08-24 11:23:25 +02:00
Makefile chore: Enable arm64 build on MacOs 2023-03-22 14:23:29 +02:00
README.md Explain how to run Waku node in README (#1921) 2020-04-09 18:33:53 +02:00
RELEASING.md rename status-react to status-mobile 2022-07-17 15:37:14 +02:00
VERSION Dont set backup disabled datadir in defaults 2023-03-22 13:31:16 +00:00
WAKU.md Create WAKU.md with spec support (#1855) 2020-02-21 17:56:15 +08:00
go.mod Add collapsed community categories 2023-03-14 17:13:21 +00:00
go.sum Allow underscores for status-tags (#3286) 2023-03-14 17:31:15 +02:00
nix.conf ci: use Nix shell to provide Android SDK for builds 2022-12-05 15:48:27 +01:00
shell.nix ci: use M1 Macs for iOS builds 2023-02-16 11:52:48 +01:00