Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Public Activity criteria #27

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 44 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Delegation strategy for cyber~congress

<p>
<a href="https://t.me/fameofcyber"><img alt="Python" src="https://img.shields.io/badge/telegram-fameofcyber-2CA5E0" href="fff"></a>
<img alt="Python" src="https://img.shields.io/badge/python-3.9%20%7C%203.10%20%7C%203.11-blue">
</p>

The toolkit provides a delegation strategy for `bostrom` heroes from cyber~congress multisig.

The aim is to build a strong hero set by endorsing their stake with cyber\~congress power. According to cyber\~congress values, decentralization, confidence, reliability, and superintelligence will be encouraged. Also, additional delegations from cyber~congress will help cover maintainance of validators running costs.
Expand All @@ -13,17 +18,18 @@ The result of the tool execution is a pivot table with all calculations in detai
The allocation of the delegation strategy program is 135 TBOOT.

```python
ALLOCATION = 135_000_000_000_000
ALLOCATION = 137_420_000_000_000
```

The criteria shares are:

```python
COST_OPTIMIZATION = 0.30
COST_OPTIMIZATION = 0.20
DECENTRALIZATION = 0.20
CONFIDENCE = 0.20
RELIABILITY = 0.15
SUPERINTELLIGENCE = 0.15
PUBLIC_ACTIVITY = 0.10
```

```python
Expand Down Expand Up @@ -149,6 +155,34 @@ def get_reliability_endorsement(reliability, reliability_sum):
return int((reliability / reliability_sum) * ALLOCATION * RELIABILITY)
```

## Public Activity
This criterion shows the public activity in the cybergraph.
[The moon passport](https://cyb.ai/citizenship) is the base namespace in Bostrom network and cybergraph.

Here the public activity will be defined:
- possession of a moon passport
- posting logs for a last month `(in future epoches)`
- sending messages in sence for a last month `(in future epoches)`

```python
def get_passport(address: str) -> Optional[str]:
if address[:14] == 'bostromvaloper':
address = str(Address(bytes(Address(address, prefix='bostromvaloper')), prefix='bostrom'))
try:
return query_contract(contract_address=PASSPORT_CONTRACT,
query={"active_passport": {"address": address}},
node_lcd_url=LCD_API)['data']['extension']['nickname']
except KeyError:
return None
```

The distribution is:

```python
def get_public_activity_endorsement(exist_passport: bool, validators_with_passports_cnt: int) -> int:
return int(exist_passport / validators_with_passports_cnt * ALLOCATION * PUBLIC_ACTIVITY)
```

## Black list

In that list heroes who are quitting will be placed.
Expand Down Expand Up @@ -191,9 +225,10 @@ The result of the script execution is .csv file with pivot table

## Example calculations

[Here](./delegation_strategy.csv) is the result of script execution for 2022-05-17.
[Here](./delegation_strategy.csv) is the result of script execution for the last epoch.

## Signing transactions with the multisig
## Signing transactions
### with the multisig
You can learn how multisig works by CLI in the [guide](https://github.com/cybercongress/go-cyber/blob/main/docs/multisig_guide.md),
below are examples regarding transactions of this repository.

Expand All @@ -207,6 +242,9 @@ cyber tx multisign txs/unsigned_0.json $MULTISIG_NAME txs/signed_0_1.json txs/si
```
3. Broadcast transaction
```bash
cyber tx broadcast txs/signed_combined_0.json --chain-id=bostrom --node https://rpc.bostrom.cybernode.ai:443 --broadcast-mode block
cyber tx broadcast txs/signed_combined_0.json --chain-id=bostrom --node https://rpc.bostrom.cybernode.ai:443
```
### with authz
```bash
cyber tx authz exec txs/unsigned_0.json --from=$FROM_NAME --note='cyber~congress delegation strategy program https://github.com/cybercongress/delegation-toolkit' --chain-id=bostrom --gas=10000000 --node https://rpc.bostrom.cybernode.ai:443
```

6 changes: 4 additions & 2 deletions config.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
from cyber_sdk.client.lcd import LCDClient

LCD_API = 'https://lcd.bostrom.cybernode.ai'
LCD_CLIENT = LCDClient("https://lcd.bostrom.cybernode.ai/")
LCD_CLIENT = LCDClient(LCD_API)
PASSPORT_CONTRACT = 'bostrom1xut80d09q0tgtch8p0z4k5f88d3uvt8cvtzm5h3tu3tsy4jk9xlsfzhxel'

VALIDATOR_SET = 92
REDELEGATION_NUMBER = 32
Expand All @@ -17,11 +18,12 @@
# stake coins to heroes when allocation increased
NEW_STAKE_HERO_DICT = {}

COST_OPTIMIZATION = 0.30
COST_OPTIMIZATION = 0.20
DECENTRALIZATION = 0.20
CONFIDENCE = 0.20
RELIABILITY = 0.15
SUPERINTELLIGENCE = 0.15
PUBLIC_ACTIVITY = 0.10

DELEGATOR_ADDRESS = 'bostrom1xszmhkfjs3s00z2nvtn7evqxw3dtus6yr8e4pw'
MEMO = 'cyber~congress delegation strategy program https://github.com/cybercongress/delegation-toolkit'
Expand Down
171 changes: 85 additions & 86 deletions delegation_strategy.csv

Large diffs are not rendered by default.

64 changes: 32 additions & 32 deletions rebalanced_table.csv
Original file line number Diff line number Diff line change
@@ -1,33 +1,33 @@
,source_validator,dist_validator,amount
0,bostromvaloper1w2us3tw6qnas0gqmwgam3ntnkuz6ntlcw0wu5u,bostromvaloper1gg9puxcuhld9gx5whfqmx2ja8jpncxyvmqx6er,4124237339255
1,bostromvaloper1w2us3tw6qnas0gqmwgam3ntnkuz6ntlcw0wu5u,bostromvaloper1ncrjqhku23mrtn0h26rnulem73dyar8uudhkjv,3973449811605
2,bostromvaloper13er6djw40xer2syx4qfw3fcl9fantzs39955ck,bostromvaloper16dxlmcgt6pxelamdex6ak2uc0cdvk0naxpeeqm,1309711734643
3,bostromvaloper1fty3ql39e7m4gy98z0jv68vdst0wksy9fstexl,bostromvaloper1uvkv59tsqqugezwq2gn2pytz8uzk2uy4h8wz6x,1271123650279
4,bostromvaloper1ev450tv6yy8vcn6gw8fngcavw48sjntfq6fqlx,bostromvaloper16dxlmcgt6pxelamdex6ak2uc0cdvk0naxpeeqm,1252063295685
5,bostromvaloper10qmxjnffkup7ghyrxnf994gvja8wsdf6cnkr2k,bostromvaloper1pdswexj0dx6ngme56pkvaj990skendzlk0emef,1234143041202
6,bostromvaloper1ahqvg92jdt09dkfwwct0frg0dh2euafktp88qx,bostromvaloper1wl2vmcj57kxkj4pa8dfr7wnw5tzyrumug67e4m,1228579542155
7,bostromvaloper1m0tjgkrh4td9fcp8nnssu3rfdahzfgds026q0x,bostromvaloper1ujrn59pqp6sdghp3ag5rfgxjvt69yg60vg20jy,1185631863027
8,bostromvaloper1mzzy2a5vjv0yrvttzf9uh0geq40z3yg9eqd7gx,bostromvaloper1ydhwaq09dmvp2g6f33tpph5lddq4xwg8cv9pw8,1023088070332
9,bostromvaloper1w2us3tw6qnas0gqmwgam3ntnkuz6ntlcw0wu5u,bostromvaloper1uvkv59tsqqugezwq2gn2pytz8uzk2uy4h8wz6x,970851316304
10,bostromvaloper1s4kvy3hecnj93jf4yx23ymfryyarenat4yh96t,bostromvaloper1yv0stv3nfgjpwvc79x85y9lmztqtqqv3e2f34v,872373905124
11,bostromvaloper1ngymhfhty76w8r6e8dlyvj68g5zfm09q2p7dmn,bostromvaloper1gwzgfe9uaarhswswhgwm6kxhvlak4nwzwadepr,448263282277
12,bostromvaloper1h8s9dvfv7594hj3mx5lr3pv23ylueptq5rfklh,bostromvaloper1543scm94u4k3kxrkpk9cqr098z3na4flr6eugh,436356552165
13,bostromvaloper1mln0yvsm653nwyw3qaedhf2s38tagy5g60jkgh,bostromvaloper1c4hg4hhewynsj999960z9uz39dyp0lkrad9g8x,395608594574
14,bostromvaloper135ca8hdpy9sk0ntwqzpzsvatyl48ptx52tn60p,bostromvaloper19fy9tdjve7fru77fnaf9c77edzt9exwlnl2pet,393466935051
15,bostromvaloper1j0m3zcg82e6t689a3qnnwl83m49x5q6yfyf03h,bostromvaloper1nl9kqej48n7je0dwnaxr2778ardxcpp3r29p7t,391724892145
16,bostromvaloper156ag46x9k07pjcxsqkgxfp7ttxgw8nyvhtvjgy,bostromvaloper1ezpth4mp3eeqdt49kgqd5ctr69xev6v2s737vq,366886779215
17,bostromvaloper1vx9qctuxswd6ydcv4z5pcuuvct7y9l0nc6e649,bostromvaloper1nmr4flrrzrka3lanfwxklunsapr92fqqvewuaj,363260015439
18,bostromvaloper1lpa2af6hazp5qute3l8zw082rn0rpahvr0tury,bostromvaloper1hnaez3a3u24w05gm79m8498a868vaf5q9sem4y,361020222284
19,bostromvaloper1g2cm236funqjgf9qf5cgcgznt8p3r44lqalru0,bostromvaloper1c4hg4hhewynsj999960z9uz39dyp0lkrad9g8x,358355658180
20,bostromvaloper1s6v5ragv9gg3sq7j3aeqtyy82uaxv3y0vd9g8y,bostromvaloper19fy9tdjve7fru77fnaf9c77edzt9exwlnl2pet,342541919766
21,bostromvaloper1369tzcr8a79h3ryd9kl0kneurwssmmsq7ur6gf,bostromvaloper1ezpth4mp3eeqdt49kgqd5ctr69xev6v2s737vq,337792841965
22,bostromvaloper1dt9lwmuq8rkngm5gajxchqhpcnavgp7m4lt66x,bostromvaloper1nl9kqej48n7je0dwnaxr2778ardxcpp3r29p7t,334373194715
23,bostromvaloper1n76f7tuq0kxf2ufjevlguqfc4xn4vfykflmhnn,bostromvaloper1543scm94u4k3kxrkpk9cqr098z3na4flr6eugh,333447994942
24,bostromvaloper19ys53t55r725j882gjcrnf7s449gdrdsfddgvk,bostromvaloper1nmr4flrrzrka3lanfwxklunsapr92fqqvewuaj,319852102268
25,bostromvaloper14qjhp4y2ps0y9x06d2xhctgdem8m967avas4pe,bostromvaloper1gwzgfe9uaarhswswhgwm6kxhvlak4nwzwadepr,303562461567
26,bostromvaloper12nlsf4477v02hzlt57fldvshnke738usv6kxvd,bostromvaloper1hnaez3a3u24w05gm79m8498a868vaf5q9sem4y,299631969357
27,bostromvaloper1fvh29xlzzatu390p3lpe7uhdsl7dpffct9pjqr,bostromvaloper16dxlmcgt6pxelamdex6ak2uc0cdvk0naxpeeqm,280071697753
28,bostromvaloper1n89a8avc4j7cv75lfsyynx5kazlk80arv6ljke,bostromvaloper1gwzgfe9uaarhswswhgwm6kxhvlak4nwzwadepr,275037761393
29,bostromvaloper1jgf04cqt3jns5scpmtstux56r0x6tckhs0s0xh,bostromvaloper1ezpth4mp3eeqdt49kgqd5ctr69xev6v2s737vq,273415667544
30,bostromvaloper10jmsqhf7mwquv0wa08hegxqaasvue5tnpghpd0,bostromvaloper1nl9kqej48n7je0dwnaxr2778ardxcpp3r29p7t,250958017125
31,bostromvaloper1r798qg4dk8ffwaexz996e0anaz4x7yvqcuyel4,bostromvaloper19fy9tdjve7fru77fnaf9c77edzt9exwlnl2pet,250662082451
0,bostromvaloper1ncrjqhku23mrtn0h26rnulem73dyar8uudhkjv,bostromvaloper1l27xjxw7nzf7r2a7cxz0mh0mzv5p8jj5ylg5sf,1920090457425
1,bostromvaloper1r798qg4dk8ffwaexz996e0anaz4x7yvqcuyel4,bostromvaloper1zy553za8nenzukmv65240323jhuvxzymdmc97x,1839812241236
2,bostromvaloper1s6v5ragv9gg3sq7j3aeqtyy82uaxv3y0vd9g8y,bostromvaloper1qf4jagxdqggfzs4x2gfkqelgwvkq3h5hls0c6z,1751586291089
3,bostromvaloper1kaaxhzud2ev7v69kwkf8vuvhst9a36wzv9j49r,bostromvaloper1s98k352m8m938kl057a3pxz9cxwr7n4ztjfw36,1646367424316
4,bostromvaloper1uvkv59tsqqugezwq2gn2pytz8uzk2uy4h8wz6x,bostromvaloper152mfglllt6ntxwrasjesyuez3v9aypahd3z84g,1616268962983
5,bostromvaloper1dxpm2ne0jflzr2hy9j5has6u2dvfv68c99mvs8,bostromvaloper1l27xjxw7nzf7r2a7cxz0mh0mzv5p8jj5ylg5sf,1476037051387
6,bostromvaloper1gg9puxcuhld9gx5whfqmx2ja8jpncxyvmqx6er,bostromvaloper13er6djw40xer2syx4qfw3fcl9fantzs39955ck,1411445707916
7,bostromvaloper1jgf04cqt3jns5scpmtstux56r0x6tckhs0s0xh,bostromvaloper1ahqvg92jdt09dkfwwct0frg0dh2euafktp88qx,1405175247744
8,bostromvaloper1w2us3tw6qnas0gqmwgam3ntnkuz6ntlcw0wu5u,bostromvaloper10qmxjnffkup7ghyrxnf994gvja8wsdf6cnkr2k,1339002892522
9,bostromvaloper1vx9qctuxswd6ydcv4z5pcuuvct7y9l0nc6e649,bostromvaloper1fty3ql39e7m4gy98z0jv68vdst0wksy9fstexl,1086655417950
10,bostromvaloper1n76f7tuq0kxf2ufjevlguqfc4xn4vfykflmhnn,bostromvaloper1c4hg4hhewynsj999960z9uz39dyp0lkrad9g8x,942272446479
11,bostromvaloper14qjhp4y2ps0y9x06d2xhctgdem8m967avas4pe,bostromvaloper1543scm94u4k3kxrkpk9cqr098z3na4flr6eugh,732228804701
12,bostromvaloper1h8s9dvfv7594hj3mx5lr3pv23ylueptq5rfklh,bostromvaloper1hnaez3a3u24w05gm79m8498a868vaf5q9sem4y,601102400678
13,bostromvaloper16dxlmcgt6pxelamdex6ak2uc0cdvk0naxpeeqm,bostromvaloper1yv0stv3nfgjpwvc79x85y9lmztqtqqv3e2f34v,598524948057
14,bostromvaloper1mzzy2a5vjv0yrvttzf9uh0geq40z3yg9eqd7gx,bostromvaloper1gwzgfe9uaarhswswhgwm6kxhvlak4nwzwadepr,489536023949
15,bostromvaloper1r28nhrkwcvqs4qss2l7zqdvc2qfdl8arglv6nn,bostromvaloper19fy9tdjve7fru77fnaf9c77edzt9exwlnl2pet,469026961915
16,bostromvaloper1h8s9dvfv7594hj3mx5lr3pv23ylueptq5rfklh,bostromvaloper1ezpth4mp3eeqdt49kgqd5ctr69xev6v2s737vq,422419109871
17,bostromvaloper16dxlmcgt6pxelamdex6ak2uc0cdvk0naxpeeqm,bostromvaloper1nl9kqej48n7je0dwnaxr2778ardxcpp3r29p7t,407517459941
18,bostromvaloper1qej26grgx7zwan0ll0s5xph6xfpsq8xl32w5xk,bostromvaloper1ydhwaq09dmvp2g6f33tpph5lddq4xwg8cv9pw8,404298657833
19,bostromvaloper135ca8hdpy9sk0ntwqzpzsvatyl48ptx52tn60p,bostromvaloper156ag46x9k07pjcxsqkgxfp7ttxgw8nyvhtvjgy,353739251400
20,bostromvaloper1prka3rnlwvsu9ejpjxd3m0hadmgylz3ka7zfh3,bostromvaloper1g2cm236funqjgf9qf5cgcgznt8p3r44lqalru0,350417928618
21,bostromvaloper1nkh6h5cevm3xnky4elvkr7zd5gdzhlc9jvzm34,bostromvaloper19ys53t55r725j882gjcrnf7s449gdrdsfddgvk,337419425985
22,bostromvaloper14qjhp4y2ps0y9x06d2xhctgdem8m967avas4pe,bostromvaloper1wm4026rxqcrkh09k806m6y4lys942etxvz4a4p,288730533337
23,bostromvaloper1argjwgcplguenq4l92ggn06wadnfrz0eq6yysn,bostromvaloper12nlsf4477v02hzlt57fldvshnke738usv6kxvd,269633913907
24,bostromvaloper1n3mhyp9fvcmuu8l0q8qvjy07x0rql8q4y57nyp,bostromvaloper1ngymhfhty76w8r6e8dlyvj68g5zfm09q2p7dmn,268471462553
25,bostromvaloper1264dvwuhyt8qk4074pge9ufg28plflrrrrds2e,bostromvaloper1s4kvy3hecnj93jf4yx23ymfryyarenat4yh96t,262841289278
26,bostromvaloper1dzr5h7l9pjsqu9uwrjgrvelk08y7kzk0zrjwl0,bostromvaloper1nmr4flrrzrka3lanfwxklunsapr92fqqvewuaj,232348893554
27,bostromvaloper1ydc5fy9fjdygvgw36u49yj39fr67pd9m5qexm8,bostromvaloper1fvh29xlzzatu390p3lpe7uhdsl7dpffct9pjqr,197489740142
28,bostromvaloper1qu64qjal6aj8tre8cgn8zlnps9vhnt53wwpv8l,bostromvaloper15n3t80p7eseld809f7fu3s9tlcezlymk3rmt4s,184927383406
29,bostromvaloper14apeaupv2kt6d07sflggpk9jt6zmuldqh5hjgv,bostromvaloper1369tzcr8a79h3ryd9kl0kneurwssmmsq7ur6gf,173134337015
30,bostromvaloper1mzzy2a5vjv0yrvttzf9uh0geq40z3yg9eqd7gx,bostromvaloper1zy553za8nenzukmv65240323jhuvxzymdmc97x,173017156845
31,bostromvaloper1hqjl8luqfwmndsqf8esjeptd8st5ge2e0c8s9z,bostromvaloper10qmxjnffkup7ghyrxnf994gvja8wsdf6cnkr2k,166879246939
Loading