From 5d846e0aaf232882f8baddc4517a0543a9c38389 Mon Sep 17 00:00:00 2001 From: ton Date: Wed, 11 Mar 2020 20:34:33 +0400 Subject: [PATCH] changed block layout --- crypto/block/block.tlb | 10 ++++++++++ crypto/smartcont/CreateState.fif | 6 ++++++ crypto/smartcont/config-code.fc | 8 +++++++- crypto/smartcont/gen-zerostate.fif | 6 ++++++ test/regression-tests.ans | 1 + tl/generate/scheme/ton_api.tl | 11 +++++++++++ tl/generate/scheme/ton_api.tlo | Bin 58332 -> 58764 bytes 7 files changed, 41 insertions(+), 1 deletion(-) diff --git a/crypto/block/block.tlb b/crypto/block/block.tlb index 13f7cdf8..62f0d5e4 100644 --- a/crypto/block/block.tlb +++ b/crypto/block/block.tlb @@ -574,6 +574,16 @@ _ GlobalVersion = ConfigParam 8; // all zero if absent _ mandatory_params:(Hashmap 32 True) = ConfigParam 9; _ 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_ext#0 min_addr_len:(## 12) max_addr_len:(## 12) addr_len_step:(## 12) { min_addr_len >= 64 } { min_addr_len <= max_addr_len } diff --git a/crypto/smartcont/CreateState.fif b/crypto/smartcont/CreateState.fif index 17fdc0ee..c369df56 100644 --- a/crypto/smartcont/CreateState.fif +++ b/crypto/smartcont/CreateState.fif @@ -97,6 +97,12 @@ variable special-dict { param-list-to-dict 9 config! } : config.mandatory_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 } : cfg-prop-setup +// normal-prop-params critical-prop-params -- +{ swap cfg-prop-setup swap cfg-prop-setup } : make-proposals-setup +{ make-proposals-setup 11 config! } : config.param_proposals_setup! + // bit-pps cell-pps mc-bit-pps mc-cell-pps -- { udict! 0= abort"cannot create storage prices dictionary" diff --git a/crypto/smartcont/config-code.fc b/crypto/smartcont/config-code.fc index 420c75b6..640c3244 100644 --- a/crypto/smartcont/config-code.fc +++ b/crypto/smartcont/config-code.fc @@ -37,7 +37,13 @@ () send_answer(addr, query_id, ans_tag, mode) impure { ;; 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 { diff --git a/crypto/smartcont/gen-zerostate.fif b/crypto/smartcont/gen-zerostate.fif index 6e3af216..ab800aaf 100644 --- a/crypto/smartcont/gen-zerostate.fif +++ b/crypto/smartcont/gen-zerostate.fif @@ -204,6 +204,12 @@ smc1_addr config.minter_smc! ( 9 10 18 20 21 22 23 24 25 28 34 ) config.mandatory_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 { dup Blen } { 32 B| swap dup ."Validator public key = " Bx. cr 17 add-validator } while drop diff --git a/test/regression-tests.ans b/test/regression-tests.ans index df3a934d..93fa16ae 100644 --- a/test/regression-tests.ans +++ b/test/regression-tests.ans @@ -38,6 +38,7 @@ Test_VM_infinity_loop_2_default 22d9bd8cb41ff7b6cced5825e4ab73275b2fc07b1e3cd458 Test_VM_memory_leak_default e10dc118f3538720a16bcbd39be9a68c3ea07f76b3d2ed5719a5e866d91f0ab3 Test_VM_memory_leak_new_default fd2eec0a1d5ae49fb5ff8ba4b938fd9d0fe330be4a07b2b8be12bab249b00d90 Test_VM_memory_leak_old_default f3076ae38d14000c021597b824d2f0e51de4f00601429ec3e23cca1b32dba844 +Test_VM_oom_1_default 90862ddf3270840fbc9263c003c628ddd4a8bf6548b9bd3d53eb35a5c34bc325 Test_VM_report3_1_default 7bc6a8e66f9a0e40cd131e9829ff36fed16b464170d27c0b365a3f549df57282 Test_VM_report3_2_default 2231bc352cf431e72a84abad2261969bd5b0ee3d9051bb7a53b69fd8ea05f951 Test_VM_report3_3_default 9416187eb0600ed247795837ca820bccaffb39841bd9d2ff625816bfbba35d6d diff --git a/tl/generate/scheme/ton_api.tl b/tl/generate/scheme/ton_api.tl index 8a567350..c8f2022b 100644 --- a/tl/generate/scheme/ton_api.tl +++ b/tl/generate/scheme/ton_api.tl @@ -97,6 +97,17 @@ adnl.packetContents rand2:bytes = 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.confirmChannel key:int256 peer_key:int256 date:int = adnl.Message; diff --git a/tl/generate/scheme/ton_api.tlo b/tl/generate/scheme/ton_api.tlo index 5674c96772d88974792b5376079147344eafba40..92da38545aa7ca4f46868516b456022223c1607c 100644 GIT binary patch delta 232 zcmca}oVn*TGw-9>`c@23uyZ4?Ka1QJi-|`i6I1eX^g>GW@=|jG5|gu2OPurbN>cMm ziYM=5mf9S{az>U>WwWM|xx6Mqc?lNf3=AOoo5zHFI3_=|_U2_zE6UG}&n#d9Svi@p zS4IFVP>^3#!oUC#RIE|v1harD7$<+U78m6zE=erOEH24RE{3Q9$}oXs1lbD`D|3O) Xf~jW)ib_nLYp2WtvUYQbW5*%@pD#zQ delta 41 scmeA<&3xxLGw-9>`c@23uwx^yKg;GREN5gHl{Y6Unagh$aIRSd01`6{#Q*>R