Compare commits

..

8 Commits

Author SHA1 Message Date
nolash
cd477ff587 Merge remote-tracking branch 'origin/master' into lash/token-checksum-address-fix 2021-12-22 17:02:00 +00:00
b15cfee1c9 Merge branch 'sohail/pip-url-fix' into 'master'
fix: update default pip to new url

Closes #171

See merge request grassrootseconomics/cic-internal-integration!316
2021-12-10 14:55:50 +00:00
efb1967f46 fix: update default pip to new url 2021-12-10 14:55:50 +00:00
019824d1f4 Merge branch 'bvander/docs-updates' into 'master'
documentation: updated the docs with new links and getting started

See merge request grassrootseconomics/cic-internal-integration!314
2021-12-09 09:20:03 +00:00
d4c7fd3d7e documentation: updated the docs with new links and getting started 2021-12-09 09:20:03 +00:00
8a86428d4f docs: (fix) minor typo 2021-11-09 17:00:09 +03:00
nolash
8600e282b3 Remove incoming balance in network check 2021-11-08 10:56:11 +01:00
nolash
a42efb2529 Non-checksum address in erc20 tx_caches 2021-11-08 10:43:02 +01:00
6 changed files with 29 additions and 42 deletions

View File

@@ -1,41 +1,19 @@
# cic-internal-integration
# Community Inclusion Currency Stack (CIC Stack)
A custodial evm wallet for executing transactions via USSD
## Getting started
This repo uses docker-compose and docker buildkit. Set the following environment variables to get started:
```
export COMPOSE_DOCKER_CLI_BUILD=1
export DOCKER_BUILDKIT=1
```
start services, database, redis and local ethereum node
```
docker-compose up -d
```
To get started see [./apps/contract-migration/README.md](./apps/contract-migration/README.md)
Run app/contract-migration to deploy contracts
```
RUN_MASK=3 docker-compose up contract-migration
```
## Documentation
stop cluster
```
docker-compose down
```
[https://docs.grassecon.org/cic_stack/](https://docs.grassecon.org/cic_stack/)
stop cluster and delete data
```
docker-compose down -v --remove-orphans
```
rebuild an images
```
docker-compose up --build <service_name>
```
to delete the buildkit cache
```
docker builder prune --filter type=exec.cachemount
```

View File

@@ -515,7 +515,7 @@ class Api(ApiBase):
:param password: Password to encode the password with in the backend (careful, you will have to remember it)
:type password: str
:param register: Register the new account in accounts index backend
:type password: bool
:type register: bool
:returns: uuid of root task
:rtype: celery.Task
"""

View File

@@ -382,6 +382,8 @@ def cache_transfer_data(
sender_address = tx_normalize.wallet_address(tx['from'])
recipient_address = tx_normalize.wallet_address(tx_data[0])
token_value = tx_data[1]
source_token_address = tx_normalize.executable_address(tx['to'])
destination_token_address = source_token_address
session = SessionBase.create_session()
@@ -389,8 +391,8 @@ def cache_transfer_data(
'hash': tx_hash_hex,
'from': sender_address,
'to': recipient_address,
'source_token': tx['to'],
'destination_token': tx['to'],
'source_token': source_token_address,
'destination_token': destination_token_address,
'from_value': token_value,
'to_value': token_value,
}
@@ -422,14 +424,16 @@ def cache_transfer_from_data(
spender_address = tx_data[0]
recipient_address = tx_data[1]
token_value = tx_data[2]
source_token_address = tx_normalize.executable_address(tx['to'])
destination_token_address = source_token_address
session = SessionBase.create_session()
tx_dict = {
'hash': tx_hash_hex,
'from': tx['from'],
'to': recipient_address,
'source_token': tx['to'],
'destination_token': tx['to'],
'source_token': source_token_address,
'destination_token': destination_token_address,
'from_value': token_value,
'to_value': token_value,
}
@@ -461,14 +465,16 @@ def cache_approve_data(
sender_address = tx_normalize.wallet_address(tx['from'])
recipient_address = tx_normalize.wallet_address(tx_data[0])
token_value = tx_data[1]
source_token_address = tx_normalize.executable_address(tx['to'])
destination_token_address = source_token_address
session = SessionBase.create_session()
tx_dict = {
'hash': tx_hash_hex,
'from': sender_address,
'to': recipient_address,
'source_token': tx['to'],
'destination_token': tx['to'],
'source_token': source_token_address,
'destination_token': destination_token_address,
'from_value': token_value,
'to_value': token_value,
}

View File

@@ -72,7 +72,7 @@ def __balance_incoming_compatible(token_address, receiver_address):
status_compare = dead()
q = q.filter(Otx.status.op('&')(status_compare)==0)
# TODO: this can change the result for the recipient if tx is later obsoleted and resubmission is delayed.
q = q.filter(Otx.status.op('&')(StatusBits.IN_NETWORK)==StatusBits.IN_NETWORK)
#q = q.filter(Otx.status.op('&')(StatusBits.IN_NETWORK)==StatusBits.IN_NETWORK)
q = q.filter(TxCache.destination_token_address==token_address)
delta = 0
for r in q.all():

View File

@@ -27,6 +27,7 @@ In the current version of the scripts, two token types may be deployed; [`giftab
This step may be run multiple times, as long as the token symbol is different from all previously deployed tokens.
## 4. Initialize custodial engine.
Adds system accounts to the custodial engine, and unlocks the initialization seal. After this step, the custodial system is ready to use.
@@ -35,10 +36,12 @@ Adds system accounts to the custodial engine, and unlocks the initialization sea
## Services dependency graph
1. evm
2. bootstrap runlevel 1
3. bootstrap runlevel 2
4. bootstrap runlevel 3
2. bootstrap runlevel 1 - deploy global contracts (RUN_MASK=1 docker-compose up bootstrap)
3. bootstrap runlevel 2 - deploy instance contracts (RUN_MASK=2 docker-compose up bootstrap)
4. bootstrap runlevel 4 - deploy token (RUN_MASK=4 docker-compose up bootstrap)
5. redis
6. postgres
7. cic-eth-tasker
8. boostrap runlevel 4
7. cic-eth-tasker
8. boostrap runlevel 8 - deploy custodial contracts (RUN_MASK=8 docker-compose up bootstrap)
9. boostrap runlevel 16 - data seeding for development (RUN_MASK=16 docker-compose up bootstrap)
10. bring up the remainig services (docker-compose up -d)

View File

@@ -67,7 +67,7 @@ services:
RUN_MASK: ${RUN_MASK:-0}
TOKEN_NAME: $TOKEN_NAME
TOKEN_SYMBOL: $TOKEN_SYMBOL
TOKEN_TYPE: $TOKEN_TYPE
TOKEN_TYPE: ${TOKEN_TYPE:-giftable_erc20_token}
TOKEN_DECIMALS: $TOKEN_DECIMALS
TOKEN_REDISTRIBUTION_PERIOD: $TOKEN_REDISTRIBUTION_PERIOD
TOKEN_SUPPLY_LIMIT: $TOKEN_SUPPLY_LIMIT