1
0
Fork 0
mirror of https://github.com/ton-blockchain/ton synced 2025-02-12 19:22:37 +00:00

changed block layout

This commit is contained in:
ton 2020-03-11 20:34:33 +04:00
parent 54c7a4dcc3
commit 5d846e0aaf
7 changed files with 41 additions and 1 deletions

View file

@ -574,6 +574,16 @@ _ GlobalVersion = ConfigParam 8; // all zero if absent
_ mandatory_params:(Hashmap 32 True) = ConfigParam 9; _ mandatory_params:(Hashmap 32 True) = ConfigParam 9;
_ critical_params:(Hashmap 32 True) = ConfigParam 10; _ critical_params:(Hashmap 32 True) = ConfigParam 10;
cfg_vote_cfg#36 min_tot_rounds:uint8 max_tot_rounds:uint8 min_wins:uint8 max_losses:uint8 min_store_sec:uint32 max_store_sec:uint32 bit_price:uint32 cell_price:uint32 = ConfigProposalSetup;
cfg_vote_setup#91 normal_params:^ConfigProposalSetup critical_params:^ConfigProposalSetup = ConfigVotingSetup;
_ ConfigVotingSetup = ConfigParam 11;
cfg_proposal#f3 param_id:int32 param_value:(Maybe ^Cell) if_hash_equal:(Maybe uint256)
= ConfigProposal;
cfg_proposal_status#ce expires:uint32 proposal:^ConfigProposal is_critical:Bool
voters:(HashmapE 16 True) remaining_weight:int64 validator_set_id:uint256
rounds_remaining:uint8 wins:uint8 losses:uint8 = ConfigProposalStatus;
wfmt_basic#1 vm_version:int32 vm_mode:uint64 = WorkchainFormat 1; wfmt_basic#1 vm_version:int32 vm_mode:uint64 = WorkchainFormat 1;
wfmt_ext#0 min_addr_len:(## 12) max_addr_len:(## 12) addr_len_step:(## 12) wfmt_ext#0 min_addr_len:(## 12) max_addr_len:(## 12) addr_len_step:(## 12)
{ min_addr_len >= 64 } { min_addr_len <= max_addr_len } { min_addr_len >= 64 } { min_addr_len <= max_addr_len }

View file

@ -97,6 +97,12 @@ variable special-dict
{ param-list-to-dict 9 config! } : config.mandatory_params! { param-list-to-dict 9 config! } : config.mandatory_params!
{ param-list-to-dict 10 config! } : config.critical_params! { param-list-to-dict 10 config! } : config.critical_params!
// min_tot_rounds max_tot_rounds min_wins max_losses min_store_sec max_store_sec bit_price cell_price --
{ 8 untuple 8 0 reverse <b x{36} s, { swap 8 u, } 4 times { swap 32 u, } 4 times b> } : cfg-prop-setup
// normal-prop-params critical-prop-params --
{ swap cfg-prop-setup swap cfg-prop-setup <b x{91} s, rot ref, swap ref, b> } : make-proposals-setup
{ make-proposals-setup 11 config! } : config.param_proposals_setup!
// bit-pps cell-pps mc-bit-pps mc-cell-pps -- // bit-pps cell-pps mc-bit-pps mc-cell-pps --
{ <b x{cc} s, 0 32 u, 4 roll 64 u, 3 roll 64 u, rot 64 u, swap 64 u, { <b x{cc} s, 0 32 u, 4 roll 64 u, 3 roll 64 u, rot 64 u, swap 64 u,
0 dictnew 32 b>udict! 0= abort"cannot create storage prices dictionary" 0 dictnew 32 b>udict! 0= abort"cannot create storage prices dictionary"

View file

@ -37,7 +37,13 @@
() send_answer(addr, query_id, ans_tag, mode) impure { () send_answer(addr, query_id, ans_tag, mode) impure {
;; int_msg_info$0 ihr_disabled:Bool bounce:Bool bounced:Bool src:MsgAddress -> 011000 ;; int_msg_info$0 ihr_disabled:Bool bounce:Bool bounced:Bool src:MsgAddress -> 011000
send_raw_message(begin_cell().store_uint(0x18, 6).store_slice(addr).store_uint(0, 5 + 4 + 4 + 64 + 32 + 1 + 1).store_uint(ans_tag, 32).store_uint(query_id, 64).end_cell(), mode); send_raw_message(begin_cell()
.store_uint(0x18, 6)
.store_slice(addr)
.store_uint(0, 5 + 4 + 4 + 64 + 32 + 1 + 1)
.store_uint(ans_tag, 32)
.store_uint(query_id, 64)
.end_cell(), mode);
} }
() send_confirmation(addr, query_id, ans_tag) impure { () send_confirmation(addr, query_id, ans_tag) impure {

View file

@ -204,6 +204,12 @@ smc1_addr config.minter_smc!
( 9 10 18 20 21 22 23 24 25 28 34 ) config.mandatory_params! ( 9 10 18 20 21 22 23 24 25 28 34 ) config.mandatory_params!
( -1000 -1001 9 10 32 34 36 ) config.critical_params! ( -1000 -1001 9 10 32 34 36 ) config.critical_params!
// [ min_tot_rounds max_tot_rounds min_wins max_losses min_store_sec max_store_sec bit_price cell_price ]
// first for ordinary proposals, then for critical proposals
_( 2 3 2 2 1000000 10000000 GR$.001 GR$.2 )
_( 4 7 4 2 5000000 20000000 GR$.002 GR$.8 )
config.param_proposals_setup!
"validator-keys" +suffix +".pub" file>B "validator-keys" +suffix +".pub" file>B
{ dup Blen } { 32 B| swap dup ."Validator public key = " Bx. cr { dup Blen } { 32 B| swap dup ."Validator public key = " Bx. cr
17 add-validator } while drop 17 add-validator } while drop

View file

@ -38,6 +38,7 @@ Test_VM_infinity_loop_2_default 22d9bd8cb41ff7b6cced5825e4ab73275b2fc07b1e3cd458
Test_VM_memory_leak_default e10dc118f3538720a16bcbd39be9a68c3ea07f76b3d2ed5719a5e866d91f0ab3 Test_VM_memory_leak_default e10dc118f3538720a16bcbd39be9a68c3ea07f76b3d2ed5719a5e866d91f0ab3
Test_VM_memory_leak_new_default fd2eec0a1d5ae49fb5ff8ba4b938fd9d0fe330be4a07b2b8be12bab249b00d90 Test_VM_memory_leak_new_default fd2eec0a1d5ae49fb5ff8ba4b938fd9d0fe330be4a07b2b8be12bab249b00d90
Test_VM_memory_leak_old_default f3076ae38d14000c021597b824d2f0e51de4f00601429ec3e23cca1b32dba844 Test_VM_memory_leak_old_default f3076ae38d14000c021597b824d2f0e51de4f00601429ec3e23cca1b32dba844
Test_VM_oom_1_default 90862ddf3270840fbc9263c003c628ddd4a8bf6548b9bd3d53eb35a5c34bc325
Test_VM_report3_1_default 7bc6a8e66f9a0e40cd131e9829ff36fed16b464170d27c0b365a3f549df57282 Test_VM_report3_1_default 7bc6a8e66f9a0e40cd131e9829ff36fed16b464170d27c0b365a3f549df57282
Test_VM_report3_2_default 2231bc352cf431e72a84abad2261969bd5b0ee3d9051bb7a53b69fd8ea05f951 Test_VM_report3_2_default 2231bc352cf431e72a84abad2261969bd5b0ee3d9051bb7a53b69fd8ea05f951
Test_VM_report3_3_default 9416187eb0600ed247795837ca820bccaffb39841bd9d2ff625816bfbba35d6d Test_VM_report3_3_default 9416187eb0600ed247795837ca820bccaffb39841bd9d2ff625816bfbba35d6d

View file

@ -97,6 +97,17 @@ adnl.packetContents
rand2:bytes rand2:bytes
= adnl.PacketContents; = adnl.PacketContents;
adnl.tunnelPacketContents
rand1:bytes
flags:#
from_ip:flags.0?int
from_port:flags.0?int
message:flags.1?bytes
statistics:flags.2?bytes
payment:flags.3?bytes
rand2:bytes
= adnl.TunnelPacketContents;
adnl.message.createChannel key:int256 date:int = adnl.Message; adnl.message.createChannel key:int256 date:int = adnl.Message;
adnl.message.confirmChannel key:int256 peer_key:int256 date:int = adnl.Message; adnl.message.confirmChannel key:int256 peer_key:int256 date:int = adnl.Message;

Binary file not shown.