1
0
Fork 0
mirror of https://github.com/ton-blockchain/ton synced 2025-03-09 15:40:10 +00:00
new database
fift/func bugfixes
This commit is contained in:
ton 2019-11-15 18:02:37 +04:00
parent 950e292264
commit e30d98eb30
110 changed files with 6102 additions and 2075 deletions

View file

@ -792,6 +792,26 @@ _ participant_list() method_id {
return l;
}
;; returns the list of all participants of current elections with their data
_ participant_list_extended() method_id {
var elect = get_data().begin_parse().preload_dict();
if (elect.null?()) {
return nil;
}
var (elect_at, elect_close, min_stake, total_stake, members, failed, finished) = elect.unpack_elect();
var l = nil;
var id = (1 << 255) + ((1 << 255) - 1);
do {
(id, var cs, var f) = members.udict_get_prev?(256, id);
if (f) {
var (stake, time, max_factor, addr, adnl_addr) = (cs~load_grams(), cs~load_uint(32), cs~load_uint(32), cs~load_uint(256), cs~load_uint(256));
cs.end_parse();
l = cons(pair(id, tuple4(stake, max_factor, addr, adnl_addr)), l);
}
} until (~ f);
return l;
}
;; computes the return stake
int compute_returned_stake(int wallet_addr) method_id {
var cs = get_data().begin_parse();

View file

@ -3,9 +3,10 @@
def? $1 { @' $1 } { "" } cond constant suffix
{ suffix $+ } : +suffix
256 1<<1- 15 / constant AllOnes
wc_master setworkchain
-17 setglobalid // negative value means a test instance of the blockchain
-239 setglobalid // negative value means a test instance of the blockchain
// Initial state of Workchain 0 (Basic workchain)
@ -54,10 +55,11 @@ Libs{
x{ABACABADABACABA} s>c public_lib
x{1234} x{5678} |_ s>c private_lib
}Libs // libraries
GR$1700000000 // balance
GR$4999990000 // balance
0 // split_depth
0 // ticktock
2 // mode: create
AllOnes 0 * // address
6 // mode: create+setaddr
register_smc
dup make_special dup constant smc1_addr
Masterchain over
@ -82,8 +84,8 @@ Masterchain over
// code
<b 0 32 u, b> // data
empty_cell // libraries
GR$1000000 // initial balance (1m test Grams)
0 0 2 register_smc
GR$1000 // initial balance (1k test Grams)
0 0 AllOnes 6 * 6 register_smc
dup make_special dup constant smc2_addr
Masterchain over
2dup ."free test gram giver address = " .addr cr 2dup 6 .Addr cr
@ -120,7 +122,7 @@ Libs{
x{ABACABADABACABA} s>c public_lib
x{1234} x{5678} |_ s>c public_lib
}Libs // libraries
0x333333333 // balance
GR$666 // balance
0 // split_depth
3 // ticktock: tick
2 // mode: create
@ -139,7 +141,8 @@ empty_cell // libraries
GR$10 // balance: 10 grams
0 // split_depth
2 // ticktock: tick
2 // mode: create
AllOnes 3 * // address: -1:333...333
6 // mode: create + setaddr
register_smc
dup make_special dup constant smc4_addr dup constant elector_addr
Masterchain swap
@ -155,14 +158,15 @@ Masterchain swap
0 capCreateStats config.version!
// max-validators max-main-validators min-validators
// 9 4 1 config.validator_num!
1000 100 5 config.validator_num!
1000 100 13 config.validator_num!
// min-stake max-stake min-total-stake max-factor
GR$10000 GR$10000000 GR$1000000 sg~10 config.validator_stake_limits!
// elected-for elect-start-before elect-end-before stakes-frozen-for
// 400000 200000 4000 400000 config.election_params!
4000 2000 500 1000 config.election_params! // DEBUG
// 4000 2000 500 1000 config.election_params! // DEBUG
65536 32768 8192 32768 config.election_params! // TestNet DEBUG
// config-addr = -1:5555...5555
256 1<<1- 3 / constant config_addr
AllOnes 5 * constant config_addr
config_addr config.config_smc!
// elector-addr
elector_addr config.elector_smc!
@ -232,8 +236,8 @@ Masterchain swap
*/
// pubkey amount `create-wallet1` or pubkey amount `create-wallet2`
PK'PuZPPXK5Rff9SvtoS7Y9lUuEixvy-J6aishYFj3Qn6P0pJMb GR$100000000 create-wallet1
PK'PuYiB1zAWzr4p8j6I681+sGUrRGcn6Ylf7vXl0xaUl/w6Xfg GR$1700000000 create-wallet0
PK'PuZPPXK5Rff9SvtoS7Y9lUuEixvy-J6aishYFj3Qn6P0pJMb GR$100 create-wallet1
PK'PuYiB1zAWzr4p8j6I681+sGUrRGcn6Ylf7vXl0xaUl/w6Xfg GR$170 create-wallet0
/*
*