Lev
2 years ago
14 changed files with 11 additions and 3080 deletions
File diff suppressed because one or more lines are too long
Binary file not shown.
@ -1,438 +0,0 @@
|
||||
forall X -> X __tact_not_null(X x) { throw_if(128, null?(x)); return x; } |
||||
|
||||
global (int, slice, int, slice) __tact_context; |
||||
global cell __tact_context_sys; |
||||
|
||||
(int, slice, int, slice) __tact_context_get() inline { return __tact_context; } |
||||
|
||||
() __tact_verify_address(slice address) inline { |
||||
throw_unless(136, address.slice_bits() != 267); |
||||
} |
||||
|
||||
builder __tact_store_bool(builder b, int v) inline { |
||||
b = b.store_int(v, 1); |
||||
return b; |
||||
} |
||||
|
||||
(slice, slice) __tact_load_address(slice cs) inline { |
||||
slice raw = cs~load_msg_addr(); |
||||
__tact_verify_address(raw); |
||||
return (cs, raw); |
||||
} |
||||
|
||||
(slice, slice) __tact_load_address_opt(slice cs) inline { |
||||
slice raw = cs~load_msg_addr(); |
||||
if (raw.preload_uint(2) != 0) { |
||||
__tact_verify_address(raw); |
||||
return (cs, raw); |
||||
} else { |
||||
return (cs, null()); |
||||
} |
||||
} |
||||
|
||||
builder __tact_store_address(builder b, slice address) inline { |
||||
__tact_verify_address(address); |
||||
b = b.store_slice(address); |
||||
return b; |
||||
} |
||||
|
||||
builder __tact_store_address_opt(builder b, slice address) inline { |
||||
if (null?(address)) { |
||||
b = b.store_uint(0, 2); |
||||
return b; |
||||
} else { |
||||
return __tact_store_address(b, address); |
||||
} |
||||
} |
||||
|
||||
slice __tact_create_address(int chain, int hash) inline { |
||||
var b = begin_cell(); |
||||
b = b.store_uint(2, 2); |
||||
b = b.store_uint(0, 1); |
||||
b = b.store_int(chain, 8); |
||||
b = b.store_uint(hash, 256); |
||||
return b.end_cell().begin_parse(); |
||||
} |
||||
|
||||
slice __tact_compute_contract_address(int chain, cell code, cell data) inline { |
||||
var b = begin_cell(); |
||||
b = b.store_uint(0, 2); |
||||
b = b.store_uint(3, 2); |
||||
b = b.store_uint(0, 1); |
||||
b = b.store_ref(code); |
||||
b = b.store_ref(data); |
||||
var hash = cell_hash(b.end_cell()); |
||||
return __tact_create_address(chain, hash); |
||||
} |
||||
|
||||
int __tact_address_eq(slice a, slice b) inline { |
||||
return equal_slice_bits(a, b); |
||||
} |
||||
|
||||
cell __tact_dict_set_code(cell dict, int id, cell code) inline { |
||||
return udict_set_ref(dict, 16, id, code); |
||||
} |
||||
|
||||
cell __tact_dict_get_code(cell dict, int id) inline { |
||||
var (data, ok) = udict_get_ref?(dict, 16, id); |
||||
throw_unless(135, ok); |
||||
return data; |
||||
} |
||||
|
||||
builder __gen_write_TokenTransferInternal(builder build_0, (int, int, slice, slice, int, slice) v) inline_ref { |
||||
var (v'queryId, v'amount, v'from, v'responseAddress, v'forwardTonAmount, v'forwardPayload) = v; |
||||
build_0 = store_uint(build_0, 395134233, 32); |
||||
build_0 = build_0.store_uint(v'queryId, 64); |
||||
build_0 = build_0.store_coins(v'amount); |
||||
build_0 = __tact_store_address(build_0, v'from); |
||||
build_0 = __tact_store_address_opt(build_0, v'responseAddress); |
||||
build_0 = build_0.store_coins(v'forwardTonAmount); |
||||
build_0 = build_0.store_slice(v'forwardPayload); |
||||
return build_0; |
||||
} |
||||
|
||||
cell __gen_writecell_TokenTransferInternal((int, int, slice, slice, int, slice) v) inline_ref { |
||||
return __gen_write_TokenTransferInternal(begin_cell(), v).end_cell(); |
||||
} |
||||
|
||||
(slice, ((int, int, slice, slice))) __gen_read_TokenBurnNotification(slice sc_0) inline_ref { |
||||
throw_unless(129, sc_0~load_uint(32) == 2078119902); |
||||
var v'queryId = sc_0~load_uint(64); |
||||
var v'amount = sc_0~load_coins(); |
||||
var v'owner = sc_0~__tact_load_address(); |
||||
var v'responseAddress = sc_0~__tact_load_address_opt(); |
||||
return (sc_0, (v'queryId, v'amount, v'owner, v'responseAddress)); |
||||
} |
||||
|
||||
builder __gen_write_TokenExcesses(builder build_0, (int) v) inline_ref { |
||||
var (v'queryId) = v; |
||||
build_0 = store_uint(build_0, 3576854235, 32); |
||||
build_0 = build_0.store_uint(v'queryId, 64); |
||||
return build_0; |
||||
} |
||||
|
||||
cell __gen_writecell_TokenExcesses((int) v) inline_ref { |
||||
return __gen_write_TokenExcesses(begin_cell(), v).end_cell(); |
||||
} |
||||
|
||||
(slice, ((cell))) __gen_read_TokenUpdateContent(slice sc_0) inline_ref { |
||||
throw_unless(129, sc_0~load_uint(32) == 201882270); |
||||
var v'content = sc_0~load_int(1) ? sc_0~load_ref() : null(); |
||||
return (sc_0, (v'content)); |
||||
} |
||||
|
||||
(slice, ((int))) __gen_read_Mint(slice sc_0) inline_ref { |
||||
throw_unless(129, sc_0~load_uint(32) == 33240155); |
||||
var v'amount = sc_0~load_int(257); |
||||
return (sc_0, (v'amount)); |
||||
} |
||||
|
||||
builder __gen_write_JettonDefaultWallet(builder build_0, (int, slice, slice) v) inline_ref { |
||||
var (v'balance, v'owner, v'master) = v; |
||||
build_0 = build_0.store_int(v'balance, 257); |
||||
build_0 = __tact_store_address(build_0, v'owner); |
||||
build_0 = __tact_store_address(build_0, v'master); |
||||
return build_0; |
||||
} |
||||
|
||||
builder __gen_write_SampleJetton(builder build_0, (int, slice, cell, int) v) inline_ref { |
||||
var (v'totalSupply, v'owner, v'content, v'mintable) = v; |
||||
build_0 = build_0.store_coins(v'totalSupply); |
||||
build_0 = __tact_store_address(build_0, v'owner); |
||||
build_0 = ~ null?(v'content) ? build_0.store_int(true, 1).store_ref(v'content) : build_0.store_int(false, 1); |
||||
build_0 = build_0.store_int(v'mintable, 1); |
||||
return build_0; |
||||
} |
||||
|
||||
(slice, ((int, slice, cell, int))) __gen_read_SampleJetton(slice sc_0) inline_ref { |
||||
var v'totalSupply = sc_0~load_coins(); |
||||
var v'owner = sc_0~__tact_load_address(); |
||||
var v'content = sc_0~load_int(1) ? sc_0~load_ref() : null(); |
||||
var v'mintable = sc_0~load_int(1); |
||||
return (sc_0, (v'totalSupply, v'owner, v'content, v'mintable)); |
||||
} |
||||
|
||||
_ __gen_StateInit_get_code((cell, cell) v) inline { |
||||
var (v'code, v'data) = v; |
||||
return v'code; |
||||
} |
||||
|
||||
_ __gen_Context_get_sender((int, slice, int, slice) v) inline { |
||||
var (v'bounced, v'sender, v'value, v'raw) = v; |
||||
return v'sender; |
||||
} |
||||
|
||||
(int, int, slice, cell, cell) __gen_JettonData_to_external(((int, int, slice, cell, cell)) v) { |
||||
var (v'totalSupply, v'mintable, v'owner, v'content, v'walletCode) = v; |
||||
return (v'totalSupply, v'mintable, v'owner, v'content, v'walletCode); |
||||
} |
||||
|
||||
(int, slice, cell, int) __gen_load_SampleJetton() inline_ref { |
||||
slice sc = get_data().begin_parse(); |
||||
__tact_context_sys = sc~load_ref(); |
||||
return sc~__gen_read_SampleJetton(); |
||||
} |
||||
|
||||
() __gen_store_SampleJetton((int, slice, cell, int) v) impure inline_ref { |
||||
builder b = begin_cell(); |
||||
b = b.store_ref(__tact_context_sys); |
||||
b = __gen_write_SampleJetton(b, v); |
||||
set_data(b.end_cell()); |
||||
} |
||||
|
||||
cell $emptyCell() impure { |
||||
return end_cell(begin_cell()); |
||||
} |
||||
|
||||
slice $__gen_Cell_asSlice(cell $self) impure { |
||||
var ($self) = $self; |
||||
return begin_parse($self); |
||||
} |
||||
|
||||
slice $emptySlice() impure { |
||||
return $__gen_Cell_asSlice($emptyCell()); |
||||
} |
||||
|
||||
slice $contractAddress((cell, cell) $s) impure { |
||||
var (($s'code, $s'data)) = $s; |
||||
return __tact_compute_contract_address(0, $s'code, $s'data); |
||||
} |
||||
|
||||
() $send((int, slice, int, int, cell, cell, cell) $params) impure { |
||||
var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; |
||||
builder $b = begin_cell(); |
||||
$b = store_int($b, 1, 2); |
||||
$b = __tact_store_bool($b, $params'bounce); |
||||
$b = store_int($b, 0, 3); |
||||
$b = __tact_store_address($b, $params'to); |
||||
$b = store_coins($b, $params'value); |
||||
$b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); |
||||
if (((~ null?($params'code)) | (~ null?($params'data)))) { |
||||
$b = __tact_store_bool($b, true); |
||||
builder $bc = begin_cell(); |
||||
$bc = __tact_store_bool($bc, false); |
||||
$bc = __tact_store_bool($bc, false); |
||||
if ((~ null?($params'code))) { |
||||
$bc = __tact_store_bool($bc, true); |
||||
$bc = store_ref($bc, __tact_not_null($params'code)); |
||||
} else { |
||||
$bc = __tact_store_bool($bc, false); |
||||
} |
||||
if ((~ null?($params'data))) { |
||||
$bc = __tact_store_bool($bc, true); |
||||
$bc = store_ref($bc, __tact_not_null($params'data)); |
||||
} else { |
||||
$bc = __tact_store_bool($bc, false); |
||||
} |
||||
$bc = __tact_store_bool($bc, false); |
||||
$b = __tact_store_bool($b, true); |
||||
$b = store_ref($b, end_cell($bc)); |
||||
} else { |
||||
$b = __tact_store_bool($b, false); |
||||
} |
||||
cell $body = $params'body; |
||||
if ((~ null?($body))) { |
||||
$b = __tact_store_bool($b, true); |
||||
$b = store_ref($b, __tact_not_null($body)); |
||||
} else { |
||||
$b = __tact_store_bool($b, false); |
||||
} |
||||
cell $c = end_cell($b); |
||||
send_raw_message($c, $params'mode); |
||||
} |
||||
|
||||
cell $__gen_JettonDefaultWallet_init(cell sys', slice $master, slice $owner) { |
||||
var (($self'balance, $self'owner, $self'master)) = (null(), null(), null()); |
||||
$self'balance = 0; |
||||
$self'owner = $owner; |
||||
$self'master = $master; |
||||
var b' = begin_cell(); |
||||
b' = b'.store_ref(sys'); |
||||
b' = __gen_write_JettonDefaultWallet(b', ($self'balance, $self'owner, $self'master)); |
||||
return b'.end_cell(); |
||||
} |
||||
|
||||
(cell, cell) $__gen_JettonDefaultWallet_init_child(cell sys', slice $master, slice $owner) { |
||||
slice sc' = sys'.begin_parse(); |
||||
cell source = sc'~load_dict(); |
||||
cell contracts = new_dict(); |
||||
|
||||
;; Contract Code: JettonDefaultWallet |
||||
cell mine = __tact_dict_get_code(source, 55471); |
||||
contracts = __tact_dict_set_code(contracts, 55471, mine); |
||||
cell sys = begin_cell().store_dict(contracts).end_cell(); |
||||
return (mine, $__gen_JettonDefaultWallet_init(sys, $master, $owner)); |
||||
} |
||||
|
||||
((int, slice, cell, int), (cell, cell)) $__gen_SampleJetton_getJettonWalletInit((int, slice, cell, int) $self, slice $address) impure { |
||||
var (($self'totalSupply, $self'owner, $self'content, $self'mintable)) = $self; |
||||
return (($self'totalSupply, $self'owner, $self'content, $self'mintable), $__gen_JettonDefaultWallet_init_child(__tact_context_sys, my_address(), $address)); |
||||
} |
||||
|
||||
slice $__gen_SampleJetton_get_wallet_address((int, slice, cell, int) $self, slice $owner) impure { |
||||
var (($self'totalSupply, $self'owner, $self'content, $self'mintable)) = $self; |
||||
var ($winit'code, $winit'data) = ($self'totalSupply, $self'owner, $self'content, $self'mintable)~$__gen_SampleJetton_getJettonWalletInit($owner); |
||||
return $contractAddress(($winit'code, $winit'data)); |
||||
} |
||||
|
||||
_ $__gen_get_get_wallet_address(slice $$owner) method_id(103289) { |
||||
slice $owner = $$owner; |
||||
var self = __gen_load_SampleJetton(); |
||||
var res = $__gen_SampleJetton_get_wallet_address(self, $owner); |
||||
return res; |
||||
} |
||||
|
||||
(int, int, slice, cell, cell) $__gen_SampleJetton_get_jetton_data((int, slice, cell, int) $self) impure { |
||||
var (($self'totalSupply, $self'owner, $self'content, $self'mintable)) = $self; |
||||
cell $code = __gen_StateInit_get_code(($self'totalSupply, $self'owner, $self'content, $self'mintable)~$__gen_SampleJetton_getJettonWalletInit(my_address())); |
||||
return ($self'totalSupply, $self'mintable, $self'owner, $self'content, $code); |
||||
} |
||||
|
||||
_ $__gen_get_get_jetton_data() method_id(106029) { |
||||
var self = __gen_load_SampleJetton(); |
||||
var res = $__gen_SampleJetton_get_jetton_data(self); |
||||
return __gen_JettonData_to_external(res); |
||||
} |
||||
|
||||
((int, slice, cell, int), ()) $__gen_SampleJetton_mint((int, slice, cell, int) $self, slice $to, int $amount, slice $responseAddress) impure { |
||||
var (($self'totalSupply, $self'owner, $self'content, $self'mintable)) = $self; |
||||
$self'totalSupply = ($self'totalSupply + $amount); |
||||
var ($winit'code, $winit'data) = ($self'totalSupply, $self'owner, $self'content, $self'mintable)~$__gen_SampleJetton_getJettonWalletInit($to); |
||||
slice $walletAddress = $contractAddress(($winit'code, $winit'data)); |
||||
$send((false, $walletAddress, 0, 64, __gen_writecell_TokenTransferInternal((0, $amount, my_address(), $responseAddress, 0, $emptySlice())), $winit'code, $winit'data)); |
||||
return (($self'totalSupply, $self'owner, $self'content, $self'mintable), ()); |
||||
} |
||||
|
||||
((int, slice, cell, int), ()) $__gen_SampleJetton_requireWallet((int, slice, cell, int) $self, slice $owner) impure { |
||||
var (($self'totalSupply, $self'owner, $self'content, $self'mintable)) = $self; |
||||
var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); |
||||
var ($winit'code, $winit'data) = ($self'totalSupply, $self'owner, $self'content, $self'mintable)~$__gen_SampleJetton_getJettonWalletInit($owner); |
||||
throw_unless(4429, __tact_address_eq($contractAddress(($winit'code, $winit'data)), $ctx'sender)); |
||||
return (($self'totalSupply, $self'owner, $self'content, $self'mintable), ()); |
||||
} |
||||
|
||||
((int, slice, cell, int), ()) $__gen_SampleJetton_requireOwner((int, slice, cell, int) $self) impure { |
||||
var (($self'totalSupply, $self'owner, $self'content, $self'mintable)) = $self; |
||||
throw_unless(132, __tact_address_eq(__gen_Context_get_sender(__tact_context_get()), $self'owner)); |
||||
return (($self'totalSupply, $self'owner, $self'content, $self'mintable), ()); |
||||
} |
||||
|
||||
slice $__gen_SampleJetton_owner((int, slice, cell, int) $self) impure { |
||||
var (($self'totalSupply, $self'owner, $self'content, $self'mintable)) = $self; |
||||
return $self'owner; |
||||
} |
||||
|
||||
_ $__gen_get_owner() method_id(83229) { |
||||
var self = __gen_load_SampleJetton(); |
||||
var res = $__gen_SampleJetton_owner(self); |
||||
return res; |
||||
} |
||||
|
||||
(((int, slice, cell, int)), ()) $__gen_SampleJetton_receive_Mint((int, slice, cell, int) $self, (int) $msg) impure { |
||||
var ($self'totalSupply, $self'owner, $self'content, $self'mintable) = $self; |
||||
var ($msg'amount) = $msg; |
||||
var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); |
||||
($self'totalSupply, $self'owner, $self'content, $self'mintable)~$__gen_SampleJetton_mint($ctx'sender, $msg'amount, $ctx'sender); |
||||
return (($self'totalSupply, $self'owner, $self'content, $self'mintable), ()); |
||||
} |
||||
|
||||
((int, slice, cell, int), ()) $__gen_SampleJetton_receive_comment_cd0d986cb1a2f468ae7089f4fc3162c116e5f53fbd11a6839f52dbf5040830b2((int, slice, cell, int) $self) impure { |
||||
var ($self'totalSupply, $self'owner, $self'content, $self'mintable) = $self; |
||||
var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); |
||||
($self'totalSupply, $self'owner, $self'content, $self'mintable)~$__gen_SampleJetton_mint($ctx'sender, 1000000000, $ctx'sender); |
||||
return (($self'totalSupply, $self'owner, $self'content, $self'mintable), ()); |
||||
} |
||||
|
||||
(((int, slice, cell, int)), ()) $__gen_SampleJetton_receive_TokenUpdateContent((int, slice, cell, int) $self, (cell) $msg) impure { |
||||
var ($self'totalSupply, $self'owner, $self'content, $self'mintable) = $self; |
||||
var ($msg'content) = $msg; |
||||
($self'totalSupply, $self'owner, $self'content, $self'mintable)~$__gen_SampleJetton_requireOwner(); |
||||
$self'content = $msg'content; |
||||
return (($self'totalSupply, $self'owner, $self'content, $self'mintable), ()); |
||||
} |
||||
|
||||
(((int, slice, cell, int)), ()) $__gen_SampleJetton_receive_TokenBurnNotification((int, slice, cell, int) $self, (int, int, slice, slice) $msg) impure { |
||||
var ($self'totalSupply, $self'owner, $self'content, $self'mintable) = $self; |
||||
var ($msg'queryId, $msg'amount, $msg'owner, $msg'responseAddress) = $msg; |
||||
($self'totalSupply, $self'owner, $self'content, $self'mintable)~$__gen_SampleJetton_requireWallet($msg'owner); |
||||
$self'totalSupply = ($self'totalSupply - $msg'amount); |
||||
if ((~ null?($msg'responseAddress))) { |
||||
$send((false, __tact_not_null($msg'responseAddress), 0, (64 + 2), __gen_writecell_TokenExcesses(($msg'queryId)), null(), null())); |
||||
} |
||||
return (($self'totalSupply, $self'owner, $self'content, $self'mintable), ()); |
||||
} |
||||
|
||||
|
||||
() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { |
||||
|
||||
;; Parse incoming message |
||||
int op = 0; |
||||
if (slice_bits(in_msg) >= 32) { |
||||
op = in_msg.preload_uint(32); |
||||
} |
||||
var cs = in_msg_cell.begin_parse(); |
||||
var msg_flags = cs~load_uint(4); |
||||
var msg_bounced = ((msg_flags & 1) == 1 ? true : false); |
||||
slice msg_sender_addr = cs~load_msg_addr(); |
||||
__tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); |
||||
|
||||
;; Handle bounced messages |
||||
if (msg_bounced) { |
||||
return (); |
||||
} |
||||
|
||||
;; Receive Mint message |
||||
if (op == 33240155) { |
||||
var self = __gen_load_SampleJetton(); |
||||
var msg = in_msg~__gen_read_Mint(); |
||||
self~$__gen_SampleJetton_receive_Mint(msg); |
||||
__gen_store_SampleJetton(self); |
||||
return (); |
||||
} |
||||
|
||||
;; Receive TokenUpdateContent message |
||||
if (op == 201882270) { |
||||
var self = __gen_load_SampleJetton(); |
||||
var msg = in_msg~__gen_read_TokenUpdateContent(); |
||||
self~$__gen_SampleJetton_receive_TokenUpdateContent(msg); |
||||
__gen_store_SampleJetton(self); |
||||
return (); |
||||
} |
||||
|
||||
;; Receive TokenBurnNotification message |
||||
if (op == 2078119902) { |
||||
var self = __gen_load_SampleJetton(); |
||||
var msg = in_msg~__gen_read_TokenBurnNotification(); |
||||
self~$__gen_SampleJetton_receive_TokenBurnNotification(msg); |
||||
__gen_store_SampleJetton(self); |
||||
return (); |
||||
} |
||||
|
||||
;; Text Receivers |
||||
if (op == 0) { |
||||
var text_op = slice_hash(in_msg); |
||||
|
||||
;; Receive "Mint!" message |
||||
if (text_op == 0xcd0d986cb1a2f468ae7089f4fc3162c116e5f53fbd11a6839f52dbf5040830b2) { |
||||
var self = __gen_load_SampleJetton(); |
||||
self~$__gen_SampleJetton_receive_comment_cd0d986cb1a2f468ae7089f4fc3162c116e5f53fbd11a6839f52dbf5040830b2(); |
||||
__gen_store_SampleJetton(self); |
||||
return (); |
||||
} |
||||
} |
||||
|
||||
throw(130); |
||||
} |
||||
|
||||
_ supported_interfaces() method_id { |
||||
return ( |
||||
"org.ton.introspection.v0"H >> 128, |
||||
"org.ton.abi.ipfs.v0"H >> 128, |
||||
"org.ton.jetton.master"H >> 128, |
||||
"org.ton.ownable"H >> 128 |
||||
); |
||||
} |
||||
|
||||
_ get_abi_ipfs() { |
||||
return "ipfs://QmPfyoAvkPUqzx93gq8EBcVccAYXFEbjnqCMrHYtyPUHfE"; |
||||
} |
@ -1,683 +0,0 @@
|
||||
PROGRAM{ |
||||
DECLPROC __tact_not_null |
||||
DECLPROC __tact_context_get |
||||
DECLPROC __tact_verify_address |
||||
DECLPROC __tact_store_bool |
||||
DECLPROC __tact_load_address |
||||
DECLPROC __tact_load_address_opt |
||||
DECLPROC __tact_store_address |
||||
DECLPROC __tact_store_address_opt |
||||
DECLPROC __tact_create_address |
||||
DECLPROC __tact_compute_contract_address |
||||
DECLPROC __tact_address_eq |
||||
DECLPROC __tact_dict_set_code |
||||
DECLPROC __tact_dict_get_code |
||||
DECLPROC __gen_write_TokenTransferInternal |
||||
DECLPROC __gen_writecell_TokenTransferInternal |
||||
DECLPROC __gen_read_TokenBurnNotification |
||||
DECLPROC __gen_write_TokenExcesses |
||||
DECLPROC __gen_writecell_TokenExcesses |
||||
DECLPROC __gen_read_TokenUpdateContent |
||||
DECLPROC __gen_read_Mint |
||||
DECLPROC __gen_write_JettonDefaultWallet |
||||
DECLPROC __gen_write_SampleJetton |
||||
DECLPROC __gen_read_SampleJetton |
||||
DECLPROC __gen_StateInit_get_code |
||||
DECLPROC __gen_Context_get_sender |
||||
DECLPROC __gen_JettonData_to_external |
||||
DECLPROC __gen_load_SampleJetton |
||||
DECLPROC __gen_store_SampleJetton |
||||
DECLPROC $emptyCell |
||||
DECLPROC $__gen_Cell_asSlice |
||||
DECLPROC $emptySlice |
||||
DECLPROC $contractAddress |
||||
DECLPROC $send |
||||
DECLPROC $__gen_JettonDefaultWallet_init |
||||
DECLPROC $__gen_JettonDefaultWallet_init_child |
||||
DECLPROC $__gen_SampleJetton_getJettonWalletInit |
||||
DECLPROC $__gen_SampleJetton_get_wallet_address |
||||
103289 DECLMETHOD $__gen_get_get_wallet_address |
||||
DECLPROC $__gen_SampleJetton_get_jetton_data |
||||
106029 DECLMETHOD $__gen_get_get_jetton_data |
||||
DECLPROC $__gen_SampleJetton_mint |
||||
DECLPROC $__gen_SampleJetton_requireWallet |
||||
DECLPROC $__gen_SampleJetton_requireOwner |
||||
DECLPROC $__gen_SampleJetton_owner |
||||
83229 DECLMETHOD $__gen_get_owner |
||||
DECLPROC $__gen_SampleJetton_receive_Mint |
||||
DECLPROC $__gen_SampleJetton_receive_comment_cd0d986cb1a2f468ae7089f4fc3162c116e5f53fbd11a6839f52dbf5040830b2 |
||||
DECLPROC $__gen_SampleJetton_receive_TokenUpdateContent |
||||
DECLPROC $__gen_SampleJetton_receive_TokenBurnNotification |
||||
DECLPROC recv_internal |
||||
113617 DECLMETHOD supported_interfaces |
||||
DECLPROC get_abi_ipfs |
||||
DECLGLOBVAR __tact_context |
||||
DECLGLOBVAR __tact_context_sys |
||||
__tact_not_null PROC:<{ |
||||
DUP |
||||
ISNULL |
||||
128 THROWIF |
||||
}> |
||||
__tact_context_get PROCINLINE:<{ |
||||
__tact_context GETGLOB |
||||
4 UNTUPLE |
||||
}> |
||||
__tact_verify_address PROCINLINE:<{ |
||||
SBITS |
||||
267 PUSHINT |
||||
NEQ |
||||
136 THROWIFNOT |
||||
}> |
||||
__tact_store_bool PROCINLINE:<{ |
||||
SWAP |
||||
1 STI |
||||
}> |
||||
__tact_load_address PROCINLINE:<{ |
||||
LDMSGADDR |
||||
SWAP |
||||
}> |
||||
__tact_load_address_opt PROCINLINE:<{ |
||||
LDMSGADDR |
||||
OVER |
||||
2 PLDU |
||||
0 NEQINT |
||||
IF:<{ |
||||
SWAP |
||||
}>ELSE<{ |
||||
NIP |
||||
PUSHNULL |
||||
}> |
||||
}> |
||||
__tact_store_address PROCINLINE:<{ |
||||
STSLICER |
||||
}> |
||||
__tact_store_address_opt PROCINLINE:<{ |
||||
DUP |
||||
ISNULL |
||||
IF:<{ |
||||
DROP |
||||
0 PUSHINT |
||||
SWAP |
||||
2 STU |
||||
}>ELSE<{ |
||||
__tact_store_address INLINECALLDICT |
||||
}> |
||||
}> |
||||
__tact_create_address PROCINLINE:<{ |
||||
NEWC |
||||
2 PUSHINT |
||||
SWAP |
||||
2 STU |
||||
0 PUSHINT |
||||
SWAP |
||||
1 STU |
||||
s1 s2 XCHG |
||||
8 STI |
||||
256 STU |
||||
ENDC |
||||
CTOS |
||||
}> |
||||
__tact_compute_contract_address PROCINLINE:<{ |
||||
NEWC |
||||
0 PUSHINT |
||||
SWAP |
||||
2 STU |
||||
3 PUSHINT |
||||
SWAP |
||||
2 STU |
||||
0 PUSHINT |
||||
SWAP |
||||
1 STU |
||||
s1 s2 XCHG |
||||
STREF |
||||
STREF |
||||
ENDC |
||||
HASHCU |
||||
__tact_create_address INLINECALLDICT |
||||
}> |
||||
__tact_address_eq PROCINLINE:<{ |
||||
SDEQ |
||||
}> |
||||
__tact_dict_set_code PROCINLINE:<{ |
||||
s0 s2 XCHG |
||||
16 PUSHINT |
||||
DICTUSETREF |
||||
}> |
||||
__tact_dict_get_code PROCINLINE:<{ |
||||
SWAP |
||||
16 PUSHINT |
||||
DICTUGETREF |
||||
NULLSWAPIFNOT |
||||
135 THROWIFNOT |
||||
}> |
||||
__gen_write_TokenTransferInternal PROCREF:<{ |
||||
395134233 PUSHINT |
||||
s0 s7 XCHG2 |
||||
32 STU |
||||
s1 s5 XCHG |
||||
64 STU |
||||
s0 s3 XCHG2 |
||||
STGRAMS |
||||
SWAP |
||||
__tact_store_address INLINECALLDICT |
||||
SWAP |
||||
__tact_store_address_opt INLINECALLDICT |
||||
SWAP |
||||
STGRAMS |
||||
SWAP |
||||
STSLICER |
||||
}> |
||||
__gen_writecell_TokenTransferInternal PROCREF:<{ |
||||
NEWC |
||||
6 -ROLL |
||||
__gen_write_TokenTransferInternal INLINECALLDICT |
||||
ENDC |
||||
}> |
||||
__gen_read_TokenBurnNotification PROCREF:<{ |
||||
32 LDU |
||||
SWAP |
||||
2078119902 PUSHINT |
||||
EQUAL |
||||
129 THROWIFNOT |
||||
64 LDU |
||||
LDGRAMS |
||||
__tact_load_address INLINECALLDICT |
||||
SWAP |
||||
__tact_load_address_opt INLINECALLDICT |
||||
s1 s4 XCHG |
||||
s3 s3 s0 XCHG3 |
||||
}> |
||||
__gen_write_TokenExcesses PROCREF:<{ |
||||
3576854235 PUSHINT |
||||
ROT |
||||
32 STU |
||||
64 STU |
||||
}> |
||||
__gen_writecell_TokenExcesses PROCREF:<{ |
||||
NEWC |
||||
SWAP |
||||
__gen_write_TokenExcesses INLINECALLDICT |
||||
ENDC |
||||
}> |
||||
__gen_read_TokenUpdateContent PROCREF:<{ |
||||
32 LDU |
||||
SWAP |
||||
201882270 PUSHINT |
||||
EQUAL |
||||
129 THROWIFNOT |
||||
1 LDI |
||||
SWAP |
||||
IF:<{ |
||||
LDREF |
||||
}>ELSE<{ |
||||
PUSHNULL |
||||
SWAP |
||||
}> |
||||
SWAP |
||||
}> |
||||
__gen_read_Mint PROCREF:<{ |
||||
32 LDU |
||||
SWAP |
||||
33240155 PUSHINT |
||||
EQUAL |
||||
129 THROWIFNOT |
||||
257 PUSHINT |
||||
LDIX |
||||
SWAP |
||||
}> |
||||
__gen_write_JettonDefaultWallet PROCREF:<{ |
||||
s2 s3 XCHG2 |
||||
257 PUSHINT |
||||
STIX |
||||
SWAP |
||||
__tact_store_address INLINECALLDICT |
||||
SWAP |
||||
__tact_store_address INLINECALLDICT |
||||
}> |
||||
__gen_write_SampleJetton PROCREF:<{ |
||||
s4 s3 XCHG2 |
||||
STGRAMS |
||||
SWAP |
||||
__tact_store_address INLINECALLDICT |
||||
s2 PUSH |
||||
ISNULL |
||||
NOT |
||||
IF:<{ |
||||
TRUE |
||||
SWAP |
||||
1 STI |
||||
s1 s2 XCHG |
||||
STREF |
||||
}>ELSE<{ |
||||
s2 POP |
||||
FALSE |
||||
ROT |
||||
1 STI |
||||
}> |
||||
1 STI |
||||
}> |
||||
__gen_read_SampleJetton PROCREF:<{ |
||||
LDGRAMS |
||||
__tact_load_address INLINECALLDICT |
||||
SWAP |
||||
1 LDI |
||||
SWAP |
||||
IF:<{ |
||||
LDREF |
||||
}>ELSE<{ |
||||
PUSHNULL |
||||
SWAP |
||||
}> |
||||
1 LDI |
||||
4 -ROLL |
||||
}> |
||||
__gen_StateInit_get_code PROCINLINE:<{ |
||||
DROP |
||||
}> |
||||
__gen_Context_get_sender PROCINLINE:<{ |
||||
s2 s3 XCHG |
||||
3 BLKDROP |
||||
}> |
||||
__gen_JettonData_to_external PROC:<{ |
||||
}> |
||||
__gen_load_SampleJetton PROCREF:<{ |
||||
c4 PUSH |
||||
CTOS |
||||
LDREF |
||||
SWAP |
||||
__tact_context_sys SETGLOB |
||||
__gen_read_SampleJetton INLINECALLDICT |
||||
1 4 BLKDROP2 |
||||
}> |
||||
__gen_store_SampleJetton PROCREF:<{ |
||||
NEWC |
||||
__tact_context_sys GETGLOB |
||||
SWAP |
||||
STREF |
||||
4 -ROLL |
||||
__gen_write_SampleJetton INLINECALLDICT |
||||
ENDC |
||||
c4 POP |
||||
}> |
||||
$emptyCell PROC:<{ |
||||
NEWC |
||||
ENDC |
||||
}> |
||||
$__gen_Cell_asSlice PROC:<{ |
||||
CTOS |
||||
}> |
||||
$emptySlice PROC:<{ |
||||
$emptyCell CALLDICT |
||||
$__gen_Cell_asSlice CALLDICT |
||||
}> |
||||
$contractAddress PROC:<{ |
||||
0 PUSHINT |
||||
-ROT |
||||
__tact_compute_contract_address INLINECALLDICT |
||||
}> |
||||
$send PROC:<{ |
||||
NEWC |
||||
1 PUSHINT |
||||
SWAP |
||||
2 STI |
||||
s0 s7 XCHG2 |
||||
__tact_store_bool INLINECALLDICT |
||||
0 PUSHINT |
||||
SWAP |
||||
3 STI |
||||
s0 s5 XCHG2 |
||||
__tact_store_address INLINECALLDICT |
||||
s0 s3 XCHG2 |
||||
STGRAMS |
||||
0 PUSHINT |
||||
SWAP |
||||
105 STI |
||||
s3 PUSH |
||||
ISNULL |
||||
NOT |
||||
s5 PUSH |
||||
ISNULL |
||||
NOT |
||||
OR |
||||
IF:<{ |
||||
TRUE |
||||
__tact_store_bool INLINECALLDICT |
||||
NEWC |
||||
FALSE |
||||
__tact_store_bool INLINECALLDICT |
||||
FALSE |
||||
__tact_store_bool INLINECALLDICT |
||||
s4 PUSH |
||||
ISNULL |
||||
NOT |
||||
IF:<{ |
||||
TRUE |
||||
__tact_store_bool INLINECALLDICT |
||||
s0 s4 XCHG |
||||
__tact_not_null CALLDICT |
||||
s0 s4 XCHG2 |
||||
STREF |
||||
}>ELSE<{ |
||||
s4 POP |
||||
s0 s3 XCHG |
||||
FALSE |
||||
__tact_store_bool INLINECALLDICT |
||||
}> |
||||
s4 PUSH |
||||
ISNULL |
||||
NOT |
||||
IF:<{ |
||||
TRUE |
||||
__tact_store_bool INLINECALLDICT |
||||
s0 s4 XCHG |
||||
__tact_not_null CALLDICT |
||||
s0 s4 XCHG2 |
||||
STREF |
||||
}>ELSE<{ |
||||
s4 POP |
||||
s0 s3 XCHG |
||||
FALSE |
||||
__tact_store_bool INLINECALLDICT |
||||
}> |
||||
FALSE |
||||
__tact_store_bool INLINECALLDICT |
||||
s0 s2 XCHG |
||||
TRUE |
||||
__tact_store_bool INLINECALLDICT |
||||
s0 s2 XCHG |
||||
ENDC |
||||
ROT |
||||
STREF |
||||
}>ELSE<{ |
||||
s3 POP |
||||
s3 POP |
||||
SWAP |
||||
FALSE |
||||
__tact_store_bool INLINECALLDICT |
||||
}> |
||||
OVER |
||||
ISNULL |
||||
NOT |
||||
IF:<{ |
||||
TRUE |
||||
__tact_store_bool INLINECALLDICT |
||||
SWAP |
||||
__tact_not_null CALLDICT |
||||
SWAP |
||||
STREF |
||||
}>ELSE<{ |
||||
NIP |
||||
FALSE |
||||
__tact_store_bool INLINECALLDICT |
||||
}> |
||||
ENDC |
||||
SWAP |
||||
SENDRAWMSG |
||||
}> |
||||
$__gen_JettonDefaultWallet_init PROC:<{ |
||||
0 PUSHINT |
||||
s0 s3 XCHG |
||||
NEWC |
||||
STREF |
||||
s3 s1 s3 XCHG3 |
||||
__gen_write_JettonDefaultWallet INLINECALLDICT |
||||
ENDC |
||||
}> |
||||
$__gen_JettonDefaultWallet_init_child PROC:<{ |
||||
s0 s2 XCHG |
||||
CTOS |
||||
LDDICT |
||||
DROP |
||||
NEWDICT |
||||
SWAP |
||||
55471 PUSHINT |
||||
__tact_dict_get_code INLINECALLDICT |
||||
SWAP |
||||
55471 PUSHINT |
||||
s2 PUSH |
||||
__tact_dict_set_code INLINECALLDICT |
||||
NEWC |
||||
STDICT |
||||
ENDC |
||||
s0 s0 s3 XCHG3 |
||||
$__gen_JettonDefaultWallet_init CALLDICT |
||||
}> |
||||
$__gen_SampleJetton_getJettonWalletInit PROC:<{ |
||||
__tact_context_sys GETGLOB |
||||
MYADDR |
||||
ROT |
||||
$__gen_JettonDefaultWallet_init_child CALLDICT |
||||
}> |
||||
$__gen_SampleJetton_get_wallet_address PROC:<{ |
||||
$__gen_SampleJetton_getJettonWalletInit CALLDICT |
||||
4 2 BLKDROP2 |
||||
$contractAddress CALLDICT |
||||
}> |
||||
$__gen_get_get_wallet_address PROC:<{ |
||||
__gen_load_SampleJetton INLINECALLDICT |
||||
4 ROLL |
||||
$__gen_SampleJetton_get_wallet_address CALLDICT |
||||
}> |
||||
$__gen_SampleJetton_get_jetton_data PROC:<{ |
||||
MYADDR |
||||
$__gen_SampleJetton_getJettonWalletInit CALLDICT |
||||
__gen_StateInit_get_code INLINECALLDICT |
||||
s3 s3 s0 XCHG3 |
||||
}> |
||||
$__gen_get_get_jetton_data PROC:<{ |
||||
__gen_load_SampleJetton INLINECALLDICT |
||||
$__gen_SampleJetton_get_jetton_data CALLDICT |
||||
__gen_JettonData_to_external CALLDICT |
||||
}> |
||||
$__gen_SampleJetton_mint PROC:<{ |
||||
s6 s1 XCPU |
||||
ADD |
||||
4 2 BLKSWAP |
||||
$__gen_SampleJetton_getJettonWalletInit CALLDICT |
||||
2DUP |
||||
$contractAddress CALLDICT |
||||
FALSE |
||||
0 PUSHINT |
||||
64 PUSHINT |
||||
OVER |
||||
MYADDR |
||||
OVER |
||||
$emptySlice CALLDICT |
||||
s3 s5 XCHG |
||||
s4 s14 XCHG |
||||
s2 s3 XCHG |
||||
s2 s15 XCHG |
||||
__gen_writecell_TokenTransferInternal INLINECALLDICT |
||||
s5 s6 s0 XCHG3 |
||||
s4 s10 XCHG |
||||
s3 s9 XCHG |
||||
s0 s10 s9 XCHG3 |
||||
$send CALLDICT |
||||
2SWAP |
||||
}> |
||||
$__gen_SampleJetton_requireWallet PROC:<{ |
||||
__tact_context_get INLINECALLDICT |
||||
s2 s3 XCHG |
||||
3 BLKDROP |
||||
5 -ROLL |
||||
$__gen_SampleJetton_getJettonWalletInit CALLDICT |
||||
SWAP |
||||
4429 PUSHINT |
||||
s0 s2 XCHG |
||||
$contractAddress CALLDICT |
||||
s0 s6 XCHG2 |
||||
__tact_address_eq INLINECALLDICT |
||||
s1 s5 XCHG |
||||
THROWANYIFNOT |
||||
3 ROLL |
||||
}> |
||||
$__gen_SampleJetton_requireOwner PROC:<{ |
||||
__tact_context_get INLINECALLDICT |
||||
__gen_Context_get_sender INLINECALLDICT |
||||
s3 PUSH |
||||
__tact_address_eq INLINECALLDICT |
||||
132 THROWIFNOT |
||||
}> |
||||
$__gen_SampleJetton_owner PROC:<{ |
||||
s2 s3 XCHG |
||||
3 BLKDROP |
||||
}> |
||||
$__gen_get_owner PROC:<{ |
||||
__gen_load_SampleJetton INLINECALLDICT |
||||
$__gen_SampleJetton_owner CALLDICT |
||||
}> |
||||
$__gen_SampleJetton_receive_Mint PROC:<{ |
||||
__tact_context_get INLINECALLDICT |
||||
s2 s3 XCHG |
||||
3 BLKDROP |
||||
TUCK |
||||
$__gen_SampleJetton_mint CALLDICT |
||||
}> |
||||
$__gen_SampleJetton_receive_comment_cd0d986cb1a2f468ae7089f4fc3162c116e5f53fbd11a6839f52dbf5040830b2 PROC:<{ |
||||
__tact_context_get INLINECALLDICT |
||||
s2 s3 XCHG |
||||
3 BLKDROP |
||||
1000000000 PUSHINT |
||||
OVER |
||||
$__gen_SampleJetton_mint CALLDICT |
||||
}> |
||||
$__gen_SampleJetton_receive_TokenUpdateContent PROC:<{ |
||||
4 -ROLL |
||||
$__gen_SampleJetton_requireOwner CALLDICT |
||||
NIP |
||||
s1 s3 s0 XCHG3 |
||||
}> |
||||
$__gen_SampleJetton_receive_TokenBurnNotification PROC:<{ |
||||
s4 s7 XCHG |
||||
s3 s6 XCHG |
||||
s5 s7 s7 XCHG3 |
||||
$__gen_SampleJetton_requireWallet CALLDICT |
||||
s3 s4 XCHG2 |
||||
SUB |
||||
s5 PUSH |
||||
ISNULL |
||||
NOT |
||||
IF:<{ |
||||
FALSE |
||||
s0 s6 XCHG |
||||
__tact_not_null CALLDICT |
||||
0 PUSHINT |
||||
66 PUSHINT |
||||
s0 s7 XCHG |
||||
__gen_writecell_TokenExcesses INLINECALLDICT |
||||
s4 s8 XCHG |
||||
s1 s3 s0 XCHG3 |
||||
s1 s7 XCHG |
||||
PUSHNULL |
||||
PUSHNULL |
||||
$send CALLDICT |
||||
}>ELSE<{ |
||||
s4 POP |
||||
s4 POP |
||||
}> |
||||
s3 s0 s0 XCHG3 |
||||
}> |
||||
recv_internal PROC:<{ |
||||
c2 SAVE |
||||
SAMEALTSAVE |
||||
0 PUSHINT |
||||
OVER |
||||
SBITS |
||||
31 GTINT |
||||
IF:<{ |
||||
DROP |
||||
DUP |
||||
32 PLDU |
||||
}> |
||||
s0 s2 XCHG |
||||
CTOS |
||||
4 LDU |
||||
SWAP |
||||
1 PUSHINT |
||||
AND |
||||
1 EQINT |
||||
IF:<{ |
||||
TRUE |
||||
}>ELSE<{ |
||||
FALSE |
||||
}> |
||||
SWAP |
||||
LDMSGADDR |
||||
s2 PUSH |
||||
s6 s6 XCHG2 |
||||
4 TUPLE |
||||
__tact_context SETGLOB |
||||
s0 s2 XCHG |
||||
IFJMP:<{ |
||||
2DROP |
||||
}> |
||||
DUP |
||||
33240155 PUSHINT |
||||
EQUAL |
||||
IFJMP:<{ |
||||
DROP |
||||
__gen_load_SampleJetton INLINECALLDICT |
||||
s0 s4 XCHG |
||||
__gen_read_Mint INLINECALLDICT |
||||
NIP |
||||
s3 s4 XCHG |
||||
s1 s3 s0 XCHG3 |
||||
$__gen_SampleJetton_receive_Mint CALLDICT |
||||
__gen_store_SampleJetton INLINECALLDICT |
||||
}> |
||||
DUP |
||||
201882270 PUSHINT |
||||
EQUAL |
||||
IFJMP:<{ |
||||
DROP |
||||
__gen_load_SampleJetton INLINECALLDICT |
||||
s0 s4 XCHG |
||||
__gen_read_TokenUpdateContent INLINECALLDICT |
||||
NIP |
||||
s3 s4 XCHG |
||||
s1 s3 s0 XCHG3 |
||||
$__gen_SampleJetton_receive_TokenUpdateContent CALLDICT |
||||
__gen_store_SampleJetton INLINECALLDICT |
||||
}> |
||||
DUP |
||||
2078119902 PUSHINT |
||||
EQUAL |
||||
IFJMP:<{ |
||||
DROP |
||||
__gen_load_SampleJetton INLINECALLDICT |
||||
s0 s4 XCHG |
||||
__gen_read_TokenBurnNotification INLINECALLDICT |
||||
s4 POP |
||||
s6 s7 XCHG |
||||
s5 s6 XCHG |
||||
s4 s5 XCHG |
||||
3 ROLL |
||||
$__gen_SampleJetton_receive_TokenBurnNotification CALLDICT |
||||
__gen_store_SampleJetton INLINECALLDICT |
||||
}> |
||||
0 EQINT |
||||
IF:<{ |
||||
HASHSU |
||||
92748154967237992140665580847895802782213764542359950109876145449566260965554 PUSHINT |
||||
EQUAL |
||||
IFJMP:<{ |
||||
__gen_load_SampleJetton INLINECALLDICT |
||||
$__gen_SampleJetton_receive_comment_cd0d986cb1a2f468ae7089f4fc3162c116e5f53fbd11a6839f52dbf5040830b2 CALLDICT |
||||
__gen_store_SampleJetton INLINECALLDICT |
||||
RETALT |
||||
}> |
||||
}>ELSE<{ |
||||
DROP |
||||
}> |
||||
130 THROW |
||||
}> |
||||
supported_interfaces PROC:<{ |
||||
123515602279859691144772641439386770278 PUSHINT |
||||
209801025412363888721030803524359905849 PUSHINT |
||||
258390863389042349688353801369539695109 PUSHINT |
||||
86142586315491086060343270784266291122 PUSHINT |
||||
}> |
||||
get_abi_ipfs PROC:<{ |
||||
x{697066733a2f2f516d5066796f41766b5055717a7839336771384542635663634159584645626a6e71434d72485974795055486645} PUSHSLICE |
||||
}> |
||||
}END>c |
@ -1,860 +0,0 @@
|
||||
SETCP0 |
||||
(:methods |
||||
recv_internal: |
||||
c2 SAVE |
||||
SAMEALTSAVE |
||||
0 PUSHINT |
||||
s1 PUSH |
||||
SBITS |
||||
31 GTINT |
||||
<{ |
||||
s0 POP |
||||
s0 PUSH |
||||
32 PLDU |
||||
}> PUSHCONT |
||||
IF |
||||
s0 s2 XCHG |
||||
CTOS |
||||
4 LDU |
||||
s0 s1 XCHG |
||||
1 PUSHINT |
||||
AND |
||||
1 EQINT |
||||
<{ |
||||
-1 PUSHINT |
||||
}> PUSHCONT |
||||
<{ |
||||
0 PUSHINT |
||||
}> PUSHCONT |
||||
IFELSE |
||||
s0 s1 XCHG |
||||
LDMSGADDR |
||||
s2 PUSH |
||||
s6 s6 XCHG2 |
||||
4 TUPLE |
||||
1 SETGLOBVAR |
||||
s0 s2 XCHG |
||||
<{ |
||||
2DROP |
||||
}> PUSHCONT |
||||
IFJMP |
||||
s0 PUSH |
||||
33240155 PUSHINT |
||||
EQUAL |
||||
<{ |
||||
s0 POP |
||||
<{ |
||||
c4 PUSH |
||||
CTOS |
||||
LDREF |
||||
s0 s1 XCHG |
||||
2 SETGLOBVAR |
||||
<{ |
||||
LDGRAMS |
||||
LDMSGADDR |
||||
s0 s1 XCHG |
||||
s0 s1 XCHG |
||||
1 LDI |
||||
s0 s1 XCHG |
||||
<{ |
||||
LDREF |
||||
}> PUSHCONT |
||||
<{ |
||||
PUSHNULL |
||||
s0 s1 XCHG |
||||
}> PUSHCONT |
||||
IFELSE |
||||
1 LDI |
||||
4 1 BLKSWAP |
||||
}> CALLREF |
||||
1 4 BLKDROP2 |
||||
}> CALLREF |
||||
s0 s4 XCHG |
||||
<{ |
||||
32 LDU |
||||
s0 s1 XCHG |
||||
33240155 PUSHINT |
||||
EQUAL |
||||
129 THROWIFNOT |
||||
257 PUSHINT |
||||
LDI |
||||
s0 s1 XCHG |
||||
}> CALLREF |
||||
s1 POP |
||||
s3 s4 XCHG |
||||
s1 s3 s0 XCHG3 |
||||
43 CALLDICT |
||||
<{ |
||||
NEWC |
||||
2 GETGLOBVAR |
||||
s0 s1 XCHG |
||||
STREF |
||||
4 1 BLKSWAP |
||||
<{ |
||||
s4 s3 XCHG2 |
||||
STGRAMS |
||||
s0 s1 XCHG |
||||
STSLICER |
||||
s2 PUSH |
||||
ISNULL |
||||
NOT |
||||
<{ |
||||
-1 PUSHINT |
||||
s0 s1 XCHG |
||||
1 STI |
||||
s1 s2 XCHG |
||||
STREF |
||||
}> PUSHCONT |
||||
<{ |
||||
s2 POP |
||||
0 PUSHINT |
||||
ROT |
||||
1 STI |
||||
}> PUSHCONT |
||||
IFELSE |
||||
1 STI |
||||
}> CALLREF |
||||
ENDC |
||||
c4 POP |
||||
}> CALLREF |
||||
}> PUSHCONT |
||||
IFJMP |
||||
s0 PUSH |
||||
201882270 PUSHINT |
||||
EQUAL |
||||
<{ |
||||
s0 POP |
||||
<{ |
||||
c4 PUSH |
||||
CTOS |
||||
LDREF |
||||
s0 s1 XCHG |
||||
2 SETGLOBVAR |
||||
<{ |
||||
LDGRAMS |
||||
LDMSGADDR |
||||
s0 s1 XCHG |
||||
s0 s1 XCHG |
||||
1 LDI |
||||
s0 s1 XCHG |
||||
<{ |
||||
LDREF |
||||
}> PUSHCONT |
||||
<{ |
||||
PUSHNULL |
||||
s0 s1 XCHG |
||||
}> PUSHCONT |
||||
IFELSE |
||||
1 LDI |
||||
4 1 BLKSWAP |
||||
}> CALLREF |
||||
1 4 BLKDROP2 |
||||
}> CALLREF |
||||
s0 s4 XCHG |
||||
<{ |
||||
32 LDU |
||||
s0 s1 XCHG |
||||
201882270 PUSHINT |
||||
EQUAL |
||||
129 THROWIFNOT |
||||
1 LDI |
||||
s0 s1 XCHG |
||||
<{ |
||||
LDREF |
||||
}> PUSHCONT |
||||
<{ |
||||
PUSHNULL |
||||
s0 s1 XCHG |
||||
}> PUSHCONT |
||||
IFELSE |
||||
s0 s1 XCHG |
||||
}> CALLREF |
||||
s1 POP |
||||
s3 s4 XCHG |
||||
s1 s3 s0 XCHG3 |
||||
45 CALLDICT |
||||
<{ |
||||
NEWC |
||||
2 GETGLOBVAR |
||||
s0 s1 XCHG |
||||
STREF |
||||
4 1 BLKSWAP |
||||
<{ |
||||
s4 s3 XCHG2 |
||||
STGRAMS |
||||
s0 s1 XCHG |
||||
STSLICER |
||||
s2 PUSH |
||||
ISNULL |
||||
NOT |
||||
<{ |
||||
-1 PUSHINT |
||||
s0 s1 XCHG |
||||
1 STI |
||||
s1 s2 XCHG |
||||
STREF |
||||
}> PUSHCONT |
||||
<{ |
||||
s2 POP |
||||
0 PUSHINT |
||||
ROT |
||||
1 STI |
||||
}> PUSHCONT |
||||
IFELSE |
||||
1 STI |
||||
}> CALLREF |
||||
ENDC |
||||
c4 POP |
||||
}> CALLREF |
||||
}> PUSHCONT |
||||
IFJMP |
||||
s0 PUSH |
||||
2078119902 PUSHINT |
||||
EQUAL |
||||
<{ |
||||
s0 POP |
||||
<{ |
||||
c4 PUSH |
||||
CTOS |
||||
LDREF |
||||
s0 s1 XCHG |
||||
2 SETGLOBVAR |
||||
<{ |
||||
LDGRAMS |
||||
LDMSGADDR |
||||
s0 s1 XCHG |
||||
s0 s1 XCHG |
||||
1 LDI |
||||
s0 s1 XCHG |
||||
<{ |
||||
LDREF |
||||
}> PUSHCONT |
||||
<{ |
||||
PUSHNULL |
||||
s0 s1 XCHG |
||||
}> PUSHCONT |
||||
IFELSE |
||||
1 LDI |
||||
4 1 BLKSWAP |
||||
}> CALLREF |
||||
1 4 BLKDROP2 |
||||
}> CALLREF |
||||
s0 s4 XCHG |
||||
<{ |
||||
32 LDU |
||||
s0 s1 XCHG |
||||
2078119902 PUSHINT |
||||
EQUAL |
||||
129 THROWIFNOT |
||||
64 LDU |
||||
LDGRAMS |
||||
LDMSGADDR |
||||
s0 s1 XCHG |
||||
s0 s1 XCHG |
||||
LDMSGADDR |
||||
s1 PUSH |
||||
2 PLDU |
||||
0 NEQINT |
||||
<{ |
||||
s0 s1 XCHG |
||||
}> PUSHCONT |
||||
<{ |
||||
s1 POP |
||||
PUSHNULL |
||||
}> PUSHCONT |
||||
IFELSE |
||||
s1 s4 XCHG |
||||
s3 s3 s0 XCHG3 |
||||
}> CALLREF |
||||
s4 POP |
||||
s6 s7 XCHG |
||||
s5 s6 XCHG |
||||
s4 s5 XCHG |
||||
1 3 BLKSWAP |
||||
46 CALLDICT |
||||
<{ |
||||
NEWC |
||||
2 GETGLOBVAR |
||||
s0 s1 XCHG |
||||
STREF |
||||
4 1 BLKSWAP |
||||
<{ |
||||
s4 s3 XCHG2 |
||||
STGRAMS |
||||
s0 s1 XCHG |
||||
STSLICER |
||||
s2 PUSH |
||||
ISNULL |
||||
NOT |
||||
<{ |
||||
-1 PUSHINT |
||||
s0 s1 XCHG |
||||
1 STI |
||||
s1 s2 XCHG |
||||
STREF |
||||
}> PUSHCONT |
||||
<{ |
||||
s2 POP |
||||
0 PUSHINT |
||||
ROT |
||||
1 STI |
||||
}> PUSHCONT |
||||
IFELSE |
||||
1 STI |
||||
}> CALLREF |
||||
ENDC |
||||
c4 POP |
||||
}> CALLREF |
||||
}> PUSHCONT |
||||
IFJMP |
||||
0 EQINT |
||||
<{ |
||||
HASHSU |
||||
92748154967237992140665580847895802782213764542359950109876145449566260965554 PUSHINT |
||||
EQUAL |
||||
<{ |
||||
<{ |
||||
c4 PUSH |
||||
CTOS |
||||
LDREF |
||||
s0 s1 XCHG |
||||
2 SETGLOBVAR |
||||
<{ |
||||
LDGRAMS |
||||
LDMSGADDR |
||||
s0 s1 XCHG |
||||
s0 s1 XCHG |
||||
1 LDI |
||||
s0 s1 XCHG |
||||
<{ |
||||
LDREF |
||||
}> PUSHCONT |
||||
<{ |
||||
PUSHNULL |
||||
s0 s1 XCHG |
||||
}> PUSHCONT |
||||
IFELSE |
||||
1 LDI |
||||
4 1 BLKSWAP |
||||
}> CALLREF |
||||
1 4 BLKDROP2 |
||||
}> CALLREF |
||||
44 CALLDICT |
||||
<{ |
||||
NEWC |
||||
2 GETGLOBVAR |
||||
s0 s1 XCHG |
||||
STREF |
||||
4 1 BLKSWAP |
||||
<{ |
||||
s4 s3 XCHG2 |
||||
STGRAMS |
||||
s0 s1 XCHG |
||||
STSLICER |
||||
s2 PUSH |
||||
ISNULL |
||||
NOT |
||||
<{ |
||||
-1 PUSHINT |
||||
s0 s1 XCHG |
||||
1 STI |
||||
s1 s2 XCHG |
||||
STREF |
||||
}> PUSHCONT |
||||
<{ |
||||
s2 POP |
||||
0 PUSHINT |
||||
ROT |
||||
1 STI |
||||
}> PUSHCONT |
||||
IFELSE |
||||
1 STI |
||||
}> CALLREF |
||||
ENDC |
||||
c4 POP |
||||
}> CALLREF |
||||
RETALT |
||||
}> PUSHCONT |
||||
IFJMP |
||||
}> PUSHCONT |
||||
<{ |
||||
s0 POP |
||||
}> PUSHCONT |
||||
IFELSE |
||||
130 THROW |
||||
|
||||
1: |
||||
s0 PUSH |
||||
ISNULL |
||||
128 THROWIF |
||||
|
||||
26: |
||||
|
||||
29: |
||||
NEWC |
||||
ENDC |
||||
|
||||
30: |
||||
CTOS |
||||
|
||||
31: |
||||
29 CALLDICT |
||||
30 CALLDICT |
||||
|
||||
32: |
||||
0 PUSHINT |
||||
ROTREV |
||||
NEWC |
||||
0 PUSHINT |
||||
s0 s1 XCHG |
||||
2 STU |
||||
3 PUSHINT |
||||
s0 s1 XCHG |
||||
2 STU |
||||
0 PUSHINT |
||||
s0 s1 XCHG |
||||
1 STU |
||||
s1 s2 XCHG |
||||
STREF |
||||
STREF |
||||
ENDC |
||||
HASHCU |
||||
NEWC |
||||
2 PUSHINT |
||||
s0 s1 XCHG |
||||
2 STU |
||||
0 PUSHINT |
||||
s0 s1 XCHG |
||||
1 STU |
||||
s1 s2 XCHG |
||||
8 STI |
||||
256 STU |
||||
ENDC |
||||
CTOS |
||||
|
||||
33: |
||||
NEWC |
||||
1 PUSHINT |
||||
s0 s1 XCHG |
||||
2 STI |
||||
s0 s7 XCHG2 |
||||
s0 s1 XCHG |
||||
1 STI |
||||
0 PUSHINT |
||||
s0 s1 XCHG |
||||
3 STI |
||||
s0 s5 XCHG2 |
||||
STSLICER |
||||
s0 s3 XCHG2 |
||||
STGRAMS |
||||
0 PUSHINT |
||||
s0 s1 XCHG |
||||
105 STI |
||||
s3 PUSH |
||||
ISNULL |
||||
NOT |
||||
s5 PUSH |
||||
ISNULL |
||||
NOT |
||||
OR |
||||
<{ |
||||
-1 PUSHINT |
||||
s0 s1 XCHG |
||||
1 STI |
||||
NEWC |
||||
0 PUSHINT |
||||
s0 s1 XCHG |
||||
1 STI |
||||
0 PUSHINT |
||||
s0 s1 XCHG |
||||
1 STI |
||||
s4 PUSH |
||||
ISNULL |
||||
NOT |
||||
<{ |
||||
-1 PUSHINT |
||||
s0 s1 XCHG |
||||
1 STI |
||||
s0 s4 XCHG |
||||
1 CALLDICT |
||||
s0 s4 XCHG2 |
||||
STREF |
||||
}> PUSHCONT |
||||
<{ |
||||
s4 POP |
||||
s0 s3 XCHG |
||||
0 PUSHINT |
||||
s0 s1 XCHG |
||||
1 STI |
||||
}> PUSHCONT |
||||
IFELSE |
||||
s4 PUSH |
||||
ISNULL |
||||
NOT |
||||
<{ |
||||
-1 PUSHINT |
||||
s0 s1 XCHG |
||||
1 STI |
||||
s0 s4 XCHG |
||||
1 CALLDICT |
||||
s0 s4 XCHG2 |
||||
STREF |
||||
}> PUSHCONT |
||||
<{ |
||||
s4 POP |
||||
s0 s3 XCHG |
||||
0 PUSHINT |
||||
s0 s1 XCHG |
||||
1 STI |
||||
}> PUSHCONT |
||||
IFELSE |
||||
0 PUSHINT |
||||
s0 s1 XCHG |
||||
1 STI |
||||
s0 s2 XCHG |
||||
-1 PUSHINT |
||||
s0 s1 XCHG |
||||
1 STI |
||||
s0 s2 XCHG |
||||
ENDC |
||||
ROT |
||||
STREF |
||||
}> PUSHCONT |
||||
<{ |
||||
s3 POP |
||||
s3 POP |
||||
s0 s1 XCHG |
||||
0 PUSHINT |
||||
s0 s1 XCHG |
||||
1 STI |
||||
}> PUSHCONT |
||||
IFELSE |
||||
s1 PUSH |
||||
ISNULL |
||||
NOT |
||||
<{ |
||||
-1 PUSHINT |
||||
s0 s1 XCHG |
||||
1 STI |
||||
s0 s1 XCHG |
||||
1 CALLDICT |
||||
s0 s1 XCHG |
||||
STREF |
||||
}> IFREFELSEREF |
||||
ENDC |
||||
s0 s1 XCHG |
||||
SENDRAWMSG |
||||
s1 POP |
||||
0 PUSHINT |
||||
s0 s1 XCHG |
||||
1 STI |
||||
|
||||
34: |
||||
0 PUSHINT |
||||
s0 s3 XCHG |
||||
NEWC |
||||
STREF |
||||
s3 s1 s3 XCHG3 |
||||
<{ |
||||
s2 s3 XCHG2 |
||||
257 PUSHINT |
||||
STIX |
||||
s0 s1 XCHG |
||||
STSLICER |
||||
s0 s1 XCHG |
||||
STSLICER |
||||
}> CALLREF |
||||
ENDC |
||||
|
||||
35: |
||||
s0 s2 XCHG |
||||
CTOS |
||||
LDDICT |
||||
s0 POP |
||||
PUSHNULL |
||||
s0 s1 XCHG |
||||
55471 PUSHINT |
||||
s0 s1 XCHG |
||||
16 PUSHINT |
||||
DICTUGETREF |
||||
NULLSWAPIFNOT |
||||
135 THROWIFNOT |
||||
s0 s1 XCHG |
||||
55471 PUSHINT |
||||
s2 PUSH |
||||
s0 s2 XCHG |
||||
16 PUSHINT |
||||
DICTUSETREF |
||||
NEWC |
||||
STDICT |
||||
ENDC |
||||
s0 s0 s3 XCHG3 |
||||
34 CALLDICT |
||||
|
||||
36: |
||||
2 GETGLOBVAR |
||||
MYADDR |
||||
ROT |
||||
35 CALLDICT |
||||
|
||||
37: |
||||
36 CALLDICT |
||||
4 2 BLKDROP2 |
||||
32 CALLDICT |
||||
|
||||
38: |
||||
MYADDR |
||||
36 CALLDICT |
||||
s0 POP |
||||
s3 s3 s0 XCHG3 |
||||
|
||||
39: |
||||
s6 s1 XCPU |
||||
ADD |
||||
4 2 BLKSWAP |
||||
36 CALLDICT |
||||
2DUP |
||||
32 CALLDICT |
||||
0 PUSHINT |
||||
0 PUSHINT |
||||
64 PUSHINT |
||||
s1 PUSH |
||||
MYADDR |
||||
s1 PUSH |
||||
31 CALLDICT |
||||
s3 s5 XCHG |
||||
s4 s14 XCHG |
||||
s2 s3 XCHG |
||||
s2 s15 XCHG |
||||
<{ |
||||
NEWC |
||||
6 1 BLKSWAP |
||||
<{ |
||||
395134233 PUSHINT |
||||
s0 s7 XCHG2 |
||||
32 STU |
||||
s1 s5 XCHG |
||||
64 STU |
||||
s0 s3 XCHG2 |
||||
STGRAMS |
||||
s0 s1 XCHG |
||||
STSLICER |
||||
s0 s1 XCHG |
||||
s0 PUSH |
||||
ISNULL |
||||
<{ |
||||
s0 POP |
||||
0 PUSHINT |
||||
s0 s1 XCHG |
||||
2 STU |
||||
}> PUSHCONT |
||||
<{ |
||||
STSLICER |
||||
}> PUSHCONT |
||||
IFELSE |
||||
s0 s1 XCHG |
||||
STGRAMS |
||||
s0 s1 XCHG |
||||
STSLICER |
||||
}> CALLREF |
||||
ENDC |
||||
}> CALLREF |
||||
s5 s6 s0 XCHG3 |
||||
s4 s10 XCHG |
||||
s3 s9 XCHG |
||||
s0 s10 s9 XCHG3 |
||||
33 CALLDICT |
||||
2SWAP |
||||
|
||||
40: |
||||
1 GETGLOBVAR |
||||
4 UNTUPLE |
||||
s2 s3 XCHG |
||||
3 BLKDROP |
||||
5 1 BLKSWAP |
||||
36 CALLDICT |
||||
s0 s1 XCHG |
||||
4429 PUSHINT |
||||
s0 s2 XCHG |
||||
32 CALLDICT |
||||
s0 s6 XCHG2 |
||||
SDEQ |
||||
s1 s5 XCHG |
||||
THROWANYIFNOT |
||||
1 3 BLKSWAP |
||||
|
||||
41: |
||||
1 GETGLOBVAR |
||||
4 UNTUPLE |
||||
s2 s3 XCHG |
||||
3 BLKDROP |
||||
s3 PUSH |
||||
SDEQ |
||||
132 THROWIFNOT |
||||
|
||||
42: |
||||
s2 s3 XCHG |
||||
3 BLKDROP |
||||
|
||||
43: |
||||
1 GETGLOBVAR |
||||
4 UNTUPLE |
||||
s2 s3 XCHG |
||||
3 BLKDROP |
||||
TUCK |
||||
39 CALLDICT |
||||
|
||||
44: |
||||
1 GETGLOBVAR |
||||
4 UNTUPLE |
||||
s2 s3 XCHG |
||||
3 BLKDROP |
||||
1000000000 PUSHINT |
||||
s1 PUSH |
||||
39 CALLDICT |
||||
|
||||
45: |
||||
4 1 BLKSWAP |
||||
41 CALLDICT |
||||
s1 POP |
||||
s1 s3 s0 XCHG3 |
||||
|
||||
46: |
||||
s4 s7 XCHG |
||||
s3 s6 XCHG |
||||
s5 s7 s7 XCHG3 |
||||
40 CALLDICT |
||||
s3 s4 XCHG2 |
||||
SUB |
||||
s5 PUSH |
||||
ISNULL |
||||
NOT |
||||
<{ |
||||
0 PUSHINT |
||||
s0 s6 XCHG |
||||
1 CALLDICT |
||||
0 PUSHINT |
||||
66 PUSHINT |
||||
s0 s7 XCHG |
||||
<{ |
||||
NEWC |
||||
s0 s1 XCHG |
||||
<{ |
||||
3576854235 PUSHINT |
||||
ROT |
||||
32 STU |
||||
64 STU |
||||
}> CALLREF |
||||
ENDC |
||||
}> CALLREF |
||||
s4 s8 XCHG |
||||
s1 s3 s0 XCHG3 |
||||
s1 s7 XCHG |
||||
PUSHNULL |
||||
PUSHNULL |
||||
33 CALLDICT |
||||
}> PUSHCONT |
||||
<{ |
||||
s4 POP |
||||
s4 POP |
||||
}> PUSHCONT |
||||
IFELSE |
||||
s3 s0 s0 XCHG3 |
||||
|
||||
owner: |
||||
<{ |
||||
c4 PUSH |
||||
CTOS |
||||
LDREF |
||||
s0 s1 XCHG |
||||
2 SETGLOBVAR |
||||
<{ |
||||
LDGRAMS |
||||
LDMSGADDR |
||||
s0 s1 XCHG |
||||
s0 s1 XCHG |
||||
1 LDI |
||||
s0 s1 XCHG |
||||
<{ |
||||
LDREF |
||||
}> PUSHCONT |
||||
<{ |
||||
PUSHNULL |
||||
s0 s1 XCHG |
||||
}> PUSHCONT |
||||
IFELSE |
||||
1 LDI |
||||
4 1 BLKSWAP |
||||
}> CALLREF |
||||
1 4 BLKDROP2 |
||||
}> CALLREF |
||||
42 CALLDICT |
||||
|
||||
get_wallet_address: |
||||
<{ |
||||
c4 PUSH |
||||
CTOS |
||||
LDREF |
||||
s0 s1 XCHG |
||||
2 SETGLOBVAR |
||||
<{ |
||||
LDGRAMS |
||||
LDMSGADDR |
||||
s0 s1 XCHG |
||||
s0 s1 XCHG |
||||
1 LDI |
||||
s0 s1 XCHG |
||||
<{ |
||||
LDREF |
||||
}> PUSHCONT |
||||
<{ |
||||
PUSHNULL |
||||
s0 s1 XCHG |
||||
}> PUSHCONT |
||||
IFELSE |
||||
1 LDI |
||||
4 1 BLKSWAP |
||||
}> CALLREF |
||||
1 4 BLKDROP2 |
||||
}> CALLREF |
||||
1 4 BLKSWAP |
||||
37 CALLDICT |
||||
|
||||
get_jetton_data: |
||||
<{ |
||||
c4 PUSH |
||||
CTOS |
||||
LDREF |
||||
s0 s1 XCHG |
||||
2 SETGLOBVAR |
||||
<{ |
||||
LDGRAMS |
||||
LDMSGADDR |
||||
s0 s1 XCHG |
||||
s0 s1 XCHG |
||||
1 LDI |
||||
s0 s1 XCHG |
||||
<{ |
||||
LDREF |
||||
}> PUSHCONT |
||||
<{ |
||||
PUSHNULL |
||||
s0 s1 XCHG |
||||
}> PUSHCONT |
||||
IFELSE |
||||
1 LDI |
||||
4 1 BLKSWAP |
||||
}> CALLREF |
||||
1 4 BLKDROP2 |
||||
}> CALLREF |
||||
38 CALLDICT |
||||
26 CALLDICT |
||||
|
||||
113617: |
||||
123515602279859691144772641439386770278 PUSHINT |
||||
209801025412363888721030803524359905849 PUSHINT |
||||
258390863389042349688353801369539695109 PUSHINT |
||||
86142586315491086060343270784266291122 PUSHINT |
||||
) 19 DICTPUSHCONST |
||||
DICTIGETJMPZ |
||||
11 THROWARG |
Binary file not shown.
@ -1,39 +0,0 @@
|
||||
() __tact_verify_address(slice address) inline { |
||||
throw_unless(136, address.slice_bits() != 267); |
||||
} |
||||
|
||||
builder __tact_store_address(builder b, slice address) inline { |
||||
__tact_verify_address(address); |
||||
b = b.store_slice(address); |
||||
return b; |
||||
} |
||||
|
||||
builder __gen_write_SampleJetton(builder build_0, (int, slice, cell, int) v) inline_ref { |
||||
var (v'totalSupply, v'owner, v'content, v'mintable) = v; |
||||
build_0 = build_0.store_coins(v'totalSupply); |
||||
build_0 = __tact_store_address(build_0, v'owner); |
||||
build_0 = ~ null?(v'content) ? build_0.store_int(true, 1).store_ref(v'content) : build_0.store_int(false, 1); |
||||
build_0 = build_0.store_int(v'mintable, 1); |
||||
return build_0; |
||||
} |
||||
|
||||
cell $__gen_SampleJetton_init(cell sys', slice $owner, cell $content) { |
||||
var (($self'totalSupply, $self'owner, $self'content, $self'mintable)) = (null(), null(), null(), null()); |
||||
$self'totalSupply = 0; |
||||
$self'owner = $owner; |
||||
$self'mintable = true; |
||||
$self'content = $content; |
||||
var b' = begin_cell(); |
||||
b' = b'.store_ref(sys'); |
||||
b' = __gen_write_SampleJetton(b', ($self'totalSupply, $self'owner, $self'content, $self'mintable)); |
||||
return b'.end_cell(); |
||||
} |
||||
|
||||
cell init(cell sys', slice $$owner, cell $$content) method_id { |
||||
slice $owner = $$owner; |
||||
cell $content = $$content; |
||||
return $__gen_SampleJetton_init(sys', $owner, $content); |
||||
} |
||||
|
||||
() main() { |
||||
} |
@ -1,54 +0,0 @@
|
||||
PROGRAM{ |
||||
DECLPROC __tact_verify_address |
||||
DECLPROC __tact_store_address |
||||
DECLPROC __gen_write_SampleJetton |
||||
DECLPROC $__gen_SampleJetton_init |
||||
107886 DECLMETHOD init |
||||
DECLPROC main |
||||
__tact_verify_address PROCINLINE:<{ |
||||
SBITS |
||||
267 PUSHINT |
||||
NEQ |
||||
136 THROWIFNOT |
||||
}> |
||||
__tact_store_address PROCINLINE:<{ |
||||
STSLICER |
||||
}> |
||||
__gen_write_SampleJetton PROCREF:<{ |
||||
s4 s3 XCHG2 |
||||
STGRAMS |
||||
SWAP |
||||
__tact_store_address INLINECALLDICT |
||||
s2 PUSH |
||||
ISNULL |
||||
NOT |
||||
IF:<{ |
||||
TRUE |
||||
SWAP |
||||
1 STI |
||||
s1 s2 XCHG |
||||
STREF |
||||
}>ELSE<{ |
||||
s2 POP |
||||
FALSE |
||||
ROT |
||||
1 STI |
||||
}> |
||||
1 STI |
||||
}> |
||||
$__gen_SampleJetton_init PROC:<{ |
||||
0 PUSHINT |
||||
TRUE |
||||
s0 s4 XCHG |
||||
NEWC |
||||
STREF |
||||
s3 s3 s4 XCHG3 |
||||
__gen_write_SampleJetton INLINECALLDICT |
||||
ENDC |
||||
}> |
||||
init PROC:<{ |
||||
$__gen_SampleJetton_init CALLDICT |
||||
}> |
||||
main PROC:<{ |
||||
}> |
||||
}END>c |
@ -1,42 +0,0 @@
|
||||
SETCP0 |
||||
(:methods |
||||
recv_internal: |
||||
|
||||
4: |
||||
0 PUSHINT |
||||
-1 PUSHINT |
||||
s0 s4 XCHG |
||||
NEWC |
||||
STREF |
||||
s3 s3 s4 XCHG3 |
||||
<{ |
||||
s4 s3 XCHG2 |
||||
STGRAMS |
||||
s0 s1 XCHG |
||||
STSLICER |
||||
s2 PUSH |
||||
ISNULL |
||||
NOT |
||||
<{ |
||||
-1 PUSHINT |
||||
s0 s1 XCHG |
||||
1 STI |
||||
s1 s2 XCHG |
||||
STREF |
||||
}> PUSHCONT |
||||
<{ |
||||
s2 POP |
||||
0 PUSHINT |
||||
ROT |
||||
1 STI |
||||
}> PUSHCONT |
||||
IFELSE |
||||
1 STI |
||||
}> CALLREF |
||||
ENDC |
||||
|
||||
107886: |
||||
4 CALLDICT |
||||
) 19 DICTPUSHCONST |
||||
DICTIGETJMPZ |
||||
11 THROWARG |
@ -1,72 +0,0 @@
|
||||
# TACT Compilation Report |
||||
Contract: SampleJetton |
||||
BOC Size: 1199 bytes |
||||
|
||||
# Types |
||||
Total Types: 14 |
||||
|
||||
## StateInit |
||||
TLB: `_ code:^cell data:^cell = StateInit` |
||||
Signature: `StateInit{code:^cell,data:^cell}` |
||||
|
||||
## Context |
||||
TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` |
||||
Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` |
||||
|
||||
## SendParameters |
||||
TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` |
||||
Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` |
||||
|
||||
## ChangeOwner |
||||
TLB: `change_owner#0f474d03 newOwner:address = ChangeOwner` |
||||
Signature: `ChangeOwner{newOwner:address}` |
||||
|
||||
## TokenTransfer |
||||
TLB: `token_transfer#0f8a7ea5 queryId:uint64 amount:coins destination:address responseDestination:Maybe address customPayload:Maybe ^cell forwardTonAmount:coins forwardPayload:remainder<slice> = TokenTransfer` |
||||
Signature: `TokenTransfer{queryId:uint64,amount:coins,destination:address,responseDestination:Maybe address,customPayload:Maybe ^cell,forwardTonAmount:coins,forwardPayload:remainder<slice>}` |
||||
|
||||
## TokenTransferInternal |
||||
TLB: `token_transfer_internal#178d4519 queryId:uint64 amount:coins from:address responseAddress:Maybe address forwardTonAmount:coins forwardPayload:remainder<slice> = TokenTransferInternal` |
||||
Signature: `TokenTransferInternal{queryId:uint64,amount:coins,from:address,responseAddress:Maybe address,forwardTonAmount:coins,forwardPayload:remainder<slice>}` |
||||
|
||||
## TokenNotification |
||||
TLB: `token_notification#7362d09c queryId:uint64 amount:coins from:address forwardPayload:remainder<slice> = TokenNotification` |
||||
Signature: `TokenNotification{queryId:uint64,amount:coins,from:address,forwardPayload:remainder<slice>}` |
||||
|
||||
## TokenBurn |
||||
TLB: `token_burn#595f07bc queryId:uint64 amount:coins owner:address responseAddress:Maybe address = TokenBurn` |
||||
Signature: `TokenBurn{queryId:uint64,amount:coins,owner:address,responseAddress:Maybe address}` |
||||
|
||||
## TokenBurnNotification |
||||
TLB: `token_burn_notification#7bdd97de queryId:uint64 amount:coins owner:address responseAddress:Maybe address = TokenBurnNotification` |
||||
Signature: `TokenBurnNotification{queryId:uint64,amount:coins,owner:address,responseAddress:Maybe address}` |
||||
|
||||
## TokenExcesses |
||||
TLB: `token_excesses#d53276db queryId:uint64 = TokenExcesses` |
||||
Signature: `TokenExcesses{queryId:uint64}` |
||||
|
||||
## TokenUpdateContent |
||||
TLB: `token_update_content#0c087a9e content:Maybe ^cell = TokenUpdateContent` |
||||
Signature: `TokenUpdateContent{content:Maybe ^cell}` |
||||
|
||||
## JettonData |
||||
TLB: `_ totalSupply:int257 mintable:bool owner:address content:Maybe ^cell walletCode:^cell = JettonData` |
||||
Signature: `JettonData{totalSupply:int257,mintable:bool,owner:address,content:Maybe ^cell,walletCode:^cell}` |
||||
|
||||
## JettonWalletData |
||||
TLB: `_ balance:int257 owner:address master:address walletCode:^cell = JettonWalletData` |
||||
Signature: `JettonWalletData{balance:int257,owner:address,master:address,walletCode:^cell}` |
||||
|
||||
## Mint |
||||
TLB: `mint#01fb345b amount:int257 = Mint` |
||||
Signature: `Mint{amount:int257}` |
||||
|
||||
# Get Methods |
||||
Total Get Methods: 3 |
||||
|
||||
## get_wallet_address |
||||
Argument: owner |
||||
|
||||
## get_jetton_data |
||||
|
||||
## owner |
File diff suppressed because one or more lines are too long
@ -1,881 +0,0 @@
|
||||
import { Cell, Slice, Address, Builder, beginCell, ComputeError, TupleReader, contractAddress, ContractProvider, Sender, Contract, ContractABI, TupleBuilder, DictionaryValue } from 'ton-core'; |
||||
import { ContractSystem, ContractExecutor } from 'ton-emulator'; |
||||
|
||||
export type StateInit = { |
||||
$$type: 'StateInit'; |
||||
code: Cell; |
||||
data: Cell; |
||||
} |
||||
|
||||
export function storeStateInit(src: StateInit) { |
||||
return (builder: Builder) => { |
||||
let b_0 = builder; |
||||
b_0.storeRef(src.code); |
||||
b_0.storeRef(src.data); |
||||
}; |
||||
} |
||||
|
||||
export function loadStateInit(slice: Slice) { |
||||
let sc_0 = slice; |
||||
let _code = sc_0.loadRef(); |
||||
let _data = sc_0.loadRef(); |
||||
return { $$type: 'StateInit' as const, code: _code, data: _data }; |
||||
} |
||||
|
||||
function loadTupleStateInit(source: TupleReader) { |
||||
let _code = source.readCell(); |
||||
let _data = source.readCell(); |
||||
return { $$type: 'StateInit' as const, code: _code, data: _data }; |
||||
} |
||||
|
||||
function storeTupleStateInit(source: StateInit) { |
||||
let builder = new TupleBuilder(); |
||||
builder.writeCell(source.code); |
||||
builder.writeCell(source.data); |
||||
return builder.build(); |
||||
} |
||||
|
||||
function dictValueParserStateInit(): DictionaryValue<StateInit> { |
||||
return { |
||||
serialize: (src, buidler) => { |
||||
buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); |
||||
}, |
||||
parse: (src) => { |
||||
return loadStateInit(src.loadRef().beginParse()); |
||||
} |
||||
} |
||||
} |
||||
export type Context = { |
||||
$$type: 'Context'; |
||||
bounced: boolean; |
||||
sender: Address; |
||||
value: bigint; |
||||
raw: Cell; |
||||
} |
||||
|
||||
export function storeContext(src: Context) { |
||||
return (builder: Builder) => { |
||||
let b_0 = builder; |
||||
b_0.storeBit(src.bounced); |
||||
b_0.storeAddress(src.sender); |
||||
b_0.storeInt(src.value, 257); |
||||
b_0.storeRef(src.raw); |
||||
}; |
||||
} |
||||
|
||||
export function loadContext(slice: Slice) { |
||||
let sc_0 = slice; |
||||
let _bounced = sc_0.loadBit(); |
||||
let _sender = sc_0.loadAddress(); |
||||
let _value = sc_0.loadIntBig(257); |
||||
let _raw = sc_0.loadRef(); |
||||
return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; |
||||
} |
||||
|
||||
function loadTupleContext(source: TupleReader) { |
||||
let _bounced = source.readBoolean(); |
||||
let _sender = source.readAddress(); |
||||
let _value = source.readBigNumber(); |
||||
let _raw = source.readCell(); |
||||
return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; |
||||
} |
||||
|
||||
function storeTupleContext(source: Context) { |
||||
let builder = new TupleBuilder(); |
||||
builder.writeBoolean(source.bounced); |
||||
builder.writeAddress(source.sender); |
||||
builder.writeNumber(source.value); |
||||
builder.writeSlice(source.raw); |
||||
return builder.build(); |
||||
} |
||||
|
||||
function dictValueParserContext(): DictionaryValue<Context> { |
||||
return { |
||||
serialize: (src, buidler) => { |
||||
buidler.storeRef(beginCell().store(storeContext(src)).endCell()); |
||||
}, |
||||
parse: (src) => { |
||||
return loadContext(src.loadRef().beginParse()); |
||||
} |
||||
} |
||||
} |
||||
export type SendParameters = { |
||||
$$type: 'SendParameters'; |
||||
bounce: boolean; |
||||
to: Address; |
||||
value: bigint; |
||||
mode: bigint; |
||||
body: Cell | null; |
||||
code: Cell | null; |
||||
data: Cell | null; |
||||
} |
||||
|
||||
export function storeSendParameters(src: SendParameters) { |
||||
return (builder: Builder) => { |
||||
let b_0 = builder; |
||||
b_0.storeBit(src.bounce); |
||||
b_0.storeAddress(src.to); |
||||
b_0.storeInt(src.value, 257); |
||||
b_0.storeInt(src.mode, 257); |
||||
if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } |
||||
if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } |
||||
if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } |
||||
}; |
||||
} |
||||
|
||||
export function loadSendParameters(slice: Slice) { |
||||
let sc_0 = slice; |
||||
let _bounce = sc_0.loadBit(); |
||||
let _to = sc_0.loadAddress(); |
||||
let _value = sc_0.loadIntBig(257); |
||||
let _mode = sc_0.loadIntBig(257); |
||||
let _body = sc_0.loadBit() ? sc_0.loadRef() : null; |
||||
let _code = sc_0.loadBit() ? sc_0.loadRef() : null; |
||||
let _data = sc_0.loadBit() ? sc_0.loadRef() : null; |
||||
return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; |
||||
} |
||||
|
||||
function loadTupleSendParameters(source: TupleReader) { |
||||
let _bounce = source.readBoolean(); |
||||
let _to = source.readAddress(); |
||||
let _value = source.readBigNumber(); |
||||
let _mode = source.readBigNumber(); |
||||
let _body = source.readCellOpt(); |
||||
let _code = source.readCellOpt(); |
||||
let _data = source.readCellOpt(); |
||||
return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; |
||||
} |
||||
|
||||
function storeTupleSendParameters(source: SendParameters) { |
||||
let builder = new TupleBuilder(); |
||||
builder.writeBoolean(source.bounce); |
||||
builder.writeAddress(source.to); |
||||
builder.writeNumber(source.value); |
||||
builder.writeNumber(source.mode); |
||||
builder.writeCell(source.body); |
||||
builder.writeCell(source.code); |
||||
builder.writeCell(source.data); |
||||
return builder.build(); |
||||
} |
||||
|
||||
function dictValueParserSendParameters(): DictionaryValue<SendParameters> { |
||||
return { |
||||
serialize: (src, buidler) => { |
||||
buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); |
||||
}, |
||||
parse: (src) => { |
||||
return loadSendParameters(src.loadRef().beginParse()); |
||||
} |
||||
} |
||||
} |
||||
export type ChangeOwner = { |
||||
$$type: 'ChangeOwner'; |
||||
newOwner: Address; |
||||
} |
||||
|
||||
export function storeChangeOwner(src: ChangeOwner) { |
||||
return (builder: Builder) => { |
||||
let b_0 = builder; |
||||
b_0.storeUint(256331011, 32); |
||||
b_0.storeAddress(src.newOwner); |
||||
}; |
||||
} |
||||
|
||||
export function loadChangeOwner(slice: Slice) { |
||||
let sc_0 = slice; |
||||
if (sc_0.loadUint(32) !== 256331011) { throw Error('Invalid prefix'); } |
||||
let _newOwner = sc_0.loadAddress(); |
||||
return { $$type: 'ChangeOwner' as const, newOwner: _newOwner }; |
||||
} |
||||
|
||||
function loadTupleChangeOwner(source: TupleReader) { |
||||
let _newOwner = source.readAddress(); |
||||
return { $$type: 'ChangeOwner' as const, newOwner: _newOwner }; |
||||
} |
||||
|
||||
function storeTupleChangeOwner(source: ChangeOwner) { |
||||
let builder = new TupleBuilder(); |
||||
builder.writeAddress(source.newOwner); |
||||
return builder.build(); |
||||
} |
||||
|
||||
function dictValueParserChangeOwner(): DictionaryValue<ChangeOwner> { |
||||
return { |
||||
serialize: (src, buidler) => { |
||||
buidler.storeRef(beginCell().store(storeChangeOwner(src)).endCell()); |
||||
}, |
||||
parse: (src) => { |
||||
return loadChangeOwner(src.loadRef().beginParse()); |
||||
} |
||||
} |
||||
} |
||||
export type TokenTransfer = { |
||||
$$type: 'TokenTransfer'; |
||||
queryId: bigint; |
||||
amount: bigint; |
||||
destination: Address; |
||||
responseDestination: Address | null; |
||||
customPayload: Cell | null; |
||||
forwardTonAmount: bigint; |
||||
forwardPayload: Cell; |
||||
} |
||||
|
||||
export function storeTokenTransfer(src: TokenTransfer) { |
||||
return (builder: Builder) => { |
||||
let b_0 = builder; |
||||
b_0.storeUint(260734629, 32); |
||||
b_0.storeUint(src.queryId, 64); |
||||
b_0.storeCoins(src.amount); |
||||
b_0.storeAddress(src.destination); |
||||
if (src.responseDestination !== null && src.responseDestination !== undefined) { b_0.storeBit(true).storeAddress(src.responseDestination); } else { b_0.storeBit(false); } |
||||
if (src.customPayload !== null && src.customPayload !== undefined) { b_0.storeBit(true).storeRef(src.customPayload); } else { b_0.storeBit(false); } |
||||
b_0.storeCoins(src.forwardTonAmount); |
||||
b_0.storeBuilder(src.forwardPayload.asBuilder()); |
||||
}; |
||||
} |
||||
|
||||
export function loadTokenTransfer(slice: Slice) { |
||||
let sc_0 = slice; |
||||
if (sc_0.loadUint(32) !== 260734629) { throw Error('Invalid prefix'); } |
||||
let _queryId = sc_0.loadUintBig(64); |
||||
let _amount = sc_0.loadCoins(); |
||||
let _destination = sc_0.loadAddress(); |
||||
let _responseDestination = sc_0.loadBit() ? sc_0.loadAddress() : null; |
||||
let _customPayload = sc_0.loadBit() ? sc_0.loadRef() : null; |
||||
let _forwardTonAmount = sc_0.loadCoins(); |
||||
let _forwardPayload = sc_0.asCell(); |
||||
return { $$type: 'TokenTransfer' as const, queryId: _queryId, amount: _amount, destination: _destination, responseDestination: _responseDestination, customPayload: _customPayload, forwardTonAmount: _forwardTonAmount, forwardPayload: _forwardPayload }; |
||||
} |
||||
|
||||
function loadTupleTokenTransfer(source: TupleReader) { |
||||
let _queryId = source.readBigNumber(); |
||||
let _amount = source.readBigNumber(); |
||||
let _destination = source.readAddress(); |
||||
let _responseDestination = source.readAddressOpt(); |
||||
let _customPayload = source.readCellOpt(); |
||||
let _forwardTonAmount = source.readBigNumber(); |
||||
let _forwardPayload = source.readCell(); |
||||
return { $$type: 'TokenTransfer' as const, queryId: _queryId, amount: _amount, destination: _destination, responseDestination: _responseDestination, customPayload: _customPayload, forwardTonAmount: _forwardTonAmount, forwardPayload: _forwardPayload }; |
||||
} |
||||
|
||||
function storeTupleTokenTransfer(source: TokenTransfer) { |
||||
let builder = new TupleBuilder(); |
||||
builder.writeNumber(source.queryId); |
||||
builder.writeNumber(source.amount); |
||||
builder.writeAddress(source.destination); |
||||
builder.writeAddress(source.responseDestination); |
||||
builder.writeCell(source.customPayload); |
||||
builder.writeNumber(source.forwardTonAmount); |
||||
builder.writeSlice(source.forwardPayload); |
||||
return builder.build(); |
||||
} |
||||
|
||||
function dictValueParserTokenTransfer(): DictionaryValue<TokenTransfer> { |
||||
return { |
||||
serialize: (src, buidler) => { |
||||
buidler.storeRef(beginCell().store(storeTokenTransfer(src)).endCell()); |
||||
}, |
||||
parse: (src) => { |
||||
return loadTokenTransfer(src.loadRef().beginParse()); |
||||
} |
||||
} |
||||
} |
||||
export type TokenTransferInternal = { |
||||
$$type: 'TokenTransferInternal'; |
||||
queryId: bigint; |
||||
amount: bigint; |
||||
from: Address; |
||||
responseAddress: Address | null; |
||||
forwardTonAmount: bigint; |
||||
forwardPayload: Cell; |
||||
} |
||||
|
||||
export function storeTokenTransferInternal(src: TokenTransferInternal) { |
||||
return (builder: Builder) => { |
||||
let b_0 = builder; |
||||
b_0.storeUint(395134233, 32); |
||||
b_0.storeUint(src.queryId, 64); |
||||
b_0.storeCoins(src.amount); |
||||
b_0.storeAddress(src.from); |
||||
if (src.responseAddress !== null && src.responseAddress !== undefined) { b_0.storeBit(true).storeAddress(src.responseAddress); } else { b_0.storeBit(false); } |
||||
b_0.storeCoins(src.forwardTonAmount); |
||||
b_0.storeBuilder(src.forwardPayload.asBuilder()); |
||||
}; |
||||
} |
||||
|
||||
export function loadTokenTransferInternal(slice: Slice) { |
||||
let sc_0 = slice; |
||||
if (sc_0.loadUint(32) !== 395134233) { throw Error('Invalid prefix'); } |
||||
let _queryId = sc_0.loadUintBig(64); |
||||
let _amount = sc_0.loadCoins(); |
||||
let _from = sc_0.loadAddress(); |
||||
let _responseAddress = sc_0.loadBit() ? sc_0.loadAddress() : null; |
||||
let _forwardTonAmount = sc_0.loadCoins(); |
||||
let _forwardPayload = sc_0.asCell(); |
||||
return { $$type: 'TokenTransferInternal' as const, queryId: _queryId, amount: _amount, from: _from, responseAddress: _responseAddress, forwardTonAmount: _forwardTonAmount, forwardPayload: _forwardPayload }; |
||||
} |
||||
|
||||
function loadTupleTokenTransferInternal(source: TupleReader) { |
||||
let _queryId = source.readBigNumber(); |
||||
let _amount = source.readBigNumber(); |
||||
let _from = source.readAddress(); |
||||
let _responseAddress = source.readAddressOpt(); |
||||
let _forwardTonAmount = source.readBigNumber(); |
||||
let _forwardPayload = source.readCell(); |
||||
return { $$type: 'TokenTransferInternal' as const, queryId: _queryId, amount: _amount, from: _from, responseAddress: _responseAddress, forwardTonAmount: _forwardTonAmount, forwardPayload: _forwardPayload }; |
||||
} |
||||
|
||||
function storeTupleTokenTransferInternal(source: TokenTransferInternal) { |
||||
let builder = new TupleBuilder(); |
||||
builder.writeNumber(source.queryId); |
||||
builder.writeNumber(source.amount); |
||||
builder.writeAddress(source.from); |
||||
builder.writeAddress(source.responseAddress); |
||||
builder.writeNumber(source.forwardTonAmount); |
||||
builder.writeSlice(source.forwardPayload); |
||||
return builder.build(); |
||||
} |
||||
|
||||
function dictValueParserTokenTransferInternal(): DictionaryValue<TokenTransferInternal> { |
||||
return { |
||||
serialize: (src, buidler) => { |
||||
buidler.storeRef(beginCell().store(storeTokenTransferInternal(src)).endCell()); |
||||
}, |
||||
parse: (src) => { |
||||
return loadTokenTransferInternal(src.loadRef().beginParse()); |
||||
} |
||||
} |
||||
} |
||||
export type TokenNotification = { |
||||
$$type: 'TokenNotification'; |
||||
queryId: bigint; |
||||
amount: bigint; |
||||
from: Address; |
||||
forwardPayload: Cell; |
||||
} |
||||
|
||||
export function storeTokenNotification(src: TokenNotification) { |
||||
return (builder: Builder) => { |
||||
let b_0 = builder; |
||||
b_0.storeUint(1935855772, 32); |
||||
b_0.storeUint(src.queryId, 64); |
||||
b_0.storeCoins(src.amount); |
||||
b_0.storeAddress(src.from); |
||||
b_0.storeBuilder(src.forwardPayload.asBuilder()); |
||||
}; |
||||
} |
||||
|
||||
export function loadTokenNotification(slice: Slice) { |
||||
let sc_0 = slice; |
||||
if (sc_0.loadUint(32) !== 1935855772) { throw Error('Invalid prefix'); } |
||||
let _queryId = sc_0.loadUintBig(64); |
||||
let _amount = sc_0.loadCoins(); |
||||
let _from = sc_0.loadAddress(); |
||||
let _forwardPayload = sc_0.asCell(); |
||||
return { $$type: 'TokenNotification' as const, queryId: _queryId, amount: _amount, from: _from, forwardPayload: _forwardPayload }; |
||||
} |
||||
|
||||
function loadTupleTokenNotification(source: TupleReader) { |
||||
let _queryId = source.readBigNumber(); |
||||
let _amount = source.readBigNumber(); |
||||
let _from = source.readAddress(); |
||||
let _forwardPayload = source.readCell(); |
||||
return { $$type: 'TokenNotification' as const, queryId: _queryId, amount: _amount, from: _from, forwardPayload: _forwardPayload }; |
||||
} |
||||
|
||||
function storeTupleTokenNotification(source: TokenNotification) { |
||||
let builder = new TupleBuilder(); |
||||
builder.writeNumber(source.queryId); |
||||
builder.writeNumber(source.amount); |
||||
builder.writeAddress(source.from); |
||||
builder.writeSlice(source.forwardPayload); |
||||
return builder.build(); |
||||
} |
||||
|
||||
function dictValueParserTokenNotification(): DictionaryValue<TokenNotification> { |
||||
return { |
||||
serialize: (src, buidler) => { |
||||
buidler.storeRef(beginCell().store(storeTokenNotification(src)).endCell()); |
||||
}, |
||||
parse: (src) => { |
||||
return loadTokenNotification(src.loadRef().beginParse()); |
||||
} |
||||
} |
||||
} |
||||
export type TokenBurn = { |
||||
$$type: 'TokenBurn'; |
||||
queryId: bigint; |
||||
amount: bigint; |
||||
owner: Address; |
||||
responseAddress: Address | null; |
||||
} |
||||
|
||||
export function storeTokenBurn(src: TokenBurn) { |
||||
return (builder: Builder) => { |
||||
let b_0 = builder; |
||||
b_0.storeUint(1499400124, 32); |
||||
b_0.storeUint(src.queryId, 64); |
||||
b_0.storeCoins(src.amount); |
||||
b_0.storeAddress(src.owner); |
||||
if (src.responseAddress !== null && src.responseAddress !== undefined) { b_0.storeBit(true).storeAddress(src.responseAddress); } else { b_0.storeBit(false); } |
||||
}; |
||||
} |
||||
|
||||
export function loadTokenBurn(slice: Slice) { |
||||
let sc_0 = slice; |
||||
if (sc_0.loadUint(32) !== 1499400124) { throw Error('Invalid prefix'); } |
||||
let _queryId = sc_0.loadUintBig(64); |
||||
let _amount = sc_0.loadCoins(); |
||||
let _owner = sc_0.loadAddress(); |
||||
let _responseAddress = sc_0.loadBit() ? sc_0.loadAddress() : null; |
||||
return { $$type: 'TokenBurn' as const, queryId: _queryId, amount: _amount, owner: _owner, responseAddress: _responseAddress }; |
||||
} |
||||
|
||||
function loadTupleTokenBurn(source: TupleReader) { |
||||
let _queryId = source.readBigNumber(); |
||||
let _amount = source.readBigNumber(); |
||||
let _owner = source.readAddress(); |
||||
let _responseAddress = source.readAddressOpt(); |
||||
return { $$type: 'TokenBurn' as const, queryId: _queryId, amount: _amount, owner: _owner, responseAddress: _responseAddress }; |
||||
} |
||||
|
||||
function storeTupleTokenBurn(source: TokenBurn) { |
||||
let builder = new TupleBuilder(); |
||||
builder.writeNumber(source.queryId); |
||||
builder.writeNumber(source.amount); |
||||
builder.writeAddress(source.owner); |
||||
builder.writeAddress(source.responseAddress); |
||||
return builder.build(); |
||||
} |
||||
|
||||
function dictValueParserTokenBurn(): DictionaryValue<TokenBurn> { |
||||
return { |
||||
serialize: (src, buidler) => { |
||||
buidler.storeRef(beginCell().store(storeTokenBurn(src)).endCell()); |
||||
}, |
||||
parse: (src) => { |
||||
return loadTokenBurn(src.loadRef().beginParse()); |
||||
} |
||||
} |
||||
} |
||||
export type TokenBurnNotification = { |
||||
$$type: 'TokenBurnNotification'; |
||||
queryId: bigint; |
||||
amount: bigint; |
||||
owner: Address; |
||||
responseAddress: Address | null; |
||||
} |
||||
|
||||
export function storeTokenBurnNotification(src: TokenBurnNotification) { |
||||
return (builder: Builder) => { |
||||
let b_0 = builder; |
||||
b_0.storeUint(2078119902, 32); |
||||
b_0.storeUint(src.queryId, 64); |
||||
b_0.storeCoins(src.amount); |
||||
b_0.storeAddress(src.owner); |
||||
if (src.responseAddress !== null && src.responseAddress !== undefined) { b_0.storeBit(true).storeAddress(src.responseAddress); } else { b_0.storeBit(false); } |
||||
}; |
||||
} |
||||
|
||||
export function loadTokenBurnNotification(slice: Slice) { |
||||
let sc_0 = slice; |
||||
if (sc_0.loadUint(32) !== 2078119902) { throw Error('Invalid prefix'); } |
||||
let _queryId = sc_0.loadUintBig(64); |
||||
let _amount = sc_0.loadCoins(); |
||||
let _owner = sc_0.loadAddress(); |
||||
let _responseAddress = sc_0.loadBit() ? sc_0.loadAddress() : null; |
||||
return { $$type: 'TokenBurnNotification' as const, queryId: _queryId, amount: _amount, owner: _owner, responseAddress: _responseAddress }; |
||||
} |
||||
|
||||
function loadTupleTokenBurnNotification(source: TupleReader) { |
||||
let _queryId = source.readBigNumber(); |
||||
let _amount = source.readBigNumber(); |
||||
let _owner = source.readAddress(); |
||||
let _responseAddress = source.readAddressOpt(); |
||||
return { $$type: 'TokenBurnNotification' as const, queryId: _queryId, amount: _amount, owner: _owner, responseAddress: _responseAddress }; |
||||
} |
||||
|
||||
function storeTupleTokenBurnNotification(source: TokenBurnNotification) { |
||||
let builder = new TupleBuilder(); |
||||
builder.writeNumber(source.queryId); |
||||
builder.writeNumber(source.amount); |
||||
builder.writeAddress(source.owner); |
||||
builder.writeAddress(source.responseAddress); |
||||
return builder.build(); |
||||
} |
||||
|
||||
function dictValueParserTokenBurnNotification(): DictionaryValue<TokenBurnNotification> { |
||||
return { |
||||
serialize: (src, buidler) => { |
||||
buidler.storeRef(beginCell().store(storeTokenBurnNotification(src)).endCell()); |
||||
}, |
||||
parse: (src) => { |
||||
return loadTokenBurnNotification(src.loadRef().beginParse()); |
||||
} |
||||
} |
||||
} |
||||
export type TokenExcesses = { |
||||
$$type: 'TokenExcesses'; |
||||
queryId: bigint; |
||||
} |
||||
|
||||
export function storeTokenExcesses(src: TokenExcesses) { |
||||
return (builder: Builder) => { |
||||
let b_0 = builder; |
||||
b_0.storeUint(3576854235, 32); |
||||
b_0.storeUint(src.queryId, 64); |
||||
}; |
||||
} |
||||
|
||||
export function loadTokenExcesses(slice: Slice) { |
||||
let sc_0 = slice; |
||||
if (sc_0.loadUint(32) !== 3576854235) { throw Error('Invalid prefix'); } |
||||
let _queryId = sc_0.loadUintBig(64); |
||||
return { $$type: 'TokenExcesses' as const, queryId: _queryId }; |
||||
} |
||||
|
||||
function loadTupleTokenExcesses(source: TupleReader) { |
||||
let _queryId = source.readBigNumber(); |
||||
return { $$type: 'TokenExcesses' as const, queryId: _queryId }; |
||||
} |
||||
|
||||
function storeTupleTokenExcesses(source: TokenExcesses) { |
||||
let builder = new TupleBuilder(); |
||||
builder.writeNumber(source.queryId); |
||||
return builder.build(); |
||||
} |
||||
|
||||
function dictValueParserTokenExcesses(): DictionaryValue<TokenExcesses> { |
||||
return { |
||||
serialize: (src, buidler) => { |
||||
buidler.storeRef(beginCell().store(storeTokenExcesses(src)).endCell()); |
||||
}, |
||||
parse: (src) => { |
||||
return loadTokenExcesses(src.loadRef().beginParse()); |
||||
} |
||||
} |
||||
} |
||||
export type TokenUpdateContent = { |
||||
$$type: 'TokenUpdateContent'; |
||||
content: Cell | null; |
||||
} |
||||
|
||||
export function storeTokenUpdateContent(src: TokenUpdateContent) { |
||||
return (builder: Builder) => { |
||||
let b_0 = builder; |
||||
b_0.storeUint(201882270, 32); |
||||
if (src.content !== null && src.content !== undefined) { b_0.storeBit(true).storeRef(src.content); } else { b_0.storeBit(false); } |
||||
}; |
||||
} |
||||
|
||||
export function loadTokenUpdateContent(slice: Slice) { |
||||
let sc_0 = slice; |
||||
if (sc_0.loadUint(32) !== 201882270) { throw Error('Invalid prefix'); } |
||||
let _content = sc_0.loadBit() ? sc_0.loadRef() : null; |
||||
return { $$type: 'TokenUpdateContent' as const, content: _content }; |
||||
} |
||||
|
||||
function loadTupleTokenUpdateContent(source: TupleReader) { |
||||
let _content = source.readCellOpt(); |
||||
return { $$type: 'TokenUpdateContent' as const, content: _content }; |
||||
} |
||||
|
||||
function storeTupleTokenUpdateContent(source: TokenUpdateContent) { |
||||
let builder = new TupleBuilder(); |
||||
builder.writeCell(source.content); |
||||
return builder.build(); |
||||
} |
||||
|
||||
function dictValueParserTokenUpdateContent(): DictionaryValue<TokenUpdateContent> { |
||||
return { |
||||
serialize: (src, buidler) => { |
||||
buidler.storeRef(beginCell().store(storeTokenUpdateContent(src)).endCell()); |
||||
}, |
||||
parse: (src) => { |
||||
return loadTokenUpdateContent(src.loadRef().beginParse()); |
||||
} |
||||
} |
||||
} |
||||
export type JettonData = { |
||||
$$type: 'JettonData'; |
||||
totalSupply: bigint; |
||||
mintable: boolean; |
||||
owner: Address; |
||||
content: Cell | null; |
||||
walletCode: Cell; |
||||
} |
||||
|
||||
export function storeJettonData(src: JettonData) { |
||||
return (builder: Builder) => { |
||||
let b_0 = builder; |
||||
b_0.storeInt(src.totalSupply, 257); |
||||
b_0.storeBit(src.mintable); |
||||
b_0.storeAddress(src.owner); |
||||
if (src.content !== null && src.content !== undefined) { b_0.storeBit(true).storeRef(src.content); } else { b_0.storeBit(false); } |
||||
b_0.storeRef(src.walletCode); |
||||
}; |
||||
} |
||||
|
||||
export function loadJettonData(slice: Slice) { |
||||
let sc_0 = slice; |
||||
let _totalSupply = sc_0.loadIntBig(257); |
||||
let _mintable = sc_0.loadBit(); |
||||
let _owner = sc_0.loadAddress(); |
||||
let _content = sc_0.loadBit() ? sc_0.loadRef() : null; |
||||
let _walletCode = sc_0.loadRef(); |
||||
return { $$type: 'JettonData' as const, totalSupply: _totalSupply, mintable: _mintable, owner: _owner, content: _content, walletCode: _walletCode }; |
||||
} |
||||
|
||||
function loadTupleJettonData(source: TupleReader) { |
||||
let _totalSupply = source.readBigNumber(); |
||||
let _mintable = source.readBoolean(); |
||||
let _owner = source.readAddress(); |
||||
let _content = source.readCellOpt(); |
||||
let _walletCode = source.readCell(); |
||||
return { $$type: 'JettonData' as const, totalSupply: _totalSupply, mintable: _mintable, owner: _owner, content: _content, walletCode: _walletCode }; |
||||
} |
||||
|
||||
function storeTupleJettonData(source: JettonData) { |
||||
let builder = new TupleBuilder(); |
||||
builder.writeNumber(source.totalSupply); |
||||
builder.writeBoolean(source.mintable); |
||||
builder.writeAddress(source.owner); |
||||
builder.writeCell(source.content); |
||||
builder.writeCell(source.walletCode); |
||||
return builder.build(); |
||||
} |
||||
|
||||
function dictValueParserJettonData(): DictionaryValue<JettonData> { |
||||
return { |
||||
serialize: (src, buidler) => { |
||||
buidler.storeRef(beginCell().store(storeJettonData(src)).endCell()); |
||||
}, |
||||
parse: (src) => { |
||||
return loadJettonData(src.loadRef().beginParse()); |
||||
} |
||||
} |
||||
} |
||||
export type JettonWalletData = { |
||||
$$type: 'JettonWalletData'; |
||||
balance: bigint; |
||||
owner: Address; |
||||
master: Address; |
||||
walletCode: Cell; |
||||
} |
||||
|
||||
export function storeJettonWalletData(src: JettonWalletData) { |
||||
return (builder: Builder) => { |
||||
let b_0 = builder; |
||||
b_0.storeInt(src.balance, 257); |
||||
b_0.storeAddress(src.owner); |
||||
b_0.storeAddress(src.master); |
||||
b_0.storeRef(src.walletCode); |
||||
}; |
||||
} |
||||
|
||||
export function loadJettonWalletData(slice: Slice) { |
||||
let sc_0 = slice; |
||||
let _balance = sc_0.loadIntBig(257); |
||||
let _owner = sc_0.loadAddress(); |
||||
let _master = sc_0.loadAddress(); |
||||
let _walletCode = sc_0.loadRef(); |
||||
return { $$type: 'JettonWalletData' as const, balance: _balance, owner: _owner, master: _master, walletCode: _walletCode }; |
||||
} |
||||
|
||||
function loadTupleJettonWalletData(source: TupleReader) { |
||||
let _balance = source.readBigNumber(); |
||||
let _owner = source.readAddress(); |
||||
let _master = source.readAddress(); |
||||
let _walletCode = source.readCell(); |
||||
return { $$type: 'JettonWalletData' as const, balance: _balance, owner: _owner, master: _master, walletCode: _walletCode }; |
||||
} |
||||
|
||||
function storeTupleJettonWalletData(source: JettonWalletData) { |
||||
let builder = new TupleBuilder(); |
||||
builder.writeNumber(source.balance); |
||||
builder.writeAddress(source.owner); |
||||
builder.writeAddress(source.master); |
||||
builder.writeCell(source.walletCode); |
||||
return builder.build(); |
||||
} |
||||
|
||||
function dictValueParserJettonWalletData(): DictionaryValue<JettonWalletData> { |
||||
return { |
||||
serialize: (src, buidler) => { |
||||
buidler.storeRef(beginCell().store(storeJettonWalletData(src)).endCell()); |
||||
}, |
||||
parse: (src) => { |
||||
return loadJettonWalletData(src.loadRef().beginParse()); |
||||
} |
||||
} |
||||
} |
||||
export type Mint = { |
||||
$$type: 'Mint'; |
||||
amount: bigint; |
||||
} |
||||
|
||||
export function storeMint(src: Mint) { |
||||
return (builder: Builder) => { |
||||
let b_0 = builder; |
||||
b_0.storeUint(33240155, 32); |
||||
b_0.storeInt(src.amount, 257); |
||||
}; |
||||
} |
||||
|
||||
export function loadMint(slice: Slice) { |
||||
let sc_0 = slice; |
||||
if (sc_0.loadUint(32) !== 33240155) { throw Error('Invalid prefix'); } |
||||
let _amount = sc_0.loadIntBig(257); |
||||
return { $$type: 'Mint' as const, amount: _amount }; |
||||
} |
||||
|
||||
function loadTupleMint(source: TupleReader) { |
||||
let _amount = source.readBigNumber(); |
||||
return { $$type: 'Mint' as const, amount: _amount }; |
||||
} |
||||
|
||||
function storeTupleMint(source: Mint) { |
||||
let builder = new TupleBuilder(); |
||||
builder.writeNumber(source.amount); |
||||
return builder.build(); |
||||
} |
||||
|
||||
function dictValueParserMint(): DictionaryValue<Mint> { |
||||
return { |
||||
serialize: (src, buidler) => { |
||||
buidler.storeRef(beginCell().store(storeMint(src)).endCell()); |
||||
}, |
||||
parse: (src) => { |
||||
return loadMint(src.loadRef().beginParse()); |
||||
} |
||||
} |
||||
} |
||||
async function SampleJetton_init(owner: Address, content: Cell | null) { |
||||
const __init = 'te6ccgEBBwEASwABFP8A9KQT9LzyyAsBAgFiAgMCAs0EBQAJoUrd4AkAAdQBFdOD+CZGYhmm2eZMBgA0UEP6AgHPFiJus5Z/AcoAEsyVMnBYygDiygA='; |
||||
const __code = 'te6ccgECQwEABKMAART/APSkE/S88sgLAQIBYgIDAgLKBAUCASAGBwIBIAwNAgFIICEBDb4o7tnngVQWAgFICAkCAVgKCwCVt3owTgudh6ullc9j0J2HOslQo2zQThO6xqWlbI+WZFp15b++LEcwThhMiKTJr7fJFy9sM7TqukCwTggZzq084r86ShYDrC3EyPZQARGtvO2eKoH4EsAWARGvFu2eeBN4DUAWAgHODg8CAVgaGwSdO2i7ftwIddJwh+VMCDXCx/eAtDTAwFxsMABkX+RcOIB+kAiUGZvBPhhApFb4CCCCfs0W7qPjzDbPATbPDEQNEEw8CvbPOAgghAMCHqeuoBYQFxEACwgbvLQgIAAk0x8Bggn7NFu68uCBgQEB1wABBDSPjzDbPATbPDEQNEEw8C3bPOAgghB73ZfeuhYSFxMALtMfAYIQDAh6nrry4IHSAAGR1JJtAeIBBDCPkzDbPATbPDQQZxBWEEVVAvAu2zzgwAAWFBcVAEzTHwGCEHvdl9668uCB0z/6APpAAQH6QCHXCwHDAJEBkjFt4hRDMAJwjzD5AYLwzQ2YbLGi9GiucIn0/DFiwRbl9T+9EaaDn1Lb9QQIMLK6jwjbPPAs2zzbMeCRMOLywIIWFwEW7UTQ1AH4Yts8bBQYARjI+EIBzFUw2zzJ7VQZACb6APpAAQHSAAGR1JJtAeLSAFUwADRQQ/oCAc8WIm6zln8BygASzJUycFjKAOLKAAABagIBIBwdAAVcjJgCASAeHwADNCAACTwHfAegAgEgIiMCASA1NgIBICQlAgEgLS4CASAmJwIBICorAEscFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0IAL3MhxAcoBUAcBygBwAcoCUAXPFlAD+gJwAcpoI26zJW6zsY5GfwHKAMhwAcoAcAHKACRus5p/AcoABPABUATMljQDcAHKAOIkbrOafwHKAATwAVAEzJY0A3ABygDicAHKAAJ/AcoAAslYzJczMwFwAcoA4iFus+MPyQH7AICgpABJ/AcoAAfABAcwACjFwAcoAARMcAPIzEMT2zzJgLABRALQ9AQwbQGCANivAYAQ9A9vofLghwGCANivIgKAEPQXyPQAyUAD8CKAAGlAjgQEBzwABzxYBzxYCASAvMAIBIDEyAA8+EL4KFjwI4AANPAkbELwIIAAPPgo8CQwQzCABUxRYaBVMfAkXPAgcHCAQCH4KCHwHxA1EE4QIxAv2zxFYBBKEDlAqfAhWoDMBDMhVUNs8yTQAToIQF41FGVAHyx8Vyz9QA/oCAc8WASBulTBwAcsBks8W4gH6AgHPFgIBIDc4AgEgPT4CASA5OgIBIDs8ADk+EFvJBAjXwNVQPAkAYERTQLwIFAGxwUV8vRVAoAAdPhBbyQQI18DI8cF8uCEgAAkECNfA4AAXPhBbyQQI18DZvAngAgEgP0ABU0EEcQNkV38ChQNKElbrOOk3AG8AFwgEIH2zwQSEEwF21t8CGSNDTiQwCEEAIz4QW8kECNfA4IQO5rKACHwJ4AAPFUw8CkxQTCABCsgB2zzJQgAWghDVMnbbWMsfyz8='; |
||||
const __system = 'te6cckECdAEACWsAAQHAAQIBIDACAQW+xXwDART/APSkE/S88sgLBAIBYggFAgEgBwYAcb3ejBOC52Hq6WVz2PQnYc6yVCjbNBOE7rGpaVsj5ZkWnXlv74sRzBOE7o8AHy2bAeT+QdWSzWUQnAERv9gW2eeBN4D0LgICyiIJAgFIFQoCAUgMCwBPSAINch0x/TPzH6ADCBNVIighAXjUUZugOCEHvdl966E7ES8vQToAKAIBIBANAY8W/hBbySBEU1TOMcF8vRRhKGCAPX8IcL/8vRDMFI58COBPrsBggkxLQCgggiYloCgErzy9H9wA4BAVDNm2zxUEwRQM21t8CKAOAQzIVTDbPMkPAECCEHvdl95QBcsfE8s/AfoCAc8WASBulTBwAcsBks8W4gPxPhBbyRTKscFs44S+EJTuPAlAYERTQLwISTHBfL03lHIoIIA9fwhwv/y9CH4J28QIaGCCJiWgGa2CKGCCJiWgKChJsIAjqFQTUMw8CNSMKAaoXBwKEgTUHTbPCgQRkMTUFVtbfAiUAWWEH1QiV8I4iVusyLCALDjD4BMSEQAENVsBInAG8AJwBNs8EEdDMBdtbfAiPwEMyFUw2zzJFAAsghBzYtCcUAXLHxPLPwH6AgHPFgHPFgIBIBwWAgEgGhcCASAZGAG5Gwi+EFvJIERTVM7xwXy9FG3oYIA9fwhwv/y9EMwUjzwI3EkwgCSMHLegT67AqiCCTEtAKCCCJiWgKASvPL0+EJUIGTwJVzwIX9QdnCAQCtUTDkY2zwQVhA0WfAigTwAPPhCUxLwJTCACASBYGwBRALQ9AQwbQGCANivAYAQ9A9vofLghwGCANivIgKAEPQXyPQAyUAD8CSACASAhHQIBIB8eACUbDH6ADFx1yH6ADH6ADCnA6sAgAvcyHEBygFQBwHKAHABygJQBc8WUAP6AnABymgjbrMlbrOxjkZ/AcoAyHABygBwAcoAJG6zmn8BygAE8AJQBMyWNANwAcoA4iRus5p/AcoABPACUATMljQDcAHKAOJwAcoAAn8BygACyVjMlzMzAXABygDiIW6z4w/JAfsAgIFwAEn8BygAB8AIBzABLVwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQgCASAkIwADp0ACAWImJQALQgbvLQgIBIlHAh10nCH5UwINcLH94C0NMDAXGwwAGRf5Fw4gH6QCJQZm8E+GECjwkw2zxVAvAq2zzgIIIQD4p+pbrjAiCCEBeNRRm6guLSsnBDaPkTDbPAPbPDYQeBBnVQTwKNs84IIQWV8HvLouKi0oAy6PkNs8A9s8NBBWEEVVAvAp2zzgMPLAgi4pLQBM0x8BghBZXwe8uvLggdM/+gD6QAEB+kAh1wsBwwCRAZIxbeIUQzAAWNMfAYIQF41FGbry4IHTP/oA+kABAfpAIdcLAcMAkQGSMW3iAfoAUVUVFEMwAyIw2zwD2zw3EIkQeFUF8CfbPC4sLQBs0x8BghAPin6luvLggdM/+gD6QAEB+kAh1wsBwwCRAZIxbeIB0gABkdSSbQHi+gBRZhYVFEMwARjI+EIBzFUg2zzJ7VRZARbtRNDUAfhi2zxsEy8AHIEBAdcA+kABAfpAAUMwAQW9XCwxART/APSkE/S88sgLMgIBYjozAgEgOTQCAUg2NQCVt3owTgudh6ullc9j0J2HOslQo2zQThO6xqWlbI+WZFp15b++LEcwThhMiKTJr7fJFy9sM7TqukCwTggZzq084r86ShYDrC3EyPZQAgFYODcBEa8W7Z54E3gNQHIBEa287Z4qgfgSwHIBDb4o7tnngVRyAgLKXzsCAUhLPAIBIEQ9AgEgQT4BU0EEcQNkV38ChQNKElbrOOk3AG8AFwgEIH2zwQSEEwF21t8CGSNDTiQwCD8BCsgB2zzJQAAWghDVMnbbWMsfyz8CASBDQgAPFUw8CkxQTCAAIz4QW8kECNfA4IQO5rKACHwJ4AIBIEhFAgEgR0YAFz4QW8kECNfA2bwJ4AAJBAjXwOACASBKSQAdPhBbyQQI18DI8cF8uCEgADk+EFvJBAjXwNVQPAkAYERTQLwIFAGxwUV8vRVAoAIBIFVMAgEgUk0CASBRTgFTFFhoFUx8CRc8CBwcIBAIfgoIfAfEDUQThAjEC/bPEVgEEoQOUCp8CFagTwEMyFVQ2zzJUABOghAXjUUZUAfLHxXLP1AD+gIBzxYBIG6VMHABywGSzxbiAfoCAc8WAA8+CjwJDBDMIAIBIFRTAA08CRsQvAggAA8+EL4KFjwI4AIBIFpWAgEgWFcAUQC0PQEMG0BggDYrwGAEPQPb6Hy4IcBggDYryICgBD0F8j0AMlAA/AigARMcAPIzEMT2zzJgWQAaUCOBAQHPAAHPFgHPFgIBIF5bAvcyHEBygFQBwHKAHABygJQBc8WUAP6AnABymgjbrMlbrOxjkZ/AcoAyHABygBwAcoAJG6zmn8BygAE8AFQBMyWNANwAcoA4iRus5p/AcoABPABUATMljQDcAHKAOJwAcoAAn8BygACyVjMlzMzAXABygDiIW6z4w/JAfsAgXVwACjFwAcoAABJ/AcoAAfABAcwASxwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQgAgEgZ2ACAVhmYQIBIGViAgEgZGMACTwHfAegAAM0IAAFXIyYAAFqAgHOaWgACwgbvLQgIASdO2i7ftwIddJwh+VMCDXCx/eAtDTAwFxsMABkX+RcOIB+kAiUGZvBPhhApFb4CCCCfs0W7qPjzDbPATbPDEQNEEw8CvbPOAgghAMCHqeuoHJxb2oENI+PMNs8BNs8MRA0QTDwLds84CCCEHvdl966cm5vawQwj5Mw2zwE2zw0EGcQVhBFVQLwLts84MAAcm1vbAJwjzD5AYLwzQ2YbLGi9GiucIn0/DFiwRbl9T+9EaaDn1Lb9QQIMLK6jwjbPPAs2zzbMeCRMOLywIJybwBM0x8BghB73ZfeuvLggdM/+gD6QAEB+kAh1wsBwwCRAZIxbeIUQzAALtMfAYIQDAh6nrry4IHSAAGR1JJtAeIBARjI+EIBzFUw2zzJ7VRwADRQQ/oCAc8WIm6zln8BygASzJUycFjKAOLKAAAk0x8Bggn7NFu68uCBgQEB1wABARbtRNDUAfhi2zxsFHMAJvoA+kABAdIAAZHUkm0B4tIAVTDQMqte'; |
||||
let systemCell = Cell.fromBase64(__system); |
||||
let builder = new TupleBuilder(); |
||||
builder.writeCell(systemCell); |
||||
builder.writeAddress(owner); |
||||
builder.writeCell(content); |
||||
let __stack = builder.build(); |
||||
let codeCell = Cell.fromBoc(Buffer.from(__code, 'base64'))[0]; |
||||
let initCell = Cell.fromBoc(Buffer.from(__init, 'base64'))[0]; |
||||
let system = await ContractSystem.create(); |
||||
let executor = await ContractExecutor.create({ code: initCell, data: new Cell() }, system); |
||||
let res = await executor.get('init', __stack); |
||||
if (!res.success) { throw Error(res.error); } |
||||
if (res.exitCode !== 0 && res.exitCode !== 1) { |
||||
if (SampleJetton_errors[res.exitCode]) { |
||||
throw new ComputeError(SampleJetton_errors[res.exitCode].message, res.exitCode, { logs: res.vmLogs }); |
||||
} else { |
||||
throw new ComputeError('Exit code: ' + res.exitCode, res.exitCode, { logs: res.vmLogs }); |
||||
} |
||||
} |
||||
|
||||
let data = res.stack.readCell(); |
||||
return { code: codeCell, data }; |
||||
} |
||||
|
||||
const SampleJetton_errors: { [key: number]: { message: string } } = { |
||||
2: { message: `Stack undeflow` }, |
||||
3: { message: `Stack overflow` }, |
||||
4: { message: `Integer overflow` }, |
||||
5: { message: `Integer out of expected range` }, |
||||
6: { message: `Invalid opcode` }, |
||||
7: { message: `Type check error` }, |
||||
8: { message: `Cell overflow` }, |
||||
9: { message: `Cell underflow` }, |
||||
10: { message: `Dictionary error` }, |
||||
13: { message: `Out of gas error` }, |
||||
32: { message: `Method ID not found` }, |
||||
34: { message: `Action is invalid or not supported` }, |
||||
37: { message: `Not enough TON` }, |
||||
38: { message: `Not enough extra-currencies` }, |
||||
128: { message: `Null reference exception` }, |
||||
129: { message: `Invalid serialization prefix` }, |
||||
130: { message: `Invalid incoming message` }, |
||||
131: { message: `Constraints error` }, |
||||
132: { message: `Access denied` }, |
||||
133: { message: `Contract stopped` }, |
||||
134: { message: `Invalid argument` }, |
||||
135: { message: `Code of a contract was not found` }, |
||||
136: { message: `Invalid address` }, |
||||
4429: { message: `Invalid sender` }, |
||||
13650: { message: `Invalid bounced message` }, |
||||
16059: { message: `Invalid value` }, |
||||
62972: { message: `Invalid balance` }, |
||||
} |
||||
|
||||
export class SampleJetton implements Contract { |
||||
|
||||
static async init(owner: Address, content: Cell | null) { |
||||
return await SampleJetton_init(owner,content); |
||||
} |
||||
|
||||
static async fromInit(owner: Address, content: Cell | null) { |
||||
const init = await SampleJetton_init(owner,content); |
||||
const address = contractAddress(0, init); |
||||
return new SampleJetton(address, init); |
||||
} |
||||
|
||||
static fromAddress(address: Address) { |
||||
return new SampleJetton(address); |
||||
} |
||||
|
||||
readonly address: Address;
|
||||
readonly init?: { code: Cell, data: Cell }; |
||||
readonly abi: ContractABI = { |
||||
errors: SampleJetton_errors |
||||
}; |
||||
|
||||
private constructor(address: Address, init?: { code: Cell, data: Cell }) { |
||||
this.address = address; |
||||
this.init = init; |
||||
} |
||||
|
||||
async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: Mint | 'Mint!' | TokenUpdateContent | TokenBurnNotification) { |
||||
|
||||
let body: Cell | null = null; |
||||
if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Mint') { |
||||
body = beginCell().store(storeMint(message)).endCell(); |
||||
} |
||||
if (message === 'Mint!') { |
||||
body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); |
||||
} |
||||
if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'TokenUpdateContent') { |
||||
body = beginCell().store(storeTokenUpdateContent(message)).endCell(); |
||||
} |
||||
if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'TokenBurnNotification') { |
||||
body = beginCell().store(storeTokenBurnNotification(message)).endCell(); |
||||
} |
||||
if (body === null) { throw new Error('Invalid message type'); } |
||||
|
||||
await provider.internal(via, { ...args, body: body }); |
||||
|
||||
} |
||||
|
||||
async getGetWalletAddress(provider: ContractProvider, owner: Address) { |
||||
let builder = new TupleBuilder(); |
||||
builder.writeAddress(owner); |
||||
let source = (await provider.get('get_wallet_address', builder.build())).stack; |
||||
let result = source.readAddress(); |
||||
return result; |
||||
} |
||||
|
||||
async getGetJettonData(provider: ContractProvider) { |
||||
let builder = new TupleBuilder(); |
||||
let source = (await provider.get('get_jetton_data', builder.build())).stack; |
||||
const result = loadTupleJettonData(source); |
||||
return result; |
||||
} |
||||
|
||||
async getOwner(provider: ContractProvider) { |
||||
let builder = new TupleBuilder(); |
||||
let source = (await provider.get('owner', builder.build())).stack; |
||||
let result = source.readAddress(); |
||||
return result; |
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue