Skip to content

Commit d650459

Browse files
committed
fix: gas check
Signed-off-by: 0kenx <[email protected]>
1 parent 90b3eed commit d650459

19 files changed

+180
-142
lines changed

sources/jetton.tact

+1
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,7 @@ contract JettonDefaultWallet {
205205
}
206206

207207
receive(msg: ProvideWalletAddress) {
208+
require(context().value >= ton("0.0061"), "Insufficient gas");
208209
let init: StateInit = initOf JettonDefaultWallet(self.master, msg.owner_address);
209210
let wallet_address: Address = contractAddress(init);
210211

sources/output/SampleJetton_JettonDefaultWallet.abi

+1-1
Large diffs are not rendered by default.
Binary file not shown.

sources/output/SampleJetton_JettonDefaultWallet.code.fc

+2-1
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@
9090
(((int, slice, slice)), ()) $JettonDefaultWallet$_internal_binary_ProvideWalletAddress((int, slice, slice) $self, (int, slice, int) $msg) impure inline {
9191
var ($self'balance, $self'owner, $self'master) = $self;
9292
var ($msg'query_id, $msg'owner_address, $msg'include_address) = $msg;
93+
throw_unless(23951, ($Context$_get_value(__tact_context_get()) >= 6100000));
9394
var ($init'code, $init'data) = $JettonDefaultWallet$_init_child(__tact_context_sys, $self'master, $msg'owner_address);
9495
slice $wallet_address = $global_contractAddress(($init'code, $init'data));
9596
var ($response_body'query_id, $response_body'wallet_address, $response_body'owner_address) = $TakeWalletAddress$_constructor_query_id_wallet_address_owner_address($msg'query_id, $wallet_address, null());
@@ -142,7 +143,7 @@ _ supported_interfaces() method_id {
142143
}
143144

144145
_ get_abi_ipfs() method_id {
145-
return "ipfs://Qmejr4D6DiDvTWCsTSbi9K5BYgiz3X9HCeomZxefxdniGt";
146+
return "ipfs://QmadWUeijFYD81gyUTzk1jtiKnSUQFUeWq4dktF8piLnAk";
146147
}
147148

148149
_ lazy_deployment_completed() method_id {

sources/output/SampleJetton_JettonDefaultWallet.code.fif

+12-1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ PROGRAM{
3232
DECLPROC $JettonDefaultWallet$_store
3333
DECLPROC $JettonDefaultWallet$_load
3434
DECLPROC $StateInit$_get_code
35+
DECLPROC $Context$_get_value
3536
DECLPROC $JettonWalletData$_to_external
3637
DECLPROC $JettonDefaultWallet$init$_store
3738
DECLPROC $JettonDefaultWallet$init$_load
@@ -380,6 +381,10 @@ PROGRAM{
380381
$StateInit$_get_code PROCINLINE:<{
381382
DROP
382383
}>
384+
$Context$_get_value PROCINLINE:<{
385+
s1 s3 XCHG
386+
3 BLKDROP
387+
}>
383388
$JettonWalletData$_to_external PROCINLINE:<{
384389
}>
385390
$JettonDefaultWallet$init$_store PROCINLINE:<{
@@ -793,6 +798,12 @@ PROGRAM{
793798
$global_send INLINECALLDICT
794799
}>
795800
$JettonDefaultWallet$_internal_binary_ProvideWalletAddress PROCINLINE:<{
801+
23951 PUSHINT
802+
__tact_context_get INLINECALLDICT
803+
$Context$_get_value INLINECALLDICT
804+
6100000 PUSHINT
805+
GEQ
806+
THROWANYIFNOT
796807
__tact_context_sys GETGLOB
797808
s4 s2 PUSH2
798809
$JettonDefaultWallet$_init_child INLINECALLDICT
@@ -850,7 +861,7 @@ PROGRAM{
850861
209778528950190195973528115415557644819 PUSHINT
851862
}>
852863
get_abi_ipfs PROC:<{
853-
x{697066733a2f2f516d656a72344436446944765457437354536269394b35425967697a3358394843656f6d5a78656678646e694774} PUSHSLICE
864+
x{697066733a2f2f516d6164575565696a4659443831677955547a6b316a74694b6e535551465565577134646b74463870694c6e416b} PUSHSLICE
854865
}>
855866
lazy_deployment_completed PROC:<{
856867
c4 PUSH

sources/output/SampleJetton_JettonDefaultWallet.code.rev.fif

+136-128
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ PROGRAM{
88
DECLPROC ?fun_ref_171235c853357b3e;
99
DECLPROC ?fun_ref_2accad73d60fa883;
1010
DECLPROC ?fun_ref_5007013235aab4c2;
11+
DECLPROC ?fun_ref_55dff5e1e1156666;
1112
DECLPROC ?fun_ref_5655dcbe434c85c8;
12-
DECLPROC ?fun_ref_615719b38271199f;
1313
DECLPROC ?fun_ref_688678bd121165d5;
1414
DECLPROC ?fun_ref_b8d6a373d037f795;
1515
DECLPROC ?fun_ref_b93b9862cda1783c;
1616
DECLPROC ?fun_ref_c08232f4fb018bf8;
1717
DECLPROC ?fun_ref_ca0572fa453e829f;
1818
DECLPROC ?fun_ref_d21437797e815e3e;
19-
DECLPROC ?fun_ref_d7ef0cc13d133bac;
19+
DECLPROC ?fun_ref_e3ab8ad6f7411b02;
2020
DECLPROC ?fun_ref_e909b9b42570c1ee;
2121
DECLPROC ?fun_ref_f691f67aa2f847fe;
2222
recv_internal PROC:<{
@@ -52,7 +52,7 @@ PROGRAM{
5252
2 SETGLOBVAR
5353
?fun_ref_2accad73d60fa883 INLINECALLDICT
5454
2 3 BLKSWAP
55-
?fun_ref_d7ef0cc13d133bac INLINECALLDICT
55+
?fun_ref_e3ab8ad6f7411b02 INLINECALLDICT
5656
130 THROWIFNOT
5757
NEWC
5858
3 GETGLOBVAR
@@ -125,7 +125,7 @@ PROGRAM{
125125
s0 s1 XCHG
126126
}>
127127
get_abi_ipfs PROC:<{
128-
x{697066733A2F2F516D656A72344436446944765457437354536269394B35425967697A3358394843656F6D5A78656678646E69477482_} PUSHSLICE
128+
x{697066733A2F2F516D6164575565696A4659443831677955547A6B316A74694B6E535551465565577134646B74463870694C6E416B82_} PUSHSLICE
129129
}>
130130
?fun_ref_171235c853357b3e PROCREF:<{
131131
32 LDU
@@ -282,6 +282,136 @@ PROGRAM{
282282
0 PUSHINT
283283
s0 s2 XCHG
284284
}>
285+
?fun_ref_55dff5e1e1156666 PROCREF:<{
286+
23951 PUSHINT
287+
1 GETGLOBVAR
288+
4 UNTUPLE
289+
s1 s3 XCHG
290+
3 BLKDROP
291+
6100000 PUSHINT
292+
GEQ
293+
THROWANYIFNOT
294+
3 GETGLOBVAR
295+
s4 s2 PUSH2
296+
?fun_ref_b8d6a373d037f795 INLINECALLDICT
297+
0 PUSHINT
298+
ROTREV
299+
NEWC
300+
0 PUSHINT
301+
s0 s1 XCHG
302+
2 STU
303+
3 PUSHINT
304+
s0 s1 XCHG
305+
2 STU
306+
0 PUSHINT
307+
s0 s1 XCHG
308+
1 STU
309+
s1 s2 XCHG
310+
STREF
311+
STREF
312+
ENDC
313+
HASHCU
314+
NEWC
315+
2 PUSHINT
316+
s0 s1 XCHG
317+
2 STU
318+
0 PUSHINT
319+
s0 s1 XCHG
320+
1 STU
321+
s1 s2 XCHG
322+
8 STI
323+
256 STU
324+
ENDC
325+
CTOS
326+
s0 PUSH
327+
SBITS
328+
267 PUSHINT
329+
EQUAL
330+
136 THROWIFNOT
331+
s0 PUSH
332+
11 PLDU
333+
s0 PUSH
334+
1279 PUSHINT
335+
EQUAL
336+
137 THROWIF
337+
10 PUSHPOW2
338+
EQUAL
339+
136 THROWIFNOT
340+
s1 s3 XCHG
341+
NULL
342+
s0 s4 XCHG
343+
<{
344+
s3 POP
345+
s1 s2 XCHG
346+
}> PUSHCONT
347+
<{
348+
s2 POP
349+
}> PUSHCONT
350+
IFELSE
351+
2 GETGLOBVAR
352+
0 PUSHINT
353+
64 PUSHINT
354+
s3 s4 XCHG2
355+
-1 PUSHINT
356+
s0 s6 XCHG
357+
NEWC
358+
3 1 BLKSWAP
359+
3513996288 PUSHINT
360+
s0 s4 XCHG2
361+
32 STU
362+
s1 s2 XCHG
363+
64 STU
364+
s0 s1 XCHG
365+
s0 PUSH
366+
SBITS
367+
267 PUSHINT
368+
EQUAL
369+
136 THROWIFNOT
370+
s0 PUSH
371+
11 PLDU
372+
s0 PUSH
373+
1279 PUSHINT
374+
EQUAL
375+
137 THROWIF
376+
10 PUSHPOW2
377+
EQUAL
378+
136 THROWIFNOT
379+
STSLICER
380+
s0 s1 XCHG
381+
s0 PUSH
382+
ISNULL
383+
<{
384+
s0 POP
385+
0 PUSHINT
386+
s0 s1 XCHG
387+
2 STU
388+
}> PUSHCONT
389+
<{
390+
s0 PUSH
391+
SBITS
392+
267 PUSHINT
393+
EQUAL
394+
136 THROWIFNOT
395+
s0 PUSH
396+
11 PLDU
397+
s0 PUSH
398+
1279 PUSHINT
399+
EQUAL
400+
137 THROWIF
401+
10 PUSHPOW2
402+
EQUAL
403+
136 THROWIFNOT
404+
STSLICER
405+
}> PUSHCONT
406+
IFELSE
407+
ENDC
408+
4 1 REVERSE
409+
s1 s4 XCHG
410+
s3 s3 s0 XCHG3
411+
NULL
412+
NULL
413+
?fun_ref_b93b9862cda1783c INLINECALLDICT
414+
}>
285415
?fun_ref_5655dcbe434c85c8 PROCREF:<{
286416
1 GETGLOBVAR
287417
4 UNTUPLE
@@ -437,128 +567,6 @@ PROGRAM{
437567
IFELSE
438568
s0 s1 XCHG
439569
}>
440-
?fun_ref_615719b38271199f PROCREF:<{
441-
3 GETGLOBVAR
442-
s4 s2 PUSH2
443-
?fun_ref_b8d6a373d037f795 INLINECALLDICT
444-
0 PUSHINT
445-
ROTREV
446-
NEWC
447-
0 PUSHINT
448-
s0 s1 XCHG
449-
2 STU
450-
3 PUSHINT
451-
s0 s1 XCHG
452-
2 STU
453-
0 PUSHINT
454-
s0 s1 XCHG
455-
1 STU
456-
s1 s2 XCHG
457-
STREF
458-
STREF
459-
ENDC
460-
HASHCU
461-
NEWC
462-
2 PUSHINT
463-
s0 s1 XCHG
464-
2 STU
465-
0 PUSHINT
466-
s0 s1 XCHG
467-
1 STU
468-
s1 s2 XCHG
469-
8 STI
470-
256 STU
471-
ENDC
472-
CTOS
473-
s0 PUSH
474-
SBITS
475-
267 PUSHINT
476-
EQUAL
477-
136 THROWIFNOT
478-
s0 PUSH
479-
11 PLDU
480-
s0 PUSH
481-
1279 PUSHINT
482-
EQUAL
483-
137 THROWIF
484-
10 PUSHPOW2
485-
EQUAL
486-
136 THROWIFNOT
487-
s1 s3 XCHG
488-
NULL
489-
s0 s4 XCHG
490-
<{
491-
s3 POP
492-
s1 s2 XCHG
493-
}> PUSHCONT
494-
<{
495-
s2 POP
496-
}> PUSHCONT
497-
IFELSE
498-
2 GETGLOBVAR
499-
0 PUSHINT
500-
64 PUSHINT
501-
s3 s4 XCHG2
502-
-1 PUSHINT
503-
s0 s6 XCHG
504-
NEWC
505-
3 1 BLKSWAP
506-
3513996288 PUSHINT
507-
s0 s4 XCHG2
508-
32 STU
509-
s1 s2 XCHG
510-
64 STU
511-
s0 s1 XCHG
512-
s0 PUSH
513-
SBITS
514-
267 PUSHINT
515-
EQUAL
516-
136 THROWIFNOT
517-
s0 PUSH
518-
11 PLDU
519-
s0 PUSH
520-
1279 PUSHINT
521-
EQUAL
522-
137 THROWIF
523-
10 PUSHPOW2
524-
EQUAL
525-
136 THROWIFNOT
526-
STSLICER
527-
s0 s1 XCHG
528-
s0 PUSH
529-
ISNULL
530-
<{
531-
s0 POP
532-
0 PUSHINT
533-
s0 s1 XCHG
534-
2 STU
535-
}> PUSHCONT
536-
<{
537-
s0 PUSH
538-
SBITS
539-
267 PUSHINT
540-
EQUAL
541-
136 THROWIFNOT
542-
s0 PUSH
543-
11 PLDU
544-
s0 PUSH
545-
1279 PUSHINT
546-
EQUAL
547-
137 THROWIF
548-
10 PUSHPOW2
549-
EQUAL
550-
136 THROWIFNOT
551-
STSLICER
552-
}> PUSHCONT
553-
IFELSE
554-
ENDC
555-
4 1 REVERSE
556-
s1 s4 XCHG
557-
s3 s3 s0 XCHG3
558-
NULL
559-
NULL
560-
?fun_ref_b93b9862cda1783c INLINECALLDICT
561-
}>
562570
?fun_ref_688678bd121165d5 PROCREF:<{
563571
BALANCE
564572
0 INDEX
@@ -931,7 +939,7 @@ PROGRAM{
931939
s0 s1 XCHG
932940
STSLICER
933941
}>
934-
?fun_ref_d7ef0cc13d133bac PROCREF:<{
942+
?fun_ref_e3ab8ad6f7411b02 PROCREF:<{
935943
s0 s1 XCHG
936944
<{
937945
32 PUSHINT
@@ -1158,7 +1166,7 @@ PROGRAM{
11581166
1 LDI
11591167
3 1 BLKSWAP
11601168
1 3 BLKDROP2
1161-
?fun_ref_615719b38271199f INLINECALLDICT
1169+
?fun_ref_55dff5e1e1156666 INLINECALLDICT
11621170
-1 PUSHINT
11631171
}> PUSHCONT
11641172
IFJMP

sources/output/SampleJetton_JettonDefaultWallet.headers.fc

+3
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,9 @@ builder $JettonDefaultWallet$_store(builder build_0, (int, slice, slice) v) inli
102102
;; $StateInit$_get_code
103103
_ $StateInit$_get_code((cell, cell) v) inline;
104104

105+
;; $Context$_get_value
106+
_ $Context$_get_value((int, slice, int, slice) v) inline;
107+
105108
;; $JettonWalletData$_to_external
106109
(int, slice, slice, cell) $JettonWalletData$_to_external(((int, slice, slice, cell)) v) inline;
107110

0 commit comments

Comments
 (0)