Browse Source

Fixes

master
Lev 2 years ago
parent
commit
29537d320b
  1. 6
      package.json
  2. 3
      sources/constants.tact
  3. 5
      sources/jetton.tact
  4. 15
      sources/jetton_trait.tact
  5. BIN
      sources/output/jetton_Linker.code.boc
  6. 28
      sources/output/jetton_Linker.code.fc
  7. 40
      sources/output/jetton_Linker.code.fif
  8. 193
      sources/output/jetton_Linker.code.rev.fif
  9. BIN
      sources/output/jetton_Linker.init.boc
  10. 6
      sources/output/jetton_Linker.init.fc
  11. 2
      sources/output/jetton_Linker.init.fif
  12. 2
      sources/output/jetton_Linker.init.rev.fif
  13. 2
      sources/output/jetton_Linker.md
  14. 2
      sources/output/jetton_Linker.pkg
  15. 6
      sources/output/jetton_Linker.ts
  16. 2
      sources/output/jetton_TONB.abi
  17. BIN
      sources/output/jetton_TONB.code.boc
  18. 123
      sources/output/jetton_TONB.code.fc
  19. 248
      sources/output/jetton_TONB.code.fif
  20. 3169
      sources/output/jetton_TONB.code.rev.fif
  21. BIN
      sources/output/jetton_TONB.init.boc
  22. 9
      sources/output/jetton_TONB.init.fc
  23. 21
      sources/output/jetton_TONB.init.fif
  24. 21
      sources/output/jetton_TONB.init.rev.fif
  25. 2
      sources/output/jetton_TONB.md
  26. 2
      sources/output/jetton_TONB.pkg
  27. 11
      sources/output/jetton_TONB.ts
  28. BIN
      sources/output/jetton_TONBWallet.code.boc
  29. 52
      sources/output/jetton_TONBWallet.code.fc
  30. 121
      sources/output/jetton_TONBWallet.code.fif
  31. 1994
      sources/output/jetton_TONBWallet.code.rev.fif
  32. BIN
      sources/output/jetton_TONBWallet.init.boc
  33. 6
      sources/output/jetton_TONBWallet.init.fc
  34. 2
      sources/output/jetton_TONBWallet.init.fif
  35. 2
      sources/output/jetton_TONBWallet.init.rev.fif
  36. 2
      sources/output/jetton_TONBWallet.md
  37. 2
      sources/output/jetton_TONBWallet.pkg
  38. 6
      sources/output/jetton_TONBWallet.ts
  39. 9
      sources/staking.tact
  40. 20
      sources/tests/__snapshots__/jetton.spec.ts.snap
  41. 20
      sources/utils/config.ts
  42. 29
      sources/utils/interactions.ts
  43. 2
      sources/utils/rmlogs.sh
  44. 20
      sources/wallet.tact
  45. 35
      yarn.lock

6
package.json

@ -9,7 +9,8 @@
"build": "tact --config tact.config.json && sources/utils/rmlogs.sh", "build": "tact --config tact.config.json && sources/utils/rmlogs.sh",
"test": "jest", "test": "jest",
"btest": "yarn build && yarn test -u", "btest": "yarn build && yarn test -u",
"deploy": "ts-node sources/jetton.deploy.ts" "deploy": "ts-node sources/jetton.deploy.ts",
"cli": "node --no-warnings --loader ts-node/esm sources/cli.js"
}, },
"dependencies": { "dependencies": {
"@aws-crypto/sha256-js": "^3.0.0", "@aws-crypto/sha256-js": "^3.0.0",
@ -23,13 +24,14 @@
"jest": "^29.3.1", "jest": "^29.3.1",
"prando": "^6.0.1", "prando": "^6.0.1",
"qs": "^6.11.0", "qs": "^6.11.0",
"subcommand": "^2.1.1",
"ton": "^13.3.0", "ton": "^13.3.0",
"ton-contract-executor": "^0.6.0", "ton-contract-executor": "^0.6.0",
"ton-core": "^0.46.0", "ton-core": "^0.46.0",
"ton-crypto": "^3.2.0", "ton-crypto": "^3.2.0",
"ton-emulator": "^1.2.0", "ton-emulator": "^1.2.0",
"ton-nodejs": "^1.4.3", "ton-nodejs": "^1.4.3",
"ton-tact": "^0.8.11", "ton-tact": "^0.9.2",
"ts-jest": "^29.0.3", "ts-jest": "^29.0.3",
"ts-node": "^10.9.1", "ts-node": "^10.9.1",
"typescript": "^4.9.4" "typescript": "^4.9.4"

3
sources/constants.tact

@ -3,5 +3,6 @@ const gas_consumption: Int = ton("0.01");
const withdraw_gas_consumption: Int = ton("0.1"); const withdraw_gas_consumption: Int = ton("0.1");
const deposit_gas_consumption: Int = ton("0.01"); // Gas consumption during processing const deposit_gas_consumption: Int = ton("0.01"); // Gas consumption during processing
const linker_credit: Int = ton("0.02"); // TON to send to the linker for the fees const linker_credit: Int = ton("0.02"); // TON to send to the linker for the fees
const wallet_credit: Int = ton("0.05"); // TON to send to the wallet for the fees const wallet_credit: Int = ton("0.065"); // TON to send to the wallet for the fees
const tonb_floor: Int = ton("0.1"); // Minimum amount of TON to keep on TONB const tonb_floor: Int = ton("0.1"); // Minimum amount of TON to keep on TONB
const transfer_gas_consumption: Int = ton("0.05"); // Gas consumption during transfer processing

5
sources/jetton.tact

@ -33,6 +33,10 @@ contract TONB with TONBTrait {
self.owner = owner; self.owner = owner;
self.mintable = true; self.mintable = true;
self.content = content; self.content = content;
self.withdrawal_requests = WithdrawalRequests {
addresses: emptyMap(),
amounts: emptyMap()
};
} }
receive(msg: Deposit) { receive(msg: Deposit) {
@ -49,4 +53,5 @@ contract TONB with TONBTrait {
require(ctx.value >= withdraw_gas_consumption, "not enough money for withdraw"); require(ctx.value >= withdraw_gas_consumption, "not enough money for withdraw");
self.burn(ctx.sender, msg.amount, ctx.sender); self.burn(ctx.sender, msg.amount, ctx.sender);
} }
} }

15
sources/jetton_trait.tact

@ -83,6 +83,21 @@ trait TONBTrait with Ownable, StakingTrait {
}); });
} }
receive(msg: BlacklistWallet) {
// Allow blacklisting only by owner
self.requireOwner();
// Blacklist wallet
let winit: StateInit = self.getJettonWalletInit(msg.wallet);
let walletAddress: Address = contractAddress(winit);
send(SendParameters{
to: walletAddress,
value: 0,
mode: SendRemainingValue,
bounce: false,
body: msg.toCell()
});
}
// //
// Get Methods // Get Methods

BIN
sources/output/jetton_Linker.code.boc

Binary file not shown.

28
sources/output/jetton_Linker.code.fc

@ -1,4 +1,8 @@
forall X -> X __tact_not_null(X x) { throw_if(128, null?(x)); return x; } #pragma version =0.4.1;
#pragma allow-post-modification;
#pragma compute-asm-ltr;
forall X -> X __tact_not_null(X x) inline { throw_if(128, null?(x)); return x; }
global (int, slice, int, slice) __tact_context; global (int, slice, int, slice) __tact_context;
global cell __tact_context_sys; global cell __tact_context_sys;
@ -49,19 +53,19 @@ int __tact_address_eq(slice a, slice b) inline {
return equal_slice_bits(a, b); return equal_slice_bits(a, b);
} }
(slice, ((slice))) __gen_read_SetLinkerNeighbor(slice sc_0) inline_ref { (slice, ((slice))) __gen_read_SetLinkerNeighbor(slice sc_0) inline {
throw_unless(129, sc_0~load_uint(32) == 3019699393); throw_unless(129, sc_0~load_uint(32) == 3019699393);
var v'neighbor = sc_0~__tact_load_address_opt(); var v'neighbor = sc_0~__tact_load_address_opt();
return (sc_0, (v'neighbor)); return (sc_0, (v'neighbor));
} }
(slice, ((cell))) __gen_read_ForwardToWallet(slice sc_0) inline_ref { (slice, ((cell))) __gen_read_ForwardToWallet(slice sc_0) inline {
throw_unless(129, sc_0~load_uint(32) == 1562223291); throw_unless(129, sc_0~load_uint(32) == 1562223291);
var v'body = sc_0~load_ref(); var v'body = sc_0~load_ref();
return (sc_0, (v'body)); return (sc_0, (v'body));
} }
builder __gen_write_Linker(builder build_0, (int, slice, slice, slice) v) inline_ref { builder __gen_write_Linker(builder build_0, (int, slice, slice, slice) v) inline {
var (v'index, v'master, v'owner, v'neighbor) = v; var (v'index, v'master, v'owner, v'neighbor) = v;
build_0 = build_0.store_int(v'index, 257); build_0 = build_0.store_int(v'index, 257);
build_0 = __tact_store_address(build_0, v'master); build_0 = __tact_store_address(build_0, v'master);
@ -72,7 +76,7 @@ builder __gen_write_Linker(builder build_0, (int, slice, slice, slice) v) inline
return build_0; return build_0;
} }
(slice, ((int, slice, slice, slice))) __gen_read_Linker(slice sc_0) inline_ref { (slice, ((int, slice, slice, slice))) __gen_read_Linker(slice sc_0) inline {
var v'index = sc_0~load_int(257); var v'index = sc_0~load_int(257);
var v'master = sc_0~__tact_load_address(); var v'master = sc_0~__tact_load_address();
var v'owner = sc_0~__tact_load_address(); var v'owner = sc_0~__tact_load_address();
@ -81,20 +85,20 @@ builder __gen_write_Linker(builder build_0, (int, slice, slice, slice) v) inline
return (sc_0, (v'index, v'master, v'owner, v'neighbor)); return (sc_0, (v'index, v'master, v'owner, v'neighbor));
} }
(int, slice, slice, slice) __gen_load_Linker() inline_ref { (int, slice, slice, slice) __gen_load_Linker() inline {
slice sc = get_data().begin_parse(); slice sc = get_data().begin_parse();
__tact_context_sys = sc~load_ref(); __tact_context_sys = sc~load_ref();
return sc~__gen_read_Linker(); return sc~__gen_read_Linker();
} }
() __gen_store_Linker((int, slice, slice, slice) v) impure inline_ref { () __gen_store_Linker((int, slice, slice, slice) v) impure inline {
builder b = begin_cell(); builder b = begin_cell();
b = b.store_ref(__tact_context_sys); b = b.store_ref(__tact_context_sys);
b = __gen_write_Linker(b, v); b = __gen_write_Linker(b, v);
set_data(b.end_cell()); set_data(b.end_cell());
} }
() $send((int, slice, int, int, cell, cell, cell) $params) impure { () $send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref {
var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params;
builder $b = begin_cell(); builder $b = begin_cell();
$b = store_int($b, 1, 2); $b = store_int($b, 1, 2);
@ -137,7 +141,7 @@ builder __gen_write_Linker(builder build_0, (int, slice, slice, slice) v) inline
send_raw_message($c, $params'mode); send_raw_message($c, $params'mode);
} }
slice $__gen_Linker_owner((int, slice, slice, slice) $self) impure { slice $__gen_Linker_owner((int, slice, slice, slice) $self) impure inline_ref {
var (($self'index, $self'master, $self'owner, $self'neighbor)) = $self; var (($self'index, $self'master, $self'owner, $self'neighbor)) = $self;
return $self'owner; return $self'owner;
} }
@ -148,7 +152,7 @@ _ $__gen_get_owner() method_id(83229) {
return res; return res;
} }
slice $__gen_Linker_master((int, slice, slice, slice) $self) impure { slice $__gen_Linker_master((int, slice, slice, slice) $self) impure inline_ref {
var (($self'index, $self'master, $self'owner, $self'neighbor)) = $self; var (($self'index, $self'master, $self'owner, $self'neighbor)) = $self;
return $self'master; return $self'master;
} }
@ -159,7 +163,7 @@ _ $__gen_get_master() method_id(120253) {
return res; return res;
} }
(((int, slice, slice, slice)), ()) $__gen_Linker_receive_SetLinkerNeighbor((int, slice, slice, slice) $self, (slice) $msg) impure { (((int, slice, slice, slice)), ()) $__gen_Linker_receive_SetLinkerNeighbor((int, slice, slice, slice) $self, (slice) $msg) impure inline {
var ($self'index, $self'master, $self'owner, $self'neighbor) = $self; var ($self'index, $self'master, $self'owner, $self'neighbor) = $self;
var ($msg'neighbor) = $msg; var ($msg'neighbor) = $msg;
var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get();
@ -168,7 +172,7 @@ _ $__gen_get_master() method_id(120253) {
return (($self'index, $self'master, $self'owner, $self'neighbor), ()); return (($self'index, $self'master, $self'owner, $self'neighbor), ());
} }
(((int, slice, slice, slice)), ()) $__gen_Linker_receive_ForwardToWallet((int, slice, slice, slice) $self, (cell) $msg) impure { (((int, slice, slice, slice)), ()) $__gen_Linker_receive_ForwardToWallet((int, slice, slice, slice) $self, (cell) $msg) impure inline {
var ($self'index, $self'master, $self'owner, $self'neighbor) = $self; var ($self'index, $self'master, $self'owner, $self'neighbor) = $self;
var ($msg'body) = $msg; var ($msg'body) = $msg;
var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get();

40
sources/output/jetton_Linker.code.fif

@ -26,7 +26,7 @@ PROGRAM{
DECLPROC get_abi_ipfs DECLPROC get_abi_ipfs
DECLGLOBVAR __tact_context DECLGLOBVAR __tact_context
DECLGLOBVAR __tact_context_sys DECLGLOBVAR __tact_context_sys
__tact_not_null PROC:<{ __tact_not_null PROCINLINE:<{
DUP DUP
ISNULL ISNULL
128 THROWIF 128 THROWIF
@ -79,7 +79,7 @@ PROGRAM{
__tact_address_eq PROCINLINE:<{ __tact_address_eq PROCINLINE:<{
SDEQ SDEQ
}> }>
__gen_read_SetLinkerNeighbor PROCREF:<{ __gen_read_SetLinkerNeighbor PROCINLINE:<{
32 LDU 32 LDU
SWAP SWAP
3019699393 PUSHINT 3019699393 PUSHINT
@ -87,7 +87,7 @@ PROGRAM{
129 THROWIFNOT 129 THROWIFNOT
__tact_load_address_opt INLINECALLDICT __tact_load_address_opt INLINECALLDICT
}> }>
__gen_read_ForwardToWallet PROCREF:<{ __gen_read_ForwardToWallet PROCINLINE:<{
32 LDU 32 LDU
SWAP SWAP
1562223291 PUSHINT 1562223291 PUSHINT
@ -96,7 +96,7 @@ PROGRAM{
LDREF LDREF
SWAP SWAP
}> }>
__gen_write_Linker PROCREF:<{ __gen_write_Linker PROCINLINE:<{
s3 s4 XCHG2 s3 s4 XCHG2
257 PUSHINT 257 PUSHINT
STIX STIX
@ -111,7 +111,7 @@ PROGRAM{
SWAP SWAP
STREF STREF
}> }>
__gen_read_Linker PROCREF:<{ __gen_read_Linker PROCINLINE:<{
257 PUSHINT 257 PUSHINT
LDIX LDIX
__tact_load_address INLINECALLDICT __tact_load_address INLINECALLDICT
@ -126,7 +126,7 @@ PROGRAM{
s1 s4 XCHG s1 s4 XCHG
s3 s3 s0 XCHG3 s3 s3 s0 XCHG3
}> }>
__gen_load_Linker PROCREF:<{ __gen_load_Linker PROCINLINE:<{
c4 PUSH c4 PUSH
CTOS CTOS
LDREF LDREF
@ -135,7 +135,7 @@ PROGRAM{
__gen_read_Linker INLINECALLDICT __gen_read_Linker INLINECALLDICT
1 4 BLKDROP2 1 4 BLKDROP2
}> }>
__gen_store_Linker PROCREF:<{ __gen_store_Linker PROCINLINE:<{
NEWC NEWC
__tact_context_sys GETGLOB __tact_context_sys GETGLOB
SWAP SWAP
@ -145,7 +145,7 @@ PROGRAM{
ENDC ENDC
c4 POP c4 POP
}> }>
$send PROC:<{ $send PROCREF:<{
NEWC NEWC
1 PUSHINT 1 PUSHINT
SWAP SWAP
@ -184,7 +184,7 @@ PROGRAM{
TRUE TRUE
__tact_store_bool INLINECALLDICT __tact_store_bool INLINECALLDICT
s0 s4 XCHG s0 s4 XCHG
__tact_not_null CALLDICT __tact_not_null INLINECALLDICT
s0 s4 XCHG2 s0 s4 XCHG2
STREF STREF
}>ELSE<{ }>ELSE<{
@ -200,7 +200,7 @@ PROGRAM{
TRUE TRUE
__tact_store_bool INLINECALLDICT __tact_store_bool INLINECALLDICT
s0 s4 XCHG s0 s4 XCHG
__tact_not_null CALLDICT __tact_not_null INLINECALLDICT
s0 s4 XCHG2 s0 s4 XCHG2
STREF STREF
}>ELSE<{ }>ELSE<{
@ -232,7 +232,7 @@ PROGRAM{
TRUE TRUE
__tact_store_bool INLINECALLDICT __tact_store_bool INLINECALLDICT
SWAP SWAP
__tact_not_null CALLDICT __tact_not_null INLINECALLDICT
SWAP SWAP
STREF STREF
}>ELSE<{ }>ELSE<{
@ -244,23 +244,23 @@ PROGRAM{
SWAP SWAP
SENDRAWMSG SENDRAWMSG
}> }>
$__gen_Linker_owner PROC:<{ $__gen_Linker_owner PROCREF:<{
s1 s3 XCHG s1 s3 XCHG
3 BLKDROP 3 BLKDROP
}> }>
$__gen_get_owner PROC:<{ $__gen_get_owner PROC:<{
__gen_load_Linker INLINECALLDICT __gen_load_Linker INLINECALLDICT
$__gen_Linker_owner CALLDICT $__gen_Linker_owner INLINECALLDICT
}> }>
$__gen_Linker_master PROC:<{ $__gen_Linker_master PROCREF:<{
s2 s3 XCHG s2 s3 XCHG
3 BLKDROP 3 BLKDROP
}> }>
$__gen_get_master PROC:<{ $__gen_get_master PROC:<{
__gen_load_Linker INLINECALLDICT __gen_load_Linker INLINECALLDICT
$__gen_Linker_master CALLDICT $__gen_Linker_master INLINECALLDICT
}> }>
$__gen_Linker_receive_SetLinkerNeighbor PROC:<{ $__gen_Linker_receive_SetLinkerNeighbor PROCINLINE:<{
NIP NIP
__tact_context_get INLINECALLDICT __tact_context_get INLINECALLDICT
2DROP 2DROP
@ -270,7 +270,7 @@ PROGRAM{
__tact_address_eq INLINECALLDICT __tact_address_eq INLINECALLDICT
THROWANYIFNOT THROWANYIFNOT
}> }>
$__gen_Linker_receive_ForwardToWallet PROC:<{ $__gen_Linker_receive_ForwardToWallet PROCINLINE:<{
__tact_context_get INLINECALLDICT __tact_context_get INLINECALLDICT
2DROP 2DROP
4429 PUSHINT 4429 PUSHINT
@ -286,7 +286,7 @@ PROGRAM{
s0 s3 XCHG s0 s3 XCHG
PUSHNULL PUSHNULL
PUSHNULL PUSHNULL
$send CALLDICT $send INLINECALLDICT
}> }>
recv_internal PROC:<{ recv_internal PROC:<{
0 PUSHINT 0 PUSHINT
@ -331,7 +331,7 @@ PROGRAM{
NIP NIP
s3 s4 XCHG s3 s4 XCHG
s1 s3 s0 XCHG3 s1 s3 s0 XCHG3
$__gen_Linker_receive_SetLinkerNeighbor CALLDICT $__gen_Linker_receive_SetLinkerNeighbor INLINECALLDICT
__gen_store_Linker INLINECALLDICT __gen_store_Linker INLINECALLDICT
}> }>
1562223291 PUSHINT 1562223291 PUSHINT
@ -343,7 +343,7 @@ PROGRAM{
NIP NIP
s3 s4 XCHG s3 s4 XCHG
s1 s3 s0 XCHG3 s1 s3 s0 XCHG3
$__gen_Linker_receive_ForwardToWallet CALLDICT $__gen_Linker_receive_ForwardToWallet INLINECALLDICT
__gen_store_Linker INLINECALLDICT __gen_store_Linker INLINECALLDICT
}> }>
DROP DROP

193
sources/output/jetton_Linker.code.rev.fif

@ -41,13 +41,11 @@ SETCP0
EQUAL EQUAL
<{ <{
s0 POP s0 POP
<{
c4 PUSH c4 PUSH
CTOS CTOS
LDREF LDREF
s0 s1 XCHG s0 s1 XCHG
2 SETGLOBVAR 2 SETGLOBVAR
<{
257 PUSHINT 257 PUSHINT
LDI LDI
LDMSGADDR LDMSGADDR
@ -74,11 +72,8 @@ SETCP0
s1 POP s1 POP
s1 s4 XCHG s1 s4 XCHG
s3 s3 s0 XCHG3 s3 s3 s0 XCHG3
}> CALLREF
1 4 BLKDROP2 1 4 BLKDROP2
}> CALLREF
s0 s4 XCHG s0 s4 XCHG
<{
32 LDU 32 LDU
s0 s1 XCHG s0 s1 XCHG
3019699393 PUSHINT 3019699393 PUSHINT
@ -96,18 +91,23 @@ SETCP0
PUSHNULL PUSHNULL
}> PUSHCONT }> PUSHCONT
IFELSE IFELSE
}> CALLREF
s1 POP s1 POP
s3 s4 XCHG s3 s4 XCHG
s1 s3 s0 XCHG3 s1 s3 s0 XCHG3
19 CALLDICT s1 POP
<{ 1 GETGLOBVAR
4 UNTUPLE
2DROP
4429 PUSHINT
s2 POP
s4 PUSH
SDEQ
THROWANYIFNOT
NEWC NEWC
2 GETGLOBVAR 2 GETGLOBVAR
s0 s1 XCHG s0 s1 XCHG
STREF STREF
4 1 BLKSWAP 4 1 BLKSWAP
<{
s3 s4 XCHG2 s3 s4 XCHG2
257 PUSHINT 257 PUSHINT
STIX STIX
@ -132,22 +132,17 @@ SETCP0
ENDC ENDC
s0 s1 XCHG s0 s1 XCHG
STREF STREF
}> CALLREF
ENDC ENDC
c4 POP c4 POP
}> CALLREF }> IFJMPREF
}> PUSHCONT
IFJMP
1562223291 PUSHINT 1562223291 PUSHINT
EQUAL EQUAL
<{
<{ <{
c4 PUSH c4 PUSH
CTOS CTOS
LDREF LDREF
s0 s1 XCHG s0 s1 XCHG
2 SETGLOBVAR 2 SETGLOBVAR
<{
257 PUSHINT 257 PUSHINT
LDI LDI
LDMSGADDR LDMSGADDR
@ -174,11 +169,8 @@ SETCP0
s1 POP s1 POP
s1 s4 XCHG s1 s4 XCHG
s3 s3 s0 XCHG3 s3 s3 s0 XCHG3
}> CALLREF
1 4 BLKDROP2 1 4 BLKDROP2
}> CALLREF
s0 s4 XCHG s0 s4 XCHG
<{
32 LDU 32 LDU
s0 s1 XCHG s0 s1 XCHG
1562223291 PUSHINT 1562223291 PUSHINT
@ -186,57 +178,26 @@ SETCP0
129 THROWIFNOT 129 THROWIFNOT
LDREF LDREF
s0 s1 XCHG s0 s1 XCHG
}> CALLREF
s1 POP s1 POP
s3 s4 XCHG s3 s4 XCHG
s1 s3 s0 XCHG3 s1 s3 s0 XCHG3
20 CALLDICT 1 GETGLOBVAR
<{ 4 UNTUPLE
NEWC 2DROP
2 GETGLOBVAR 4429 PUSHINT
s0 s1 XCHG s2 POP
STREF s5 PUSH
4 1 BLKSWAP SDEQ
<{ THROWANYIFNOT
s3 s4 XCHG2 -1 PUSHINT
257 PUSHINT
STIX
s0 s1 XCHG
STSLICER
s0 s1 XCHG s0 s1 XCHG
STSLICER
NEWC
ROT
s0 PUSH
ISNULL
<{
s0 POP
0 PUSHINT 0 PUSHINT
s0 s1 XCHG 64 PUSHINT
2 STU s5 PUSH
}> PUSHCONT s0 s3 XCHG
PUSHNULL
PUSHNULL
<{ <{
STSLICER
}> PUSHCONT
IFELSE
ENDC
s0 s1 XCHG
STREF
}> CALLREF
ENDC
c4 POP
}> CALLREF
}> PUSHCONT
IFJMP
s0 POP
130 THROW
1:
s0 PUSH
ISNULL
128 THROWIF
16:
NEWC NEWC
1 PUSHINT 1 PUSHINT
s0 s1 XCHG s0 s1 XCHG
@ -280,7 +241,9 @@ SETCP0
s0 s1 XCHG s0 s1 XCHG
1 STI 1 STI
s0 s4 XCHG s0 s4 XCHG
1 CALLDICT s0 PUSH
ISNULL
128 THROWIF
s0 s4 XCHG2 s0 s4 XCHG2
STREF STREF
}> PUSHCONT }> PUSHCONT
@ -300,7 +263,9 @@ SETCP0
s0 s1 XCHG s0 s1 XCHG
1 STI 1 STI
s0 s4 XCHG s0 s4 XCHG
1 CALLDICT s0 PUSH
ISNULL
128 THROWIF
s0 s4 XCHG2 s0 s4 XCHG2
STREF STREF
}> PUSHCONT }> PUSHCONT
@ -341,64 +306,64 @@ SETCP0
s0 s1 XCHG s0 s1 XCHG
1 STI 1 STI
s0 s1 XCHG s0 s1 XCHG
1 CALLDICT s0 PUSH
ISNULL
128 THROWIF
s0 s1 XCHG s0 s1 XCHG
STREF STREF
}> IFREFELSEREF }> PUSHCONT
ENDC <{
s0 s1 XCHG
SENDRAWMSG
s1 POP s1 POP
0 PUSHINT 0 PUSHINT
s0 s1 XCHG s0 s1 XCHG
1 STI 1 STI
}> PUSHCONT
17: IFELSE
s1 s3 XCHG ENDC
3 BLKDROP s0 s1 XCHG
SENDRAWMSG
18: }> CALLREF
s2 s3 XCHG NEWC
3 BLKDROP 2 GETGLOBVAR
s0 s1 XCHG
19: STREF
s1 POP 4 1 BLKSWAP
1 GETGLOBVAR s3 s4 XCHG2
4 UNTUPLE 257 PUSHINT
2DROP STIX
4429 PUSHINT s0 s1 XCHG
s2 POP STSLICER
s4 PUSH
SDEQ
THROWANYIFNOT
20:
1 GETGLOBVAR
4 UNTUPLE
2DROP
4429 PUSHINT
s2 POP
s5 PUSH
SDEQ
THROWANYIFNOT
-1 PUSHINT
s0 s1 XCHG s0 s1 XCHG
STSLICER
NEWC
ROT
s0 PUSH
ISNULL
<{
s0 POP
0 PUSHINT 0 PUSHINT
64 PUSHINT s0 s1 XCHG
s5 PUSH 2 STU
s0 s3 XCHG }> PUSHCONT
PUSHNULL <{
PUSHNULL STSLICER
16 CALLDICT }> PUSHCONT
IFELSE
ENDC
s0 s1 XCHG
STREF
ENDC
c4 POP
}> IFJMPREF
s0 POP
130 THROW
owner: owner:
<{
c4 PUSH c4 PUSH
CTOS CTOS
LDREF LDREF
s0 s1 XCHG s0 s1 XCHG
2 SETGLOBVAR 2 SETGLOBVAR
<{
257 PUSHINT 257 PUSHINT
LDI LDI
LDMSGADDR LDMSGADDR
@ -425,23 +390,22 @@ SETCP0
s1 POP s1 POP
s1 s4 XCHG s1 s4 XCHG
s3 s3 s0 XCHG3 s3 s3 s0 XCHG3
}> CALLREF
1 4 BLKDROP2 1 4 BLKDROP2
<{
s1 s3 XCHG
3 BLKDROP
}> CALLREF }> CALLREF
17 CALLDICT
113617: 113617:
123515602279859691144772641439386770278 PUSHINT 123515602279859691144772641439386770278 PUSHINT
209801025412363888721030803524359905849 PUSHINT 209801025412363888721030803524359905849 PUSHINT
120253: 120253:
<{
c4 PUSH c4 PUSH
CTOS CTOS
LDREF LDREF
s0 s1 XCHG s0 s1 XCHG
2 SETGLOBVAR 2 SETGLOBVAR
<{
257 PUSHINT 257 PUSHINT
LDI LDI
LDMSGADDR LDMSGADDR
@ -468,10 +432,11 @@ SETCP0
s1 POP s1 POP
s1 s4 XCHG s1 s4 XCHG
s3 s3 s0 XCHG3 s3 s3 s0 XCHG3
}> CALLREF
1 4 BLKDROP2 1 4 BLKDROP2
<{
s2 s3 XCHG
3 BLKDROP
}> CALLREF }> CALLREF
18 CALLDICT
) 19 DICTPUSHCONST ) 19 DICTPUSHCONST
DICTIGETJMPZ DICTIGETJMPZ
11 THROWARG 11 THROWARG

BIN
sources/output/jetton_Linker.init.boc

Binary file not shown.

6
sources/output/jetton_Linker.init.fc

@ -1,3 +1,7 @@
#pragma version =0.4.1;
#pragma allow-post-modification;
#pragma compute-asm-ltr;
() __tact_verify_address(slice address) inline { () __tact_verify_address(slice address) inline {
throw_unless(136, address.slice_bits() != 267); throw_unless(136, address.slice_bits() != 267);
} }
@ -17,7 +21,7 @@ builder __tact_store_address_opt(builder b, slice address) inline {
} }
} }
builder __gen_write_Linker(builder build_0, (int, slice, slice, slice) v) inline_ref { builder __gen_write_Linker(builder build_0, (int, slice, slice, slice) v) inline {
var (v'index, v'master, v'owner, v'neighbor) = v; var (v'index, v'master, v'owner, v'neighbor) = v;
build_0 = build_0.store_int(v'index, 257); build_0 = build_0.store_int(v'index, 257);
build_0 = __tact_store_address(build_0, v'master); build_0 = __tact_store_address(build_0, v'master);

2
sources/output/jetton_Linker.init.fif

@ -27,7 +27,7 @@ PROGRAM{
__tact_store_address INLINECALLDICT __tact_store_address INLINECALLDICT
}> }>
}> }>
__gen_write_Linker PROCREF:<{ __gen_write_Linker PROCINLINE:<{
s3 s4 XCHG2 s3 s4 XCHG2
257 PUSHINT 257 PUSHINT
STIX STIX

2
sources/output/jetton_Linker.init.rev.fif

@ -8,7 +8,6 @@ SETCP0
NEWC NEWC
STREF STREF
s2 s4 XCHG2 s2 s4 XCHG2
<{
s3 s4 XCHG2 s3 s4 XCHG2
257 PUSHINT 257 PUSHINT
STIX STIX
@ -33,7 +32,6 @@ SETCP0
ENDC ENDC
s0 s1 XCHG s0 s1 XCHG
STREF STREF
}> CALLREF
ENDC ENDC
107886: 107886:

2
sources/output/jetton_Linker.md

@ -1,6 +1,6 @@
# TACT Compilation Report # TACT Compilation Report
Contract: Linker Contract: Linker
BOC Size: 594 bytes BOC Size: 645 bytes
# Types # Types
Total Types: 27 Total Types: 27

2
sources/output/jetton_Linker.pkg

File diff suppressed because one or more lines are too long

6
sources/output/jetton_Linker.ts

@ -1395,9 +1395,9 @@ function dictValueParserWithdraw(): DictionaryValue<Withdraw> {
} }
} }
async function Linker_init(index: bigint, owner: Address, master: Address) { async function Linker_init(index: bigint, owner: Address, master: Address) {
const __init = 'te6ccgEBBwEATgABFP8A9KQT9LzyyAsBAgFiAgMCAs0EBQAJoUrd4AsAAdQBE2W0EyMxQJNs8yYGADxQNIEBAc8AAc8WAc8WyFggbpUwcAHLAZLPFuLJAcw='; const __init = 'te6ccgEBBgEASQABFP8A9KQT9LzyyAsBAgFiAgMCAs0EBQAJoUrd4AsAAdQAS2W0EyMxQJFA0gQEBzwABzxYBzxbIWCBulTBwAcsBks8W4skBzMm';
const __code = 'te6ccgECHQEAAkYAART/APSkE/S88sgLAQIBYgIDAgLLBAUCASAXGAIBzgYHAgFIDQ4ElRwIddJwh+VMCDXCx/eAtDTAwFxsMABkX+RcOIB+kAiUGZvBPhhApFb4CCCELP89MG6j48w2zwE2zwxEDRBMPAT2zzgghBdHaK7uoBsICwkACwgbvLQgIAA20x8BghCz/PTBuvLggfpAIdcLAcMAkQGSMW3iAyqPjts8BNs8MRA0QTDwFNs84DDywIIbCgsAHtMfAYIQXR2iu7ry4IHUAQEYyPhCAcxVMNs8ye1UDAA8UDSBAQHPAAHPFgHPFshYIG6VMHABywGSzxbiyQHMAgEgDxAAM9fCC3ki3AiKaZEuOC+Xo/gLhAIBKBtrb4CEAgEgERICASAVFgL3MhxAcoBUAcBygBwAcoCUAXPFlAD+gJwAcpoI26zJW6zsY5GfwHKAMhwAcoAcAHKACRus5p/AcoABPABUATMljQDcAHKAOIkbrOafwHKAATwAVAEzJY0A3ABygDicAHKAAJ/AcoAAslYzJczMwFwAcoA4iFus+MPyQH7AIBMUAAcE18DgABJ/AcoAAfABAcwACjFwAcoAAAkECNfA4AAfDH4QW8kW4ERTTIkxwXy9IAENviju2eeAjBsCASAZGgBNu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYAQ25W92zzwEoGwEW7UTQ1AH4Yts8bBQcAESBAQHXAPpAAQH6QAEB1AHQ+kAh1wsBwwCRAZIxbeIxFEMw'; const __code = 'te6ccgECDwEAAnkAART/APSkE/S88sgLAQIBYgIDAoLQcCHXScIflTAg1wsf3gLQ0wMBcbDAAZF/kXDiAfpAIlBmbwT4YQKRW+AgghCz/PTBuuMCghBdHaK7uuMCMPLAggQFAgEgCQoBuDDtRNDUAfhigQEB1wD6QAEB+kABAdQB0PpAIdcLAcMAkQGSMW3iMRRDMGwUBNMfAYIQs/z0wbry4IH6QCHXCwHDAJEBkjFt4jEQNEEwMfhBbyRbgRFNMiTHBfL0BwKy7UTQ1AH4YoEBAdcA+kABAfpAAQHUAdD6QCHXCwHDAJEBkjFt4jEUQzBsFATTHwGCEF0doru68uCB1AExEDRBMPhBbyRbgRFNMiXHBfL0fwFwgEAlA21t2zwGBwH2yHEBygFQBwHKAHABygJQBc8WUAP6AnABymgjbrMlbrOxjkx/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMlzMzAXABygDiIW6zCABQyPhCAcxVMFA0gQEBzwABzxYBzxbIWCBulTBwAcsBks8W4skBzMntVAAwnH8BygABIG7y0IABzJUxcAHKAOLJAfsAAV++KO9qJoagD8MUCAgOuAfSAAgP0gAIDqAOh9IBDrhYDhgEiAyRi28RiKIZg2Cm2eQLAgEgDA0ABhNfAwBNu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYAV+5W97UTQ1AH4YoEBAdcA+kABAfpAAQHUAdD6QCHXCwHDAJEBkjFt4jEUQzBsFNs8gOAAgQI18D';
const __system = 'te6cckECHwEAAlAAAQHAAQEFodSXAgEU/wD0pBP0vPLICwMCAWIJBAIBIAgFAgEgBwYBDblb3bPPASgdAE27vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gBDb4o7tnngIwdAgLLFQoCAUgMCwAz18ILeSLcCIppkS44L5ej+AuEAgEoG2tvgIQCASAQDQIBIA8OAB8MfhBbyRbgRFNMiTHBfL0gAAkECNfA4AIBIBIRAAcE18DgAvcyHEBygFQBwHKAHABygJQBc8WUAP6AnABymgjbrMlbrOxjkZ/AcoAyHABygBwAcoAJG6zmn8BygAE8AFQBMyWNANwAcoA4iRus5p/AcoABPABUATMljQDcAHKAOJwAcoAAn8BygACyVjMlzMzAXABygDiIW6z4w/JAfsAgFBMACjFwAcoAABJ/AcoAAfABAcwCAc4XFgALCBu8tCAgBJUcCHXScIflTAg1wsf3gLQ0wMBcbDAAZF/kXDiAfpAIlBmbwT4YQKRW+AgghCz/PTBuo+PMNs8BNs8MRA0QTDwE9s84IIQXR2iu7qAdHBoYAyqPjts8BNs8MRA0QTDwFNs84DDywIIdGRoAHtMfAYIQXR2iu7ry4IHUAQEYyPhCAcxVMNs8ye1UGwA8UDSBAQHPAAHPFgHPFshYIG6VMHABywGSzxbiyQHMADbTHwGCELP89MG68uCB+kAh1wsBwwCRAZIxbeIBFu1E0NQB+GLbPGwUHgBEgQEB1wD6QAEB+kABAdQB0PpAIdcLAcMAkQGSMW3iMRRDMODigOY='; const __system = 'te6cckECEQEAAoMAAQHAAQEFodSXAgEU/wD0pBP0vPLICwMCAWILBAIBIAkFAgEgCAYBX7lb3tRNDUAfhigQEB1wD6QAEB+kABAdQB0PpAIdcLAcMAkQGSMW3iMRRDMGwU2zyAcACBAjXwMATbu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmAFfvijvaiaGoA/DFAgIDrgH0gAID9IACA6gDofSAQ64WA4YBIgMkYtvEYiiGYNgptnkCgAGE18DAoLQcCHXScIflTAg1wsf3gLQ0wMBcbDAAZF/kXDiAfpAIlBmbwT4YQKRW+AgghCz/PTBuuMCghBdHaK7uuMCMPLAgg8MArLtRNDUAfhigQEB1wD6QAEB+kABAdQB0PpAIdcLAcMAkQGSMW3iMRRDMGwUBNMfAYIQXR2iu7ry4IHUATEQNEEw+EFvJFuBEU0yJccF8vR/AXCAQCUDbW3bPA0QAfbIcQHKAVAHAcoAcAHKAlAFzxZQA/oCcAHKaCNusyVus7GOTH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMyXMzMBcAHKAOIhbrMOADCcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wABuDDtRNDUAfhigQEB1wD6QAEB+kABAdQB0PpAIdcLAcMAkQGSMW3iMRRDMGwUBNMfAYIQs/z0wbry4IH6QCHXCwHDAJEBkjFt4jEQNEEwMfhBbyRbgRFNMiTHBfL0EABQyPhCAcxVMFA0gQEBzwABzxYBzxbIWCBulTBwAcsBks8W4skBzMntVIvqqJE=';
let systemCell = Cell.fromBase64(__system); let systemCell = Cell.fromBase64(__system);
let builder = new TupleBuilder(); let builder = new TupleBuilder();
builder.writeCell(systemCell); builder.writeCell(systemCell);

2
sources/output/jetton_TONB.abi

File diff suppressed because one or more lines are too long

BIN
sources/output/jetton_TONB.code.boc

Binary file not shown.

123
sources/output/jetton_TONB.code.fc

@ -1,10 +1,14 @@
#pragma version =0.4.1;
#pragma allow-post-modification;
#pragma compute-asm-ltr;
slice __tact_str_to_slice(slice s) asm "NOP"; slice __tact_str_to_slice(slice s) asm "NOP";
int __tact_my_balance() inline { int __tact_my_balance() inline {
return pair_first(get_balance()); return pair_first(get_balance());
} }
forall X -> X __tact_not_null(X x) { throw_if(128, null?(x)); return x; } forall X -> X __tact_not_null(X x) inline { throw_if(128, null?(x)); return x; }
global (int, slice, int, slice) __tact_context; global (int, slice, int, slice) __tact_context;
global cell __tact_context_sys; global cell __tact_context_sys;
@ -141,7 +145,7 @@ cell __gen_writecell_TokenTransferInternal((int, int, slice, slice, int, slice,
return __gen_write_TokenTransferInternal(begin_cell(), v).end_cell(); return __gen_write_TokenTransferInternal(begin_cell(), v).end_cell();
} }
builder __gen_write_TokenBurn(builder build_0, (int, int, slice, slice) v) inline_ref { builder __gen_write_TokenBurn(builder build_0, (int, int, slice, slice) v) inline {
var (v'queryId, v'amount, v'owner, v'responseAddress) = v; var (v'queryId, v'amount, v'owner, v'responseAddress) = v;
build_0 = store_uint(build_0, 1499400124, 32); build_0 = store_uint(build_0, 1499400124, 32);
build_0 = build_0.store_uint(v'queryId, 64); build_0 = build_0.store_uint(v'queryId, 64);
@ -155,7 +159,7 @@ cell __gen_writecell_TokenBurn((int, int, slice, slice) v) inline_ref {
return __gen_write_TokenBurn(begin_cell(), v).end_cell(); return __gen_write_TokenBurn(begin_cell(), v).end_cell();
} }
(slice, ((int, int, slice, slice))) __gen_read_TokenBurnNotification(slice sc_0) inline_ref { (slice, ((int, int, slice, slice))) __gen_read_TokenBurnNotification(slice sc_0) inline {
throw_unless(129, sc_0~load_uint(32) == 2078119902); throw_unless(129, sc_0~load_uint(32) == 2078119902);
var v'queryId = sc_0~load_uint(64); var v'queryId = sc_0~load_uint(64);
var v'amount = sc_0~load_coins(); var v'amount = sc_0~load_coins();
@ -164,13 +168,13 @@ cell __gen_writecell_TokenBurn((int, int, slice, slice) v) inline_ref {
return (sc_0, (v'queryId, v'amount, v'owner, v'responseAddress)); return (sc_0, (v'queryId, v'amount, v'owner, v'responseAddress));
} }
(slice, ((cell))) __gen_read_TokenUpdateContent(slice sc_0) inline_ref { (slice, ((cell))) __gen_read_TokenUpdateContent(slice sc_0) inline {
throw_unless(129, sc_0~load_uint(32) == 201882270); throw_unless(129, sc_0~load_uint(32) == 201882270);
var v'content = sc_0~load_int(1) ? sc_0~load_ref() : null(); var v'content = sc_0~load_int(1) ? sc_0~load_ref() : null();
return (sc_0, (v'content)); return (sc_0, (v'content));
} }
builder __gen_write_SetLinkerNeighbor(builder build_0, (slice) v) inline_ref { builder __gen_write_SetLinkerNeighbor(builder build_0, (slice) v) inline {
var (v'neighbor) = v; var (v'neighbor) = v;
build_0 = store_uint(build_0, 3019699393, 32); build_0 = store_uint(build_0, 3019699393, 32);
build_0 = __tact_store_address_opt(build_0, v'neighbor); build_0 = __tact_store_address_opt(build_0, v'neighbor);
@ -181,7 +185,24 @@ cell __gen_writecell_SetLinkerNeighbor((slice) v) inline_ref {
return __gen_write_SetLinkerNeighbor(begin_cell(), v).end_cell(); return __gen_write_SetLinkerNeighbor(begin_cell(), v).end_cell();
} }
builder __gen_write_WithdrawalRequests(builder build_0, (cell, cell, int) v) inline_ref { builder __gen_write_BlacklistWallet(builder build_0, (slice) v) inline {
var (v'wallet) = v;
build_0 = store_uint(build_0, 43811734, 32);
build_0 = __tact_store_address(build_0, v'wallet);
return build_0;
}
cell __gen_writecell_BlacklistWallet((slice) v) inline_ref {
return __gen_write_BlacklistWallet(begin_cell(), v).end_cell();
}
(slice, ((slice))) __gen_read_BlacklistWallet(slice sc_0) inline {
throw_unless(129, sc_0~load_uint(32) == 43811734);
var v'wallet = sc_0~__tact_load_address();
return (sc_0, (v'wallet));
}
builder __gen_write_WithdrawalRequests(builder build_0, (cell, cell, int) v) inline {
var (v'addresses, v'amounts, v'n_requests) = v; var (v'addresses, v'amounts, v'n_requests) = v;
build_0 = build_0.store_dict(v'addresses); build_0 = build_0.store_dict(v'addresses);
build_0 = build_0.store_dict(v'amounts); build_0 = build_0.store_dict(v'amounts);
@ -189,26 +210,26 @@ builder __gen_write_WithdrawalRequests(builder build_0, (cell, cell, int) v) inl
return build_0; return build_0;
} }
(slice, ((cell, cell, int))) __gen_read_WithdrawalRequests(slice sc_0) inline_ref { (slice, ((cell, cell, int))) __gen_read_WithdrawalRequests(slice sc_0) inline {
var v'addresses = sc_0~load_dict(); var v'addresses = sc_0~load_dict();
var v'amounts = sc_0~load_dict(); var v'amounts = sc_0~load_dict();
var v'n_requests = sc_0~load_int(257); var v'n_requests = sc_0~load_int(257);
return (sc_0, (v'addresses, v'amounts, v'n_requests)); return (sc_0, (v'addresses, v'amounts, v'n_requests));
} }
(slice, ((int))) __gen_read_Deposit(slice sc_0) inline_ref { (slice, ((int))) __gen_read_Deposit(slice sc_0) inline {
throw_unless(129, sc_0~load_uint(32) == 569292295); throw_unless(129, sc_0~load_uint(32) == 569292295);
var v'amount = sc_0~load_coins(); var v'amount = sc_0~load_coins();
return (sc_0, (v'amount)); return (sc_0, (v'amount));
} }
(slice, ((int))) __gen_read_Withdraw(slice sc_0) inline_ref { (slice, ((int))) __gen_read_Withdraw(slice sc_0) inline {
throw_unless(129, sc_0~load_uint(32) == 1616450832); throw_unless(129, sc_0~load_uint(32) == 1616450832);
var v'amount = sc_0~load_int(257); var v'amount = sc_0~load_int(257);
return (sc_0, (v'amount)); return (sc_0, (v'amount));
} }
builder __gen_write_TONBWallet(builder build_0, (int, slice, slice, int, int, slice) v) inline_ref { builder __gen_write_TONBWallet(builder build_0, (int, slice, slice, int, int, slice) v) inline {
var (v'balance, v'owner, v'master, v'blacklisted, v'linker, v'linker_address) = v; var (v'balance, v'owner, v'master, v'blacklisted, v'linker, v'linker_address) = v;
build_0 = build_0.store_int(v'balance, 257); 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'owner);
@ -221,7 +242,7 @@ builder __gen_write_TONBWallet(builder build_0, (int, slice, slice, int, int, sl
return build_0; return build_0;
} }
builder __gen_write_Linker(builder build_0, (int, slice, slice, slice) v) inline_ref { builder __gen_write_Linker(builder build_0, (int, slice, slice, slice) v) inline {
var (v'index, v'master, v'owner, v'neighbor) = v; var (v'index, v'master, v'owner, v'neighbor) = v;
build_0 = build_0.store_int(v'index, 257); build_0 = build_0.store_int(v'index, 257);
build_0 = __tact_store_address(build_0, v'master); build_0 = __tact_store_address(build_0, v'master);
@ -232,7 +253,7 @@ builder __gen_write_Linker(builder build_0, (int, slice, slice, slice) v) inline
return build_0; return build_0;
} }
builder __gen_write_TONB(builder build_0, (int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) v) inline_ref { builder __gen_write_TONB(builder build_0, (int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) v) inline {
var (v'totalSupply, v'owner, v'content, v'mintable, v'first_linker, v'last_linker, v'n_linkers, v'staking_pool, (v'withdrawal_requests'addresses, v'withdrawal_requests'amounts, v'withdrawal_requests'n_requests)) = v; var (v'totalSupply, v'owner, v'content, v'mintable, v'first_linker, v'last_linker, v'n_linkers, v'staking_pool, (v'withdrawal_requests'addresses, v'withdrawal_requests'amounts, v'withdrawal_requests'n_requests)) = v;
build_0 = build_0.store_coins(v'totalSupply); build_0 = build_0.store_coins(v'totalSupply);
build_0 = __tact_store_address(build_0, v'owner); build_0 = __tact_store_address(build_0, v'owner);
@ -248,7 +269,7 @@ builder __gen_write_TONB(builder build_0, (int, slice, cell, int, slice, slice,
return build_0; return build_0;
} }
(slice, ((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)))) __gen_read_TONB(slice sc_0) inline_ref { (slice, ((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)))) __gen_read_TONB(slice sc_0) inline {
var v'totalSupply = sc_0~load_coins(); var v'totalSupply = sc_0~load_coins();
var v'owner = sc_0~__tact_load_address(); var v'owner = sc_0~__tact_load_address();
var v'content = sc_0~load_int(1) ? sc_0~load_ref() : null(); var v'content = sc_0~load_int(1) ? sc_0~load_ref() : null();
@ -272,18 +293,18 @@ _ __gen_Context_get_sender((int, slice, int, slice) v) inline {
return v'sender; return v'sender;
} }
(int, int, slice, cell, cell) __gen_JettonData_to_external(((int, int, slice, cell, cell)) v) { (int, int, slice, cell, cell) __gen_JettonData_to_external(((int, int, slice, cell, cell)) v) inline {
var (v'totalSupply, v'mintable, v'owner, v'content, v'walletCode) = v; var (v'totalSupply, v'mintable, v'owner, v'content, v'walletCode) = v;
return (v'totalSupply, v'mintable, v'owner, v'content, v'walletCode); return (v'totalSupply, v'mintable, v'owner, v'content, v'walletCode);
} }
(int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) __gen_load_TONB() inline_ref { (int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) __gen_load_TONB() inline {
slice sc = get_data().begin_parse(); slice sc = get_data().begin_parse();
__tact_context_sys = sc~load_ref(); __tact_context_sys = sc~load_ref();
return sc~__gen_read_TONB(); return sc~__gen_read_TONB();
} }
() __gen_store_TONB((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) v) impure inline_ref { () __gen_store_TONB((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) v) impure inline {
builder b = begin_cell(); builder b = begin_cell();
b = b.store_ref(__tact_context_sys); b = b.store_ref(__tact_context_sys);
b = __gen_write_TONB(b, v); b = __gen_write_TONB(b, v);
@ -293,25 +314,25 @@ _ __gen_Context_get_sender((int, slice, int, slice) v) inline {
;; String "Deposit" ;; String "Deposit"
slice __gen_str_228592480() asm "B{b5ee9c7241010101000900000e4465706f7369749721d513} B>boc <s PUSHSLICE"; slice __gen_str_228592480() asm "B{b5ee9c7241010101000900000e4465706f7369749721d513} B>boc <s PUSHSLICE";
cell $emptyCell() impure { cell $emptyCell() impure inline_ref {
return end_cell(begin_cell()); return end_cell(begin_cell());
} }
slice $__gen_Cell_asSlice(cell $self) impure { slice $__gen_Cell_asSlice(cell $self) impure inline_ref {
var ($self) = $self; var ($self) = $self;
return begin_parse($self); return begin_parse($self);
} }
slice $emptySlice() impure { slice $emptySlice() impure inline_ref {
return $__gen_Cell_asSlice($emptyCell()); return $__gen_Cell_asSlice($emptyCell());
} }
slice $contractAddress((cell, cell) $s) impure { slice $contractAddress((cell, cell) $s) impure inline_ref {
var (($s'code, $s'data)) = $s; var (($s'code, $s'data)) = $s;
return __tact_compute_contract_address(0, $s'code, $s'data); return __tact_compute_contract_address(0, $s'code, $s'data);
} }
() $send((int, slice, int, int, cell, cell, cell) $params) impure { () $send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref {
var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params;
builder $b = begin_cell(); builder $b = begin_cell();
$b = store_int($b, 1, 2); $b = store_int($b, 1, 2);
@ -354,7 +375,7 @@ slice $contractAddress((cell, cell) $s) impure {
send_raw_message($c, $params'mode); send_raw_message($c, $params'mode);
} }
(int, slice, int, int, cell, cell, cell) $stakingDepositMessage(int $value, slice $pool) impure { (int, slice, int, int, cell, cell, cell) $stakingDepositMessage(int $value, slice $pool) impure inline_ref {
return (true, $pool, $value, 0, end_cell(store_slice(begin_cell(), __tact_str_to_slice(__gen_str_228592480()))), null(), null()); return (true, $pool, $value, 0, end_cell(store_slice(begin_cell(), __tact_str_to_slice(__gen_str_228592480()))), null(), null());
} }
@ -404,12 +425,12 @@ cell $__gen_Linker_init(cell sys', int $index, slice $owner, slice $master) {
return (mine, $__gen_Linker_init(sys, $index, $owner, $master)); return (mine, $__gen_Linker_init(sys, $index, $owner, $master));
} }
((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)), (cell, cell)) $__gen_TONB_getJettonWalletInit((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self, slice $address) impure { ((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)), (cell, cell)) $__gen_TONB_getJettonWalletInit((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self, slice $address) impure inline_ref {
var (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))) = $self; var (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))) = $self;
return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), $__gen_TONBWallet_init_child(__tact_context_sys, my_address(), $address)); return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), $__gen_TONBWallet_init_child(__tact_context_sys, my_address(), $address));
} }
slice $__gen_TONB_get_wallet_address((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self, slice $owner) impure { slice $__gen_TONB_get_wallet_address((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self, slice $owner) impure inline_ref {
var (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))) = $self; var (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))) = $self;
var ($winit'code, $winit'data) = ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))~$__gen_TONB_getJettonWalletInit($owner); var ($winit'code, $winit'data) = ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))~$__gen_TONB_getJettonWalletInit($owner);
return $contractAddress(($winit'code, $winit'data)); return $contractAddress(($winit'code, $winit'data));
@ -422,7 +443,7 @@ _ $__gen_get_get_wallet_address(slice $$owner) method_id(103289) {
return res; return res;
} }
(int, int, slice, cell, cell) $__gen_TONB_get_jetton_data((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self) impure { (int, int, slice, cell, cell) $__gen_TONB_get_jetton_data((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self) impure inline_ref {
var (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))) = $self; var (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))) = $self;
cell $code = __gen_StateInit_get_code(($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))~$__gen_TONB_getJettonWalletInit(my_address())); cell $code = __gen_StateInit_get_code(($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))~$__gen_TONB_getJettonWalletInit(my_address()));
return ($self'totalSupply, $self'mintable, $self'owner, $self'content, $code); return ($self'totalSupply, $self'mintable, $self'owner, $self'content, $code);
@ -434,7 +455,7 @@ _ $__gen_get_get_jetton_data() method_id(106029) {
return __gen_JettonData_to_external(res); return __gen_JettonData_to_external(res);
} }
((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)), ()) $__gen_TONB_mint((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self, slice $to, int $amount, slice $responseAddress) impure { ((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)), ()) $__gen_TONB_mint((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self, slice $to, int $amount, slice $responseAddress) impure inline_ref {
var (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))) = $self; var (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))) = $self;
$self'totalSupply = ($self'totalSupply + $amount); $self'totalSupply = ($self'totalSupply + $amount);
var ($winit'code, $winit'data) = ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))~$__gen_TONB_getJettonWalletInit($to); var ($winit'code, $winit'data) = ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))~$__gen_TONB_getJettonWalletInit($to);
@ -445,11 +466,11 @@ _ $__gen_get_get_jetton_data() method_id(106029) {
$self'last_linker = $linker_address; $self'last_linker = $linker_address;
$self'n_linkers = ($self'n_linkers + 1); $self'n_linkers = ($self'n_linkers + 1);
cell $wallet_msg_body = __gen_writecell_TokenTransferInternal((0, $amount, my_address(), $responseAddress, 0, $emptySlice(), ($self'n_linkers - 1), $linker_address)); cell $wallet_msg_body = __gen_writecell_TokenTransferInternal((0, $amount, my_address(), $responseAddress, 0, $emptySlice(), ($self'n_linkers - 1), $linker_address));
$send((false, $walletAddress, 50000000, 0, $wallet_msg_body, $winit'code, $winit'data)); $send((false, $walletAddress, 65000000, 0, $wallet_msg_body, $winit'code, $winit'data));
return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ()); return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ());
} }
((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)), ()) $__gen_TONB_burn((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self, slice $from, int $amount, slice $responseAddress) impure { ((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)), ()) $__gen_TONB_burn((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self, slice $from, int $amount, slice $responseAddress) impure inline_ref {
var (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))) = $self; var (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))) = $self;
var ($winit'code, $winit'data) = ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))~$__gen_TONB_getJettonWalletInit($from); var ($winit'code, $winit'data) = ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))~$__gen_TONB_getJettonWalletInit($from);
slice $walletAddress = $contractAddress(($winit'code, $winit'data)); slice $walletAddress = $contractAddress(($winit'code, $winit'data));
@ -457,7 +478,7 @@ _ $__gen_get_get_jetton_data() method_id(106029) {
return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ()); return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ());
} }
((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)), ()) $__gen_TONB_requireWallet((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self, slice $owner) impure { ((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)), ()) $__gen_TONB_requireWallet((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self, slice $owner) impure inline_ref {
var (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))) = $self; var (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))) = $self;
var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); 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, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))~$__gen_TONB_getJettonWalletInit($owner); var ($winit'code, $winit'data) = ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))~$__gen_TONB_getJettonWalletInit($owner);
@ -465,13 +486,13 @@ _ $__gen_get_get_jetton_data() method_id(106029) {
return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ()); return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ());
} }
((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)), ()) $__gen_TONB_requireOwner((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self) impure { ((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)), ()) $__gen_TONB_requireOwner((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self) impure inline_ref {
var (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))) = $self; var (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))) = $self;
throw_unless(132, __tact_address_eq(__gen_Context_get_sender(__tact_context_get()), $self'owner)); throw_unless(132, __tact_address_eq(__gen_Context_get_sender(__tact_context_get()), $self'owner));
return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ()); return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ());
} }
slice $__gen_TONB_owner((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self) impure { slice $__gen_TONB_owner((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self) impure inline_ref {
var (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))) = $self; var (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))) = $self;
return $self'owner; return $self'owner;
} }
@ -482,7 +503,7 @@ _ $__gen_get_owner() method_id(83229) {
return res; return res;
} }
((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)), ()) $__gen_TONB_sendStake((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self) impure { ((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)), ()) $__gen_TONB_sendStake((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self) impure inline_ref {
var (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))) = $self; var (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))) = $self;
if (null?($self'staking_pool)) { if (null?($self'staking_pool)) {
return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ()); return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ());
@ -495,7 +516,7 @@ _ $__gen_get_owner() method_id(83229) {
return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ()); return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ());
} }
((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)), ()) $__gen_TONB_requestWithdrawal((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self, slice $address, int $value) impure { ((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)), ()) $__gen_TONB_requestWithdrawal((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self, slice $address, int $value) impure inline_ref {
var (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))) = $self; var (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))) = $self;
$self'withdrawal_requests'addresses~__tact_dict_set_int_slice(257, $self'withdrawal_requests'n_requests, $address); $self'withdrawal_requests'addresses~__tact_dict_set_int_slice(257, $self'withdrawal_requests'n_requests, $address);
$self'withdrawal_requests'amounts~__tact_dict_set_int_int(257, $self'withdrawal_requests'n_requests, $value, 257); $self'withdrawal_requests'amounts~__tact_dict_set_int_int(257, $self'withdrawal_requests'n_requests, $value, 257);
@ -503,22 +524,22 @@ _ $__gen_get_owner() method_id(83229) {
return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ()); return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ());
} }
(((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int))), ()) $__gen_TONB_receive_Deposit((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self, (int) $msg) impure { (((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int))), ()) $__gen_TONB_receive_Deposit((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self, (int) $msg) impure inline {
var ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)) = $self; var ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)) = $self;
var ($msg'amount) = $msg; var ($msg'amount) = $msg;
var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get();
throw_unless(32366, ($ctx'value >= (((10000000 + $msg'amount) + 20000000) + 50000000))); throw_unless(32366, ($ctx'value >= (((10000000 + $msg'amount) + 20000000) + 65000000)));
($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))~$__gen_TONB_mint($ctx'sender, $msg'amount, $ctx'sender); ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))~$__gen_TONB_mint($ctx'sender, $msg'amount, $ctx'sender);
($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))~$__gen_TONB_sendStake(); ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))~$__gen_TONB_sendStake();
return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ()); return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ());
} }
(((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int))), ()) $__gen_TONB_receive((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self) impure { (((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int))), ()) $__gen_TONB_receive((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self) impure inline {
var ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)) = $self; var ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)) = $self;
return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ()); return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ());
} }
(((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int))), ()) $__gen_TONB_receive_Withdraw((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self, (int) $msg) impure { (((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int))), ()) $__gen_TONB_receive_Withdraw((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self, (int) $msg) impure inline {
var ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)) = $self; var ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)) = $self;
var ($msg'amount) = $msg; var ($msg'amount) = $msg;
var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get();
@ -527,7 +548,7 @@ _ $__gen_get_owner() method_id(83229) {
return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ()); return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ());
} }
(((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int))), ()) $__gen_TONB_receive_TokenUpdateContent((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self, (cell) $msg) impure { (((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int))), ()) $__gen_TONB_receive_TokenUpdateContent((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self, (cell) $msg) impure inline {
var ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)) = $self; var ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)) = $self;
var ($msg'content) = $msg; var ($msg'content) = $msg;
($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))~$__gen_TONB_requireOwner(); ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))~$__gen_TONB_requireOwner();
@ -535,7 +556,7 @@ _ $__gen_get_owner() method_id(83229) {
return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ()); return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ());
} }
(((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int))), ()) $__gen_TONB_receive_TokenBurnNotification((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self, (int, int, slice, slice) $msg) impure { (((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int))), ()) $__gen_TONB_receive_TokenBurnNotification((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self, (int, int, slice, slice) $msg) impure inline {
var ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)) = $self; var ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)) = $self;
var ($msg'queryId, $msg'amount, $msg'owner, $msg'responseAddress) = $msg; var ($msg'queryId, $msg'amount, $msg'owner, $msg'responseAddress) = $msg;
($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))~$__gen_TONB_requireWallet($msg'owner); ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))~$__gen_TONB_requireWallet($msg'owner);
@ -554,13 +575,24 @@ _ $__gen_get_owner() method_id(83229) {
return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ()); return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ());
} }
((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)), ()) $__gen_TONB_receive_comment_f7b1ab6077945b37370a1550574675180cf87df4cb047c869746812a83667d4c((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self) impure { (((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int))), ()) $__gen_TONB_receive_BlacklistWallet((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self, (slice) $msg) impure inline {
var ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)) = $self;
var ($msg'wallet) = $msg;
($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))~$__gen_TONB_requireOwner();
var ($winit'code, $winit'data) = ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))~$__gen_TONB_getJettonWalletInit($msg'wallet);
slice $walletAddress = $contractAddress(($winit'code, $winit'data));
$send((false, $walletAddress, 0, 64, __gen_writecell_BlacklistWallet(($msg'wallet)), null(), null()));
return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ());
}
((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)), ()) $__gen_TONB_receive_comment_f7b1ab6077945b37370a1550574675180cf87df4cb047c869746812a83667d4c((int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) $self) impure inline {
var ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)) = $self; var ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)) = $self;
int $i = 0; int $i = 0;
while (($i < $self'withdrawal_requests'n_requests)) { while (($i < $self'withdrawal_requests'n_requests)) {
$send((true, __tact_not_null(__tact_dict_get_int_slice($self'withdrawal_requests'addresses, 257, $i)), __tact_not_null(__tact_dict_get_int_int($self'withdrawal_requests'amounts, 257, $i, 257)), 0, null(), null(), null())); $send((true, __tact_not_null(__tact_dict_get_int_slice($self'withdrawal_requests'addresses, 257, $i)), __tact_not_null(__tact_dict_get_int_int($self'withdrawal_requests'amounts, 257, $i, 257)), 0, null(), null(), null()));
$i = ($i + 1); $i = ($i + 1);
} }
($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests) = (null(), null(), 0);
return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ()); return (($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)), ());
} }
@ -627,6 +659,15 @@ _ $__gen_get_owner() method_id(83229) {
return (); return ();
} }
;; Receive BlacklistWallet message
if (op == 43811734) {
var self = __gen_load_TONB();
var msg = in_msg~__gen_read_BlacklistWallet();
self~$__gen_TONB_receive_BlacklistWallet(msg);
__gen_store_TONB(self);
return ();
}
;; Text Receivers ;; Text Receivers
if (op == 0) { if (op == 0) {
var text_op = slice_hash(in_msg); var text_op = slice_hash(in_msg);
@ -653,5 +694,5 @@ _ supported_interfaces() method_id {
} }
_ get_abi_ipfs() { _ get_abi_ipfs() {
return "ipfs://QmUMBKY4L4n4GyTq3MSncGQ8X3nLYqomdtcYYcg1dzU2iS"; return "ipfs://QmdLbHDcwcbEDecCvHvgj8D5v6twD5qHGPzRoJxrQn4XEr";
} }

248
sources/output/jetton_TONB.code.fif

@ -25,6 +25,9 @@ PROGRAM{
DECLPROC __gen_read_TokenUpdateContent DECLPROC __gen_read_TokenUpdateContent
DECLPROC __gen_write_SetLinkerNeighbor DECLPROC __gen_write_SetLinkerNeighbor
DECLPROC __gen_writecell_SetLinkerNeighbor DECLPROC __gen_writecell_SetLinkerNeighbor
DECLPROC __gen_write_BlacklistWallet
DECLPROC __gen_writecell_BlacklistWallet
DECLPROC __gen_read_BlacklistWallet
DECLPROC __gen_write_WithdrawalRequests DECLPROC __gen_write_WithdrawalRequests
DECLPROC __gen_read_WithdrawalRequests DECLPROC __gen_read_WithdrawalRequests
DECLPROC __gen_read_Deposit DECLPROC __gen_read_Deposit
@ -66,6 +69,7 @@ PROGRAM{
DECLPROC $__gen_TONB_receive_Withdraw DECLPROC $__gen_TONB_receive_Withdraw
DECLPROC $__gen_TONB_receive_TokenUpdateContent DECLPROC $__gen_TONB_receive_TokenUpdateContent
DECLPROC $__gen_TONB_receive_TokenBurnNotification DECLPROC $__gen_TONB_receive_TokenBurnNotification
DECLPROC $__gen_TONB_receive_BlacklistWallet
DECLPROC $__gen_TONB_receive_comment_f7b1ab6077945b37370a1550574675180cf87df4cb047c869746812a83667d4c DECLPROC $__gen_TONB_receive_comment_f7b1ab6077945b37370a1550574675180cf87df4cb047c869746812a83667d4c
DECLPROC recv_internal DECLPROC recv_internal
113617 DECLMETHOD supported_interfaces 113617 DECLMETHOD supported_interfaces
@ -76,7 +80,7 @@ PROGRAM{
BALANCE BALANCE
FIRST FIRST
}> }>
__tact_not_null PROC:<{ __tact_not_null PROCINLINE:<{
DUP DUP
ISNULL ISNULL
128 THROWIF 128 THROWIF
@ -270,7 +274,7 @@ PROGRAM{
__gen_write_TokenTransferInternal INLINECALLDICT __gen_write_TokenTransferInternal INLINECALLDICT
ENDC ENDC
}> }>
__gen_write_TokenBurn PROCREF:<{ __gen_write_TokenBurn PROCINLINE:<{
1499400124 PUSHINT 1499400124 PUSHINT
s0 s5 XCHG2 s0 s5 XCHG2
32 STU 32 STU
@ -289,7 +293,7 @@ PROGRAM{
__gen_write_TokenBurn INLINECALLDICT __gen_write_TokenBurn INLINECALLDICT
ENDC ENDC
}> }>
__gen_read_TokenBurnNotification PROCREF:<{ __gen_read_TokenBurnNotification PROCINLINE:<{
32 LDU 32 LDU
SWAP SWAP
2078119902 PUSHINT 2078119902 PUSHINT
@ -303,7 +307,7 @@ PROGRAM{
s1 s4 XCHG s1 s4 XCHG
s3 s3 s0 XCHG3 s3 s3 s0 XCHG3
}> }>
__gen_read_TokenUpdateContent PROCREF:<{ __gen_read_TokenUpdateContent PROCINLINE:<{
32 LDU 32 LDU
SWAP SWAP
201882270 PUSHINT 201882270 PUSHINT
@ -319,7 +323,7 @@ PROGRAM{
}> }>
SWAP SWAP
}> }>
__gen_write_SetLinkerNeighbor PROCREF:<{ __gen_write_SetLinkerNeighbor PROCINLINE:<{
3019699393 PUSHINT 3019699393 PUSHINT
ROT ROT
32 STU 32 STU
@ -332,21 +336,42 @@ PROGRAM{
__gen_write_SetLinkerNeighbor INLINECALLDICT __gen_write_SetLinkerNeighbor INLINECALLDICT
ENDC ENDC
}> }>
__gen_write_WithdrawalRequests PROCREF:<{ __gen_write_BlacklistWallet PROCINLINE:<{
43811734 PUSHINT
ROT
32 STU
SWAP
__tact_store_address INLINECALLDICT
}>
__gen_writecell_BlacklistWallet PROCREF:<{
NEWC
SWAP
__gen_write_BlacklistWallet INLINECALLDICT
ENDC
}>
__gen_read_BlacklistWallet PROCINLINE:<{
32 LDU
SWAP
43811734 PUSHINT
EQUAL
129 THROWIFNOT
__tact_load_address INLINECALLDICT
}>
__gen_write_WithdrawalRequests PROCINLINE:<{
s2 s3 XCHG2 s2 s3 XCHG2
STDICT STDICT
STDICT STDICT
257 PUSHINT 257 PUSHINT
STIX STIX
}> }>
__gen_read_WithdrawalRequests PROCREF:<{ __gen_read_WithdrawalRequests PROCINLINE:<{
LDDICT LDDICT
LDDICT LDDICT
257 PUSHINT 257 PUSHINT
LDIX LDIX
3 -ROLL 3 -ROLL
}> }>
__gen_read_Deposit PROCREF:<{ __gen_read_Deposit PROCINLINE:<{
32 LDU 32 LDU
SWAP SWAP
569292295 PUSHINT 569292295 PUSHINT
@ -355,7 +380,7 @@ PROGRAM{
LDGRAMS LDGRAMS
SWAP SWAP
}> }>
__gen_read_Withdraw PROCREF:<{ __gen_read_Withdraw PROCINLINE:<{
32 LDU 32 LDU
SWAP SWAP
1616450832 PUSHINT 1616450832 PUSHINT
@ -365,7 +390,7 @@ PROGRAM{
LDIX LDIX
SWAP SWAP
}> }>
__gen_write_TONBWallet PROCREF:<{ __gen_write_TONBWallet PROCINLINE:<{
s5 s6 XCHG2 s5 s6 XCHG2
257 PUSHINT 257 PUSHINT
STIX STIX
@ -397,7 +422,7 @@ PROGRAM{
SWAP SWAP
STREF STREF
}> }>
__gen_write_Linker PROCREF:<{ __gen_write_Linker PROCINLINE:<{
s3 s4 XCHG2 s3 s4 XCHG2
257 PUSHINT 257 PUSHINT
STIX STIX
@ -412,7 +437,7 @@ PROGRAM{
SWAP SWAP
STREF STREF
}> }>
__gen_write_TONB PROCREF:<{ __gen_write_TONB PROCINLINE:<{
s11 s10 XCHG2 s11 s10 XCHG2
STGRAMS STGRAMS
s0 s8 XCHG2 s0 s8 XCHG2
@ -450,7 +475,7 @@ PROGRAM{
SWAP SWAP
STREF STREF
}> }>
__gen_read_TONB PROCREF:<{ __gen_read_TONB PROCINLINE:<{
LDGRAMS LDGRAMS
__tact_load_address INLINECALLDICT __tact_load_address INLINECALLDICT
SWAP SWAP
@ -491,9 +516,9 @@ PROGRAM{
s2 s3 XCHG s2 s3 XCHG
3 BLKDROP 3 BLKDROP
}> }>
__gen_JettonData_to_external PROC:<{ __gen_JettonData_to_external PROCINLINE:<{
}> }>
__gen_load_TONB PROCREF:<{ __gen_load_TONB PROCINLINE:<{
c4 PUSH c4 PUSH
CTOS CTOS
LDREF LDREF
@ -502,7 +527,7 @@ PROGRAM{
__gen_read_TONB INLINECALLDICT __gen_read_TONB INLINECALLDICT
1 11 BLKDROP2 1 11 BLKDROP2
}> }>
__gen_store_TONB PROCREF:<{ __gen_store_TONB PROCINLINE:<{
NEWC NEWC
__tact_context_sys GETGLOB __tact_context_sys GETGLOB
SWAP SWAP
@ -512,23 +537,23 @@ PROGRAM{
ENDC ENDC
c4 POP c4 POP
}> }>
$emptyCell PROC:<{ $emptyCell PROCREF:<{
NEWC NEWC
ENDC ENDC
}> }>
$__gen_Cell_asSlice PROC:<{ $__gen_Cell_asSlice PROCREF:<{
CTOS CTOS
}> }>
$emptySlice PROC:<{ $emptySlice PROCREF:<{
$emptyCell CALLDICT $emptyCell INLINECALLDICT
$__gen_Cell_asSlice CALLDICT $__gen_Cell_asSlice INLINECALLDICT
}> }>
$contractAddress PROC:<{ $contractAddress PROCREF:<{
0 PUSHINT 0 PUSHINT
-ROT -ROT
__tact_compute_contract_address INLINECALLDICT __tact_compute_contract_address INLINECALLDICT
}> }>
$send PROC:<{ $send PROCREF:<{
NEWC NEWC
1 PUSHINT 1 PUSHINT
SWAP SWAP
@ -567,7 +592,7 @@ PROGRAM{
TRUE TRUE
__tact_store_bool INLINECALLDICT __tact_store_bool INLINECALLDICT
s0 s4 XCHG s0 s4 XCHG
__tact_not_null CALLDICT __tact_not_null INLINECALLDICT
s0 s4 XCHG2 s0 s4 XCHG2
STREF STREF
}>ELSE<{ }>ELSE<{
@ -583,7 +608,7 @@ PROGRAM{
TRUE TRUE
__tact_store_bool INLINECALLDICT __tact_store_bool INLINECALLDICT
s0 s4 XCHG s0 s4 XCHG
__tact_not_null CALLDICT __tact_not_null INLINECALLDICT
s0 s4 XCHG2 s0 s4 XCHG2
STREF STREF
}>ELSE<{ }>ELSE<{
@ -615,7 +640,7 @@ PROGRAM{
TRUE TRUE
__tact_store_bool INLINECALLDICT __tact_store_bool INLINECALLDICT
SWAP SWAP
__tact_not_null CALLDICT __tact_not_null INLINECALLDICT
SWAP SWAP
STREF STREF
}>ELSE<{ }>ELSE<{
@ -627,7 +652,7 @@ PROGRAM{
SWAP SWAP
SENDRAWMSG SENDRAWMSG
}> }>
$stakingDepositMessage PROC:<{ $stakingDepositMessage PROCREF:<{
TRUE TRUE
0 PUSHINT 0 PUSHINT
NEWC NEWC
@ -700,47 +725,47 @@ PROGRAM{
s0 s4 XCHG s0 s4 XCHG
$__gen_Linker_init CALLDICT $__gen_Linker_init CALLDICT
}> }>
$__gen_TONB_getJettonWalletInit PROC:<{ $__gen_TONB_getJettonWalletInit PROCREF:<{
__tact_context_sys GETGLOB __tact_context_sys GETGLOB
MYADDR MYADDR
ROT ROT
$__gen_TONBWallet_init_child CALLDICT $__gen_TONBWallet_init_child CALLDICT
}> }>
$__gen_TONB_get_wallet_address PROC:<{ $__gen_TONB_get_wallet_address PROCREF:<{
$__gen_TONB_getJettonWalletInit CALLDICT $__gen_TONB_getJettonWalletInit INLINECALLDICT
11 2 BLKDROP2 11 2 BLKDROP2
$contractAddress CALLDICT $contractAddress INLINECALLDICT
}> }>
$__gen_get_get_wallet_address PROC:<{ $__gen_get_get_wallet_address PROC:<{
__gen_load_TONB INLINECALLDICT __gen_load_TONB INLINECALLDICT
11 ROLL 11 ROLL
$__gen_TONB_get_wallet_address CALLDICT $__gen_TONB_get_wallet_address INLINECALLDICT
}> }>
$__gen_TONB_get_jetton_data PROC:<{ $__gen_TONB_get_jetton_data PROCREF:<{
MYADDR MYADDR
$__gen_TONB_getJettonWalletInit CALLDICT $__gen_TONB_getJettonWalletInit INLINECALLDICT
7 2 BLKDROP2 7 2 BLKDROP2
__gen_StateInit_get_code INLINECALLDICT __gen_StateInit_get_code INLINECALLDICT
s3 s3 s0 XCHG3 s3 s3 s0 XCHG3
}> }>
$__gen_get_get_jetton_data PROC:<{ $__gen_get_get_jetton_data PROC:<{
__gen_load_TONB INLINECALLDICT __gen_load_TONB INLINECALLDICT
$__gen_TONB_get_jetton_data CALLDICT $__gen_TONB_get_jetton_data INLINECALLDICT
__gen_JettonData_to_external CALLDICT __gen_JettonData_to_external INLINECALLDICT
}> }>
$__gen_TONB_mint PROC:<{ $__gen_TONB_mint PROCREF:<{
s13 s1 XCPU s13 s1 XCPU
ADD ADD
11 2 BLKSWAP 11 2 BLKSWAP
$__gen_TONB_getJettonWalletInit CALLDICT $__gen_TONB_getJettonWalletInit INLINECALLDICT
2DUP 2DUP
$contractAddress CALLDICT $contractAddress INLINECALLDICT
__tact_context_sys GETGLOB __tact_context_sys GETGLOB
MYADDR MYADDR
s9 s2 s(-2) PU2XC s9 s2 s(-2) PU2XC
$__gen_Linker_init_child CALLDICT $__gen_Linker_init_child CALLDICT
2DUP 2DUP
$contractAddress CALLDICT $contractAddress INLINECALLDICT
FALSE FALSE
20000000 PUSHINT 20000000 PUSHINT
0 PUSHINT 0 PUSHINT
@ -751,14 +776,14 @@ PROGRAM{
s4 s1 s5 XCHG3 s4 s1 s5 XCHG3
s3 s15 XCHG s3 s15 XCHG
s1 s15 s0 XCHG3 s1 s15 s0 XCHG3
$send CALLDICT $send INLINECALLDICT
s8 PUSH s8 PUSH
s0 s8 XCHG s0 s8 XCHG
INC INC
0 PUSHINT 0 PUSHINT
MYADDR MYADDR
OVER OVER
$emptySlice CALLDICT $emptySlice INLINECALLDICT
s4 PUSH s4 PUSH
DEC DEC
s4 s7 XCHG s4 s7 XCHG
@ -771,12 +796,12 @@ PROGRAM{
FALSE FALSE
s0 s4 XCHG s0 s4 XCHG
s3 s14 XCHG s3 s14 XCHG
50000000 PUSHINT 65000000 PUSHINT
s0 s3 XCHG s0 s3 XCHG
0 PUSHINT 0 PUSHINT
s3 s1 s3 XCHG3 s3 s1 s3 XCHG3
s0 17 s() XCHG s0 17 s() XCHG
$send CALLDICT $send INLINECALLDICT
s8 s10 XCHG s8 s10 XCHG
s7 s9 XCHG s7 s9 XCHG
s6 s8 XCHG s6 s8 XCHG
@ -785,7 +810,7 @@ PROGRAM{
s0 s3 s5 XCHG3 s0 s3 s5 XCHG3
s1 s4 XCHG s1 s4 XCHG
}> }>
$__gen_TONB_burn PROC:<{ $__gen_TONB_burn PROCREF:<{
s10 s13 XCHG s10 s13 XCHG
s9 s12 XCHG s9 s12 XCHG
s8 s11 XCHG s8 s11 XCHG
@ -796,9 +821,9 @@ PROGRAM{
s3 s12 XCHG s3 s12 XCHG
s11 s13 s12 XCHG3 s11 s13 s12 XCHG3
s11 PUSH s11 PUSH
$__gen_TONB_getJettonWalletInit CALLDICT $__gen_TONB_getJettonWalletInit INLINECALLDICT
2DUP 2DUP
$contractAddress CALLDICT $contractAddress INLINECALLDICT
FALSE FALSE
0 PUSHINT 0 PUSHINT
64 PUSHINT 64 PUSHINT
@ -812,42 +837,42 @@ PROGRAM{
s4 17 s() XCHG s4 17 s() XCHG
s3 s15 XCHG s3 s15 XCHG
s15 s2 XCHG2 s15 s2 XCHG2
$send CALLDICT $send INLINECALLDICT
s7 s10 XCHG s7 s10 XCHG
3 7 BLKSWAP 3 7 BLKSWAP
}> }>
$__gen_TONB_requireWallet PROC:<{ $__gen_TONB_requireWallet PROCREF:<{
__tact_context_get INLINECALLDICT __tact_context_get INLINECALLDICT
s2 s3 XCHG s2 s3 XCHG
3 BLKDROP 3 BLKDROP
12 -ROLL 12 -ROLL
$__gen_TONB_getJettonWalletInit CALLDICT $__gen_TONB_getJettonWalletInit INLINECALLDICT
SWAP SWAP
4429 PUSHINT 4429 PUSHINT
s0 s2 XCHG s0 s2 XCHG
$contractAddress CALLDICT $contractAddress INLINECALLDICT
s0 s13 XCHG2 s0 s13 XCHG2
__tact_address_eq INLINECALLDICT __tact_address_eq INLINECALLDICT
s1 s12 XCHG s1 s12 XCHG
THROWANYIFNOT THROWANYIFNOT
10 ROLL 10 ROLL
}> }>
$__gen_TONB_requireOwner PROC:<{ $__gen_TONB_requireOwner PROCREF:<{
__tact_context_get INLINECALLDICT __tact_context_get INLINECALLDICT
__gen_Context_get_sender INLINECALLDICT __gen_Context_get_sender INLINECALLDICT
s10 PUSH s10 PUSH
__tact_address_eq INLINECALLDICT __tact_address_eq INLINECALLDICT
132 THROWIFNOT 132 THROWIFNOT
}> }>
$__gen_TONB_owner PROC:<{ $__gen_TONB_owner PROCREF:<{
s9 s10 XCHG s9 s10 XCHG
10 BLKDROP 10 BLKDROP
}> }>
$__gen_get_owner PROC:<{ $__gen_get_owner PROC:<{
__gen_load_TONB INLINECALLDICT __gen_load_TONB INLINECALLDICT
$__gen_TONB_owner CALLDICT $__gen_TONB_owner INLINECALLDICT
}> }>
$__gen_TONB_sendStake PROC:<{ $__gen_TONB_sendStake PROCREF:<{
s3 PUSH s3 PUSH
ISNULL ISNULL
IFJMP:<{ IFJMP:<{
@ -862,11 +887,11 @@ PROGRAM{
DROP DROP
}> }>
s4 PUSH s4 PUSH
__tact_not_null CALLDICT __tact_not_null INLINECALLDICT
$stakingDepositMessage CALLDICT $stakingDepositMessage INLINECALLDICT
$send CALLDICT $send INLINECALLDICT
}> }>
$__gen_TONB_requestWithdrawal PROC:<{ $__gen_TONB_requestWithdrawal PROCREF:<{
s1 s4 XCHG s1 s4 XCHG
257 PUSHINT 257 PUSHINT
s0 s3 s5 XCPUXC s0 s3 s5 XCPUXC
@ -880,7 +905,7 @@ PROGRAM{
SWAP SWAP
INC INC
}> }>
$__gen_TONB_receive_Deposit PROC:<{ $__gen_TONB_receive_Deposit PROCINLINE:<{
__tact_context_get INLINECALLDICT __tact_context_get INLINECALLDICT
DROP DROP
s2 POP s2 POP
@ -890,19 +915,19 @@ PROGRAM{
ADD ADD
20000000 PUSHINT 20000000 PUSHINT
ADD ADD
50000000 PUSHINT 65000000 PUSHINT
ADD ADD
s1 s3 XCHG s1 s3 XCHG
GEQ GEQ
s1 s2 XCHG s1 s2 XCHG
THROWANYIFNOT THROWANYIFNOT
TUCK TUCK
$__gen_TONB_mint CALLDICT $__gen_TONB_mint INLINECALLDICT
$__gen_TONB_sendStake CALLDICT $__gen_TONB_sendStake INLINECALLDICT
}> }>
$__gen_TONB_receive PROC:<{ $__gen_TONB_receive PROCINLINE:<{
}> }>
$__gen_TONB_receive_Withdraw PROC:<{ $__gen_TONB_receive_Withdraw PROCINLINE:<{
__tact_context_get INLINECALLDICT __tact_context_get INLINECALLDICT
DROP DROP
6384 PUSHINT 6384 PUSHINT
@ -912,17 +937,17 @@ PROGRAM{
s1 s2 XCHG s1 s2 XCHG
THROWANYIFNOT THROWANYIFNOT
TUCK TUCK
$__gen_TONB_burn CALLDICT $__gen_TONB_burn INLINECALLDICT
}> }>
$__gen_TONB_receive_TokenUpdateContent PROC:<{ $__gen_TONB_receive_TokenUpdateContent PROCINLINE:<{
11 -ROLL 11 -ROLL
$__gen_TONB_requireOwner CALLDICT $__gen_TONB_requireOwner INLINECALLDICT
s8 POP s8 POP
s9 s10 XCHG s9 s10 XCHG
s8 s9 XCHG s8 s9 XCHG
7 ROLL 7 ROLL
}> }>
$__gen_TONB_receive_TokenBurnNotification PROC:<{ $__gen_TONB_receive_TokenBurnNotification PROCINLINE:<{
DROP DROP
s2 POP s2 POP
s10 s12 XCHG s10 s12 XCHG
@ -934,7 +959,7 @@ PROGRAM{
s3 s11 XCHG s3 s11 XCHG
s12 s11 s12 XCHG3 s12 s11 s12 XCHG3
s11 PUSH s11 PUSH
$__gen_TONB_requireWallet CALLDICT $__gen_TONB_requireWallet INLINECALLDICT
s10 s12 XCPU s10 s12 XCPU
SUB SUB
__tact_my_balance INLINECALLDICT __tact_my_balance INLINECALLDICT
@ -944,7 +969,7 @@ PROGRAM{
SUB SUB
s0 s13 PUSH2 s0 s13 PUSH2
LESS LESS
IFJMP:<{ IF:<{
s1 s13 XCHG s1 s13 XCHG
SUB SUB
FALSE FALSE
@ -956,12 +981,12 @@ PROGRAM{
PUSHNULL PUSHNULL
PUSHNULL PUSHNULL
PUSHNULL PUSHNULL
$send CALLDICT $send INLINECALLDICT
0 PUSHINT 0 PUSHINT
MYADDR MYADDR
MYADDR MYADDR
s2 PUSH s2 PUSH
$emptySlice CALLDICT $emptySlice INLINECALLDICT
s5 PUSH s5 PUSH
4 -ROLL 4 -ROLL
PUSHNULL PUSHNULL
@ -973,7 +998,7 @@ PROGRAM{
s11 PUSH s11 PUSH
21 s() PUSH 21 s() PUSH
23 s() PUSH 23 s() PUSH
$__gen_TONB_get_wallet_address CALLDICT $__gen_TONB_get_wallet_address INLINECALLDICT
FALSE FALSE
s0 s2 XCHG s0 s2 XCHG
0 PUSHINT 0 PUSHINT
@ -981,7 +1006,7 @@ PROGRAM{
ROT ROT
PUSHNULL PUSHNULL
PUSHNULL PUSHNULL
$send CALLDICT $send INLINECALLDICT
s9 s11 XCHG s9 s11 XCHG
s8 s10 XCHG s8 s10 XCHG
s7 s9 XCHG s7 s9 XCHG
@ -990,8 +1015,8 @@ PROGRAM{
s4 s6 XCHG s4 s6 XCHG
s3 s5 XCHG s3 s5 XCHG
s4 s3 s0 XCHG3 s4 s3 s0 XCHG3
$__gen_TONB_requestWithdrawal CALLDICT $__gen_TONB_requestWithdrawal INLINECALLDICT
}> }>ELSE<{
DROP DROP
FALSE FALSE
s0 s12 s13 XCHG3 s0 s12 s13 XCHG3
@ -999,11 +1024,30 @@ PROGRAM{
PUSHNULL PUSHNULL
PUSHNULL PUSHNULL
PUSHNULL PUSHNULL
$send CALLDICT $send INLINECALLDICT
s9 s10 XCHG s9 s10 XCHG
2 8 BLKSWAP 2 8 BLKSWAP
}> }>
$__gen_TONB_receive_comment_f7b1ab6077945b37370a1550574675180cf87df4cb047c869746812a83667d4c PROC:<{ }>
$__gen_TONB_receive_BlacklistWallet PROCINLINE:<{
11 -ROLL
$__gen_TONB_requireOwner INLINECALLDICT
s11 PUSH
$__gen_TONB_getJettonWalletInit INLINECALLDICT
$contractAddress INLINECALLDICT
FALSE
0 PUSHINT
64 PUSHINT
s0 s15 XCHG
__gen_writecell_BlacklistWallet INLINECALLDICT
s1 s4 s0 XCHG3
s1 s15 XCHG
PUSHNULL
PUSHNULL
$send INLINECALLDICT
10 ROLL
}>
$__gen_TONB_receive_comment_f7b1ab6077945b37370a1550574675180cf87df4cb047c869746812a83667d4c PROCINLINE:<{
0 PUSHINT 0 PUSHINT
WHILE:<{ WHILE:<{
s0 s1 PUSH2 s0 s1 PUSH2
@ -1014,20 +1058,23 @@ PROGRAM{
257 PUSHINT 257 PUSHINT
s3 PUSH s3 PUSH
__tact_dict_get_int_slice INLINECALLDICT __tact_dict_get_int_slice INLINECALLDICT
__tact_not_null CALLDICT __tact_not_null INLINECALLDICT
257 PUSHINT 257 PUSHINT
s5 s(-1) s(-1) PUXCPU s5 s(-1) s(-1) PUXCPU
s5 s(-1) PUXC s5 s(-1) PUXC
__tact_dict_get_int_int INLINECALLDICT __tact_dict_get_int_int INLINECALLDICT
__tact_not_null CALLDICT __tact_not_null INLINECALLDICT
0 PUSHINT 0 PUSHINT
PUSHNULL PUSHNULL
PUSHNULL PUSHNULL
PUSHNULL PUSHNULL
$send CALLDICT $send INLINECALLDICT
INC INC
}> }>
DROP 4 BLKDROP
PUSHNULL
PUSHNULL
0 PUSHINT
}> }>
recv_internal PROC:<{ recv_internal PROC:<{
c2 SAVE c2 SAVE
@ -1081,7 +1128,7 @@ PROGRAM{
s4 s5 XCHG s4 s5 XCHG
s3 s4 XCHG s3 s4 XCHG
s1 s3 s0 XCHG3 s1 s3 s0 XCHG3
$__gen_TONB_receive_Deposit CALLDICT $__gen_TONB_receive_Deposit INLINECALLDICT
__gen_store_TONB INLINECALLDICT __gen_store_TONB INLINECALLDICT
}> }>
DUP DUP
@ -1093,7 +1140,7 @@ PROGRAM{
IFJMP:<{ IFJMP:<{
2DROP 2DROP
__gen_load_TONB INLINECALLDICT __gen_load_TONB INLINECALLDICT
$__gen_TONB_receive CALLDICT $__gen_TONB_receive INLINECALLDICT
__gen_store_TONB INLINECALLDICT __gen_store_TONB INLINECALLDICT
}> }>
DUP DUP
@ -1114,7 +1161,7 @@ PROGRAM{
s4 s5 XCHG s4 s5 XCHG
s3 s4 XCHG s3 s4 XCHG
s1 s3 s0 XCHG3 s1 s3 s0 XCHG3
$__gen_TONB_receive_Withdraw CALLDICT $__gen_TONB_receive_Withdraw INLINECALLDICT
__gen_store_TONB INLINECALLDICT __gen_store_TONB INLINECALLDICT
}> }>
DUP DUP
@ -1135,7 +1182,7 @@ PROGRAM{
s4 s5 XCHG s4 s5 XCHG
s3 s4 XCHG s3 s4 XCHG
s1 s3 s0 XCHG3 s1 s3 s0 XCHG3
$__gen_TONB_receive_TokenUpdateContent CALLDICT $__gen_TONB_receive_TokenUpdateContent INLINECALLDICT
__gen_store_TONB INLINECALLDICT __gen_store_TONB INLINECALLDICT
}> }>
DUP DUP
@ -1158,7 +1205,28 @@ PROGRAM{
s5 s6 XCHG s5 s6 XCHG
s4 s5 XCHG s4 s5 XCHG
3 ROLL 3 ROLL
$__gen_TONB_receive_TokenBurnNotification CALLDICT $__gen_TONB_receive_TokenBurnNotification INLINECALLDICT
__gen_store_TONB INLINECALLDICT
}>
DUP
43811734 PUSHINT
EQUAL
IFJMP:<{
DROP
__gen_load_TONB INLINECALLDICT
s0 s11 XCHG
__gen_read_BlacklistWallet INLINECALLDICT
NIP
s10 s11 XCHG
s9 s10 XCHG
s8 s9 XCHG
s7 s8 XCHG
s6 s7 XCHG
s5 s6 XCHG
s4 s5 XCHG
s3 s4 XCHG
s1 s3 s0 XCHG3
$__gen_TONB_receive_BlacklistWallet INLINECALLDICT
__gen_store_TONB INLINECALLDICT __gen_store_TONB INLINECALLDICT
}> }>
0 EQINT 0 EQINT
@ -1168,7 +1236,7 @@ PROGRAM{
EQUAL EQUAL
IFJMP:<{ IFJMP:<{
__gen_load_TONB INLINECALLDICT __gen_load_TONB INLINECALLDICT
$__gen_TONB_receive_comment_f7b1ab6077945b37370a1550574675180cf87df4cb047c869746812a83667d4c CALLDICT $__gen_TONB_receive_comment_f7b1ab6077945b37370a1550574675180cf87df4cb047c869746812a83667d4c INLINECALLDICT
__gen_store_TONB INLINECALLDICT __gen_store_TONB INLINECALLDICT
RETALT RETALT
}> }>
@ -1184,6 +1252,6 @@ PROGRAM{
86142586315491086060343270784266291122 PUSHINT 86142586315491086060343270784266291122 PUSHINT
}> }>
get_abi_ipfs PROC:<{ get_abi_ipfs PROC:<{
x{697066733a2f2f516d554d424b59344c346e3447795471334d536e6347513858336e4c59716f6d6474635959636731647a55326953} PUSHSLICE x{697066733a2f2f516d644c624844637763624544656343764876676a384435763674774435714847507a526f4a7872516e34584572} PUSHSLICE
}> }>
}END>c }END>c

3169
sources/output/jetton_TONB.code.rev.fif

File diff suppressed because it is too large Load Diff

BIN
sources/output/jetton_TONB.init.boc

Binary file not shown.

9
sources/output/jetton_TONB.init.fc

@ -1,3 +1,7 @@
#pragma version =0.4.1;
#pragma allow-post-modification;
#pragma compute-asm-ltr;
() __tact_verify_address(slice address) inline { () __tact_verify_address(slice address) inline {
throw_unless(136, address.slice_bits() != 267); throw_unless(136, address.slice_bits() != 267);
} }
@ -17,7 +21,7 @@ builder __tact_store_address_opt(builder b, slice address) inline {
} }
} }
builder __gen_write_WithdrawalRequests(builder build_0, (cell, cell, int) v) inline_ref { builder __gen_write_WithdrawalRequests(builder build_0, (cell, cell, int) v) inline {
var (v'addresses, v'amounts, v'n_requests) = v; var (v'addresses, v'amounts, v'n_requests) = v;
build_0 = build_0.store_dict(v'addresses); build_0 = build_0.store_dict(v'addresses);
build_0 = build_0.store_dict(v'amounts); build_0 = build_0.store_dict(v'amounts);
@ -25,7 +29,7 @@ builder __gen_write_WithdrawalRequests(builder build_0, (cell, cell, int) v) inl
return build_0; return build_0;
} }
builder __gen_write_TONB(builder build_0, (int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) v) inline_ref { builder __gen_write_TONB(builder build_0, (int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) v) inline {
var (v'totalSupply, v'owner, v'content, v'mintable, v'first_linker, v'last_linker, v'n_linkers, v'staking_pool, (v'withdrawal_requests'addresses, v'withdrawal_requests'amounts, v'withdrawal_requests'n_requests)) = v; var (v'totalSupply, v'owner, v'content, v'mintable, v'first_linker, v'last_linker, v'n_linkers, v'staking_pool, (v'withdrawal_requests'addresses, v'withdrawal_requests'amounts, v'withdrawal_requests'n_requests)) = v;
build_0 = build_0.store_coins(v'totalSupply); build_0 = build_0.store_coins(v'totalSupply);
build_0 = __tact_store_address(build_0, v'owner); build_0 = __tact_store_address(build_0, v'owner);
@ -47,6 +51,7 @@ cell $__gen_TONB_init(cell sys', slice $owner, cell $content) {
$self'owner = $owner; $self'owner = $owner;
$self'mintable = true; $self'mintable = true;
$self'content = $content; $self'content = $content;
($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests) = (null(), null(), 0);
var b' = begin_cell(); var b' = begin_cell();
b' = b'.store_ref(sys'); b' = b'.store_ref(sys');
b' = __gen_write_TONB(b', ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests))); b' = __gen_write_TONB(b', ($self'totalSupply, $self'owner, $self'content, $self'mintable, $self'first_linker, $self'last_linker, $self'n_linkers, $self'staking_pool, ($self'withdrawal_requests'addresses, $self'withdrawal_requests'amounts, $self'withdrawal_requests'n_requests)));

21
sources/output/jetton_TONB.init.fif

@ -28,14 +28,14 @@ PROGRAM{
__tact_store_address INLINECALLDICT __tact_store_address INLINECALLDICT
}> }>
}> }>
__gen_write_WithdrawalRequests PROCREF:<{ __gen_write_WithdrawalRequests PROCINLINE:<{
s2 s3 XCHG2 s2 s3 XCHG2
STDICT STDICT
STDICT STDICT
257 PUSHINT 257 PUSHINT
STIX STIX
}> }>
__gen_write_TONB PROCREF:<{ __gen_write_TONB PROCINLINE:<{
s11 s10 XCHG2 s11 s10 XCHG2
STGRAMS STGRAMS
s0 s8 XCHG2 s0 s8 XCHG2
@ -78,19 +78,20 @@ PROGRAM{
PUSHNULL PUSHNULL
0 PUSHINT 0 PUSHINT
PUSHNULL PUSHNULL
PUSHNULL OVER
s4 PUSH
TRUE TRUE
PUSHNULL
PUSHNULL
s3 PUSH
s0 s11 XCHG s0 s11 XCHG
NEWC NEWC
STREF STREF
s0 s11 XCHG s0 s11 XCHG
s0 s7 XCHG s4 s10 XCHG
s10 s5 XCHG2 s4 s9 XCHG
s9 s3 XCHG2 s4 s8 XCHG
s0 s8 XCHG2 5 3 REVERSE
s0 s6 XCHG s3 s5 XCHG
s4 s1 s4 XCHG3
__gen_write_TONB INLINECALLDICT __gen_write_TONB INLINECALLDICT
ENDC ENDC
}> }>

21
sources/output/jetton_TONB.init.rev.fif

@ -7,20 +7,20 @@ SETCP0
PUSHNULL PUSHNULL
0 PUSHINT 0 PUSHINT
PUSHNULL PUSHNULL
PUSHNULL s1 PUSH
s4 PUSH
-1 PUSHINT -1 PUSHINT
PUSHNULL
PUSHNULL
s3 PUSH
s0 s11 XCHG s0 s11 XCHG
NEWC NEWC
STREF STREF
s0 s11 XCHG s0 s11 XCHG
s0 s7 XCHG s4 s10 XCHG
s10 s5 XCHG2 s4 s9 XCHG
s9 s3 XCHG2 s4 s8 XCHG
s0 s8 XCHG2 5 3 REVERSE
s0 s6 XCHG s3 s5 XCHG
s4 s1 s4 XCHG3
<{
s11 s10 XCHG2 s11 s10 XCHG2
STGRAMS STGRAMS
s0 s8 XCHG2 s0 s8 XCHG2
@ -88,17 +88,14 @@ SETCP0
}> PUSHCONT }> PUSHCONT
IFELSE IFELSE
s4 s3 XCHG2 s4 s3 XCHG2
<{
s2 s3 XCHG2 s2 s3 XCHG2
STDICT STDICT
STDICT STDICT
257 PUSHINT 257 PUSHINT
STIX STIX
}> CALLREF
ENDC ENDC
s0 s1 XCHG s0 s1 XCHG
STREF STREF
}> CALLREF
ENDC ENDC
107886: 107886:

2
sources/output/jetton_TONB.md

@ -1,6 +1,6 @@
# TACT Compilation Report # TACT Compilation Report
Contract: TONB Contract: TONB
BOC Size: 2191 bytes BOC Size: 3240 bytes
# Types # Types
Total Types: 27 Total Types: 27

2
sources/output/jetton_TONB.pkg

File diff suppressed because one or more lines are too long

11
sources/output/jetton_TONB.ts

File diff suppressed because one or more lines are too long

BIN
sources/output/jetton_TONBWallet.code.boc

Binary file not shown.

52
sources/output/jetton_TONBWallet.code.fc

@ -1,8 +1,12 @@
#pragma version =0.4.1;
#pragma allow-post-modification;
#pragma compute-asm-ltr;
int __tact_my_balance() inline { int __tact_my_balance() inline {
return pair_first(get_balance()); return pair_first(get_balance());
} }
forall X -> X __tact_not_null(X x) { throw_if(128, null?(x)); return x; } forall X -> X __tact_not_null(X x) inline { throw_if(128, null?(x)); return x; }
global (int, slice, int, slice) __tact_context; global (int, slice, int, slice) __tact_context;
global cell __tact_context_sys; global cell __tact_context_sys;
@ -133,7 +137,7 @@ cell __gen_writecell_TokenTransferInternal((int, int, slice, slice, int, slice,
return (sc_0, (v'queryId, v'amount, v'from, v'responseAddress, v'forwardTonAmount, v'forwardPayload, v'setLinker, v'setLinkerAddress)); return (sc_0, (v'queryId, v'amount, v'from, v'responseAddress, v'forwardTonAmount, v'forwardPayload, v'setLinker, v'setLinkerAddress));
} }
builder __gen_write_TokenNotification(builder build_0, (int, int, slice, slice) v) inline_ref { builder __gen_write_TokenNotification(builder build_0, (int, int, slice, slice) v) inline {
var (v'queryId, v'amount, v'from, v'forwardPayload) = v; var (v'queryId, v'amount, v'from, v'forwardPayload) = v;
build_0 = store_uint(build_0, 1935855772, 32); build_0 = store_uint(build_0, 1935855772, 32);
build_0 = build_0.store_uint(v'queryId, 64); build_0 = build_0.store_uint(v'queryId, 64);
@ -147,7 +151,7 @@ cell __gen_writecell_TokenNotification((int, int, slice, slice) v) inline_ref {
return __gen_write_TokenNotification(begin_cell(), v).end_cell(); return __gen_write_TokenNotification(begin_cell(), v).end_cell();
} }
(slice, ((int, int, slice, slice))) __gen_read_TokenBurn(slice sc_0) inline_ref { (slice, ((int, int, slice, slice))) __gen_read_TokenBurn(slice sc_0) inline {
throw_unless(129, sc_0~load_uint(32) == 1499400124); throw_unless(129, sc_0~load_uint(32) == 1499400124);
var v'queryId = sc_0~load_uint(64); var v'queryId = sc_0~load_uint(64);
var v'amount = sc_0~load_coins(); var v'amount = sc_0~load_coins();
@ -156,7 +160,7 @@ cell __gen_writecell_TokenNotification((int, int, slice, slice) v) inline_ref {
return (sc_0, (v'queryId, v'amount, v'owner, v'responseAddress)); return (sc_0, (v'queryId, v'amount, v'owner, v'responseAddress));
} }
builder __gen_write_TokenBurnNotification(builder build_0, (int, int, slice, slice) v) inline_ref { builder __gen_write_TokenBurnNotification(builder build_0, (int, int, slice, slice) v) inline {
var (v'queryId, v'amount, v'owner, v'responseAddress) = v; var (v'queryId, v'amount, v'owner, v'responseAddress) = v;
build_0 = store_uint(build_0, 2078119902, 32); build_0 = store_uint(build_0, 2078119902, 32);
build_0 = build_0.store_uint(v'queryId, 64); build_0 = build_0.store_uint(v'queryId, 64);
@ -170,7 +174,7 @@ cell __gen_writecell_TokenBurnNotification((int, int, slice, slice) v) inline_re
return __gen_write_TokenBurnNotification(begin_cell(), v).end_cell(); return __gen_write_TokenBurnNotification(begin_cell(), v).end_cell();
} }
builder __gen_write_TokenExcesses(builder build_0, (int) v) inline_ref { builder __gen_write_TokenExcesses(builder build_0, (int) v) inline {
var (v'queryId) = v; var (v'queryId) = v;
build_0 = store_uint(build_0, 3576854235, 32); build_0 = store_uint(build_0, 3576854235, 32);
build_0 = build_0.store_uint(v'queryId, 64); build_0 = build_0.store_uint(v'queryId, 64);
@ -181,13 +185,13 @@ cell __gen_writecell_TokenExcesses((int) v) inline_ref {
return __gen_write_TokenExcesses(begin_cell(), v).end_cell(); return __gen_write_TokenExcesses(begin_cell(), v).end_cell();
} }
(slice, ((slice))) __gen_read_BlacklistWallet(slice sc_0) inline_ref { (slice, ((slice))) __gen_read_BlacklistWallet(slice sc_0) inline {
throw_unless(129, sc_0~load_uint(32) == 43811734); throw_unless(129, sc_0~load_uint(32) == 43811734);
var v'wallet = sc_0~__tact_load_address(); var v'wallet = sc_0~__tact_load_address();
return (sc_0, (v'wallet)); return (sc_0, (v'wallet));
} }
builder __gen_write_TONBWallet(builder build_0, (int, slice, slice, int, int, slice) v) inline_ref { builder __gen_write_TONBWallet(builder build_0, (int, slice, slice, int, int, slice) v) inline {
var (v'balance, v'owner, v'master, v'blacklisted, v'linker, v'linker_address) = v; var (v'balance, v'owner, v'master, v'blacklisted, v'linker, v'linker_address) = v;
build_0 = build_0.store_int(v'balance, 257); 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'owner);
@ -200,7 +204,7 @@ builder __gen_write_TONBWallet(builder build_0, (int, slice, slice, int, int, sl
return build_0; return build_0;
} }
(slice, ((int, slice, slice, int, int, slice))) __gen_read_TONBWallet(slice sc_0) inline_ref { (slice, ((int, slice, slice, int, int, slice))) __gen_read_TONBWallet(slice sc_0) inline {
var v'balance = sc_0~load_int(257); var v'balance = sc_0~load_int(257);
var v'owner = sc_0~__tact_load_address(); var v'owner = sc_0~__tact_load_address();
var v'master = sc_0~__tact_load_address(); var v'master = sc_0~__tact_load_address();
@ -216,30 +220,30 @@ _ __gen_StateInit_get_code((cell, cell) v) inline {
return v'code; return v'code;
} }
(int, slice, slice, cell) __gen_JettonWalletData_to_external(((int, slice, slice, cell)) v) { (int, slice, slice, cell) __gen_JettonWalletData_to_external(((int, slice, slice, cell)) v) inline {
var (v'balance, v'owner, v'master, v'walletCode) = v; var (v'balance, v'owner, v'master, v'walletCode) = v;
return (v'balance, v'owner, v'master, v'walletCode); return (v'balance, v'owner, v'master, v'walletCode);
} }
(int, slice, slice, int, int, slice) __gen_load_TONBWallet() inline_ref { (int, slice, slice, int, int, slice) __gen_load_TONBWallet() inline {
slice sc = get_data().begin_parse(); slice sc = get_data().begin_parse();
__tact_context_sys = sc~load_ref(); __tact_context_sys = sc~load_ref();
return sc~__gen_read_TONBWallet(); return sc~__gen_read_TONBWallet();
} }
() __gen_store_TONBWallet((int, slice, slice, int, int, slice) v) impure inline_ref { () __gen_store_TONBWallet((int, slice, slice, int, int, slice) v) impure inline {
builder b = begin_cell(); builder b = begin_cell();
b = b.store_ref(__tact_context_sys); b = b.store_ref(__tact_context_sys);
b = __gen_write_TONBWallet(b, v); b = __gen_write_TONBWallet(b, v);
set_data(b.end_cell()); set_data(b.end_cell());
} }
slice $contractAddress((cell, cell) $s) impure { slice $contractAddress((cell, cell) $s) impure inline_ref {
var (($s'code, $s'data)) = $s; var (($s'code, $s'data)) = $s;
return __tact_compute_contract_address(0, $s'code, $s'data); return __tact_compute_contract_address(0, $s'code, $s'data);
} }
() $send((int, slice, int, int, cell, cell, cell) $params) impure { () $send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref {
var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params;
builder $b = begin_cell(); builder $b = begin_cell();
$b = store_int($b, 1, 2); $b = store_int($b, 1, 2);
@ -282,7 +286,7 @@ slice $contractAddress((cell, cell) $s) impure {
send_raw_message($c, $params'mode); send_raw_message($c, $params'mode);
} }
int $__gen_Context_readForwardFee((int, slice, int, slice) $self) impure { int $__gen_Context_readForwardFee((int, slice, int, slice) $self) impure inline_ref {
var (($self'bounced, $self'sender, $self'value, $self'raw)) = $self; var (($self'bounced, $self'sender, $self'value, $self'raw)) = $self;
var (($self'bounced, $self'sender, $self'value, $self'raw)) = $self; var (($self'bounced, $self'sender, $self'value, $self'raw)) = $self;
slice $sc = $self'raw; slice $sc = $self'raw;
@ -315,7 +319,7 @@ cell $__gen_TONBWallet_init(cell sys', slice $master, slice $owner) {
return (mine, $__gen_TONBWallet_init(sys, $master, $owner)); return (mine, $__gen_TONBWallet_init(sys, $master, $owner));
} }
(int, slice, slice, cell) $__gen_TONBWallet_get_wallet_data((int, slice, slice, int, int, slice) $self) impure { (int, slice, slice, cell) $__gen_TONBWallet_get_wallet_data((int, slice, slice, int, int, slice) $self) impure inline_ref {
var (($self'balance, $self'owner, $self'master, $self'blacklisted, $self'linker, $self'linker_address)) = $self; var (($self'balance, $self'owner, $self'master, $self'blacklisted, $self'linker, $self'linker_address)) = $self;
return ($self'balance, $self'owner, $self'master, __gen_StateInit_get_code($__gen_TONBWallet_init_child(__tact_context_sys, $self'master, $self'owner))); return ($self'balance, $self'owner, $self'master, __gen_StateInit_get_code($__gen_TONBWallet_init_child(__tact_context_sys, $self'master, $self'owner)));
} }
@ -326,7 +330,7 @@ _ $__gen_get_get_wallet_data() method_id(97026) {
return __gen_JettonWalletData_to_external(res); return __gen_JettonWalletData_to_external(res);
} }
(((int, slice, slice, int, int, slice)), ()) $__gen_TONBWallet_receive_TokenTransfer((int, slice, slice, int, int, slice) $self, (int, int, slice, slice, cell, int, slice) $msg) impure { (((int, slice, slice, int, int, slice)), ()) $__gen_TONBWallet_receive_TokenTransfer((int, slice, slice, int, int, slice) $self, (int, int, slice, slice, cell, int, slice) $msg) impure inline {
var ($self'balance, $self'owner, $self'master, $self'blacklisted, $self'linker, $self'linker_address) = $self; var ($self'balance, $self'owner, $self'master, $self'blacklisted, $self'linker, $self'linker_address) = $self;
var ($msg'queryId, $msg'amount, $msg'destination, $msg'responseDestination, $msg'customPayload, $msg'forwardTonAmount, $msg'forwardPayload) = $msg; var ($msg'queryId, $msg'amount, $msg'destination, $msg'responseDestination, $msg'customPayload, $msg'forwardTonAmount, $msg'forwardPayload) = $msg;
throw_unless(44816, (~ $self'blacklisted)); throw_unless(44816, (~ $self'blacklisted));
@ -339,21 +343,27 @@ _ $__gen_get_get_wallet_data() method_id(97026) {
if (($msg'forwardTonAmount > 0)) { if (($msg'forwardTonAmount > 0)) {
$fwdCount = 2; $fwdCount = 2;
} }
throw_unless(16059, ($ctx'value > ((($fwdCount * $fwdFee) + (2 * 10000000)) + 10000000))); throw_unless(16059, ($ctx'value > 50000000));
var ($init'code, $init'data) = $__gen_TONBWallet_init_child(__tact_context_sys, $self'master, $msg'destination); var ($init'code, $init'data) = $__gen_TONBWallet_init_child(__tact_context_sys, $self'master, $msg'destination);
slice $walletAddress = $contractAddress(($init'code, $init'data)); slice $walletAddress = $contractAddress(($init'code, $init'data));
$send((true, $walletAddress, 0, 64, __gen_writecell_TokenTransferInternal(($msg'queryId, $msg'amount, $self'owner, $self'owner, $msg'forwardTonAmount, $msg'forwardPayload, null(), null())), $init'code, $init'data)); $send((true, $walletAddress, 0, 64, __gen_writecell_TokenTransferInternal(($msg'queryId, $msg'amount, $self'owner, $self'owner, $msg'forwardTonAmount, $msg'forwardPayload, null(), null())), $init'code, $init'data));
return (($self'balance, $self'owner, $self'master, $self'blacklisted, $self'linker, $self'linker_address), ()); return (($self'balance, $self'owner, $self'master, $self'blacklisted, $self'linker, $self'linker_address), ());
} }
(((int, slice, slice, int, int, slice)), ()) $__gen_TONBWallet_receive_TokenTransferInternal((int, slice, slice, int, int, slice) $self, (int, int, slice, slice, int, slice, int, slice) $msg) impure { (((int, slice, slice, int, int, slice)), ()) $__gen_TONBWallet_receive_TokenTransferInternal((int, slice, slice, int, int, slice) $self, (int, int, slice, slice, int, slice, int, slice) $msg) impure inline {
var ($self'balance, $self'owner, $self'master, $self'blacklisted, $self'linker, $self'linker_address) = $self; var ($self'balance, $self'owner, $self'master, $self'blacklisted, $self'linker, $self'linker_address) = $self;
var ($msg'queryId, $msg'amount, $msg'from, $msg'responseAddress, $msg'forwardTonAmount, $msg'forwardPayload, $msg'setLinker, $msg'setLinkerAddress) = $msg; var ($msg'queryId, $msg'amount, $msg'from, $msg'responseAddress, $msg'forwardTonAmount, $msg'forwardPayload, $msg'setLinker, $msg'setLinkerAddress) = $msg;
if ($self'blacklisted) {
$send((true, $self'master, 0, 64, __gen_writecell_TokenBurnNotification(($msg'queryId, $msg'amount, $self'owner, $self'owner)), null(), null()));
return (($self'balance, $self'owner, $self'master, $self'blacklisted, $self'linker, $self'linker_address), ());
}
var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get();
if (null?($self'linker)) { if (null?($self'linker)) {
if ((~ null?($msg'setLinker))) {
$self'linker = $msg'setLinker; $self'linker = $msg'setLinker;
$self'linker_address = $msg'setLinkerAddress; $self'linker_address = $msg'setLinkerAddress;
} }
}
if ((__tact_address_neq($ctx'sender, $self'master) & __tact_address_neq($ctx'sender, $self'linker_address))) { if ((__tact_address_neq($ctx'sender, $self'master) & __tact_address_neq($ctx'sender, $self'linker_address))) {
var ($sinit'code, $sinit'data) = $__gen_TONBWallet_init_child(__tact_context_sys, $self'master, $msg'from); var ($sinit'code, $sinit'data) = $__gen_TONBWallet_init_child(__tact_context_sys, $self'master, $msg'from);
throw_unless(4429, __tact_address_eq($contractAddress(($sinit'code, $sinit'data)), $ctx'sender)); throw_unless(4429, __tact_address_eq($contractAddress(($sinit'code, $sinit'data)), $ctx'sender));
@ -375,7 +385,7 @@ _ $__gen_get_get_wallet_data() method_id(97026) {
return (($self'balance, $self'owner, $self'master, $self'blacklisted, $self'linker, $self'linker_address), ()); return (($self'balance, $self'owner, $self'master, $self'blacklisted, $self'linker, $self'linker_address), ());
} }
(((int, slice, slice, int, int, slice)), ()) $__gen_TONBWallet_receive_TokenBurn((int, slice, slice, int, int, slice) $self, (int, int, slice, slice) $msg) impure { (((int, slice, slice, int, int, slice)), ()) $__gen_TONBWallet_receive_TokenBurn((int, slice, slice, int, int, slice) $self, (int, int, slice, slice) $msg) impure inline {
var ($self'balance, $self'owner, $self'master, $self'blacklisted, $self'linker, $self'linker_address) = $self; var ($self'balance, $self'owner, $self'master, $self'blacklisted, $self'linker, $self'linker_address) = $self;
var ($msg'queryId, $msg'amount, $msg'owner, $msg'responseAddress) = $msg; var ($msg'queryId, $msg'amount, $msg'owner, $msg'responseAddress) = $msg;
var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get();
@ -388,7 +398,7 @@ _ $__gen_get_get_wallet_data() method_id(97026) {
return (($self'balance, $self'owner, $self'master, $self'blacklisted, $self'linker, $self'linker_address), ()); return (($self'balance, $self'owner, $self'master, $self'blacklisted, $self'linker, $self'linker_address), ());
} }
(((int, slice, slice, int, int, slice)), ()) $__gen_TONBWallet_receive_BlacklistWallet((int, slice, slice, int, int, slice) $self, (slice) $_msg) impure { (((int, slice, slice, int, int, slice)), ()) $__gen_TONBWallet_receive_BlacklistWallet((int, slice, slice, int, int, slice) $self, (slice) $_msg) impure inline {
var ($self'balance, $self'owner, $self'master, $self'blacklisted, $self'linker, $self'linker_address) = $self; var ($self'balance, $self'owner, $self'master, $self'blacklisted, $self'linker, $self'linker_address) = $self;
var ($_msg'wallet) = $_msg; var ($_msg'wallet) = $_msg;
var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get();
@ -400,7 +410,7 @@ _ $__gen_get_get_wallet_data() method_id(97026) {
return (($self'balance, $self'owner, $self'master, $self'blacklisted, $self'linker, $self'linker_address), ()); return (($self'balance, $self'owner, $self'master, $self'blacklisted, $self'linker, $self'linker_address), ());
} }
((int, slice, slice, int, int, slice), ()) $__gen_TONBWallet_receive_bounced((int, slice, slice, int, int, slice) $self, slice $msg) impure { ((int, slice, slice, int, int, slice), ()) $__gen_TONBWallet_receive_bounced((int, slice, slice, int, int, slice) $self, slice $msg) impure inline {
var ($self'balance, $self'owner, $self'master, $self'blacklisted, $self'linker, $self'linker_address) = $self; var ($self'balance, $self'owner, $self'master, $self'blacklisted, $self'linker, $self'linker_address) = $self;
$msg~skip_bits(32); $msg~skip_bits(32);
int $op = $msg~load_uint(32); int $op = $msg~load_uint(32);

121
sources/output/jetton_TONBWallet.code.fif

@ -53,7 +53,7 @@ PROGRAM{
BALANCE BALANCE
FIRST FIRST
}> }>
__tact_not_null PROC:<{ __tact_not_null PROCINLINE:<{
DUP DUP
ISNULL ISNULL
128 THROWIF 128 THROWIF
@ -261,7 +261,7 @@ PROGRAM{
s2 s4 XCHG s2 s4 XCHG
s2 s3 XCHG s2 s3 XCHG
}> }>
__gen_write_TokenNotification PROCREF:<{ __gen_write_TokenNotification PROCINLINE:<{
1935855772 PUSHINT 1935855772 PUSHINT
s0 s5 XCHG2 s0 s5 XCHG2
32 STU 32 STU
@ -280,7 +280,7 @@ PROGRAM{
__gen_write_TokenNotification INLINECALLDICT __gen_write_TokenNotification INLINECALLDICT
ENDC ENDC
}> }>
__gen_read_TokenBurn PROCREF:<{ __gen_read_TokenBurn PROCINLINE:<{
32 LDU 32 LDU
SWAP SWAP
1499400124 PUSHINT 1499400124 PUSHINT
@ -294,7 +294,7 @@ PROGRAM{
s1 s4 XCHG s1 s4 XCHG
s3 s3 s0 XCHG3 s3 s3 s0 XCHG3
}> }>
__gen_write_TokenBurnNotification PROCREF:<{ __gen_write_TokenBurnNotification PROCINLINE:<{
2078119902 PUSHINT 2078119902 PUSHINT
s0 s5 XCHG2 s0 s5 XCHG2
32 STU 32 STU
@ -313,7 +313,7 @@ PROGRAM{
__gen_write_TokenBurnNotification INLINECALLDICT __gen_write_TokenBurnNotification INLINECALLDICT
ENDC ENDC
}> }>
__gen_write_TokenExcesses PROCREF:<{ __gen_write_TokenExcesses PROCINLINE:<{
3576854235 PUSHINT 3576854235 PUSHINT
ROT ROT
32 STU 32 STU
@ -325,7 +325,7 @@ PROGRAM{
__gen_write_TokenExcesses INLINECALLDICT __gen_write_TokenExcesses INLINECALLDICT
ENDC ENDC
}> }>
__gen_read_BlacklistWallet PROCREF:<{ __gen_read_BlacklistWallet PROCINLINE:<{
32 LDU 32 LDU
SWAP SWAP
43811734 PUSHINT 43811734 PUSHINT
@ -333,7 +333,7 @@ PROGRAM{
129 THROWIFNOT 129 THROWIFNOT
__tact_load_address INLINECALLDICT __tact_load_address INLINECALLDICT
}> }>
__gen_write_TONBWallet PROCREF:<{ __gen_write_TONBWallet PROCINLINE:<{
s5 s6 XCHG2 s5 s6 XCHG2
257 PUSHINT 257 PUSHINT
STIX STIX
@ -365,7 +365,7 @@ PROGRAM{
SWAP SWAP
STREF STREF
}> }>
__gen_read_TONBWallet PROCREF:<{ __gen_read_TONBWallet PROCINLINE:<{
257 PUSHINT 257 PUSHINT
LDIX LDIX
__tact_load_address INLINECALLDICT __tact_load_address INLINECALLDICT
@ -395,9 +395,9 @@ PROGRAM{
__gen_StateInit_get_code PROCINLINE:<{ __gen_StateInit_get_code PROCINLINE:<{
DROP DROP
}> }>
__gen_JettonWalletData_to_external PROC:<{ __gen_JettonWalletData_to_external PROCINLINE:<{
}> }>
__gen_load_TONBWallet PROCREF:<{ __gen_load_TONBWallet PROCINLINE:<{
c4 PUSH c4 PUSH
CTOS CTOS
LDREF LDREF
@ -406,7 +406,7 @@ PROGRAM{
__gen_read_TONBWallet INLINECALLDICT __gen_read_TONBWallet INLINECALLDICT
1 6 BLKDROP2 1 6 BLKDROP2
}> }>
__gen_store_TONBWallet PROCREF:<{ __gen_store_TONBWallet PROCINLINE:<{
NEWC NEWC
__tact_context_sys GETGLOB __tact_context_sys GETGLOB
SWAP SWAP
@ -416,12 +416,12 @@ PROGRAM{
ENDC ENDC
c4 POP c4 POP
}> }>
$contractAddress PROC:<{ $contractAddress PROCREF:<{
0 PUSHINT 0 PUSHINT
-ROT -ROT
__tact_compute_contract_address INLINECALLDICT __tact_compute_contract_address INLINECALLDICT
}> }>
$send PROC:<{ $send PROCREF:<{
NEWC NEWC
1 PUSHINT 1 PUSHINT
SWAP SWAP
@ -460,7 +460,7 @@ PROGRAM{
TRUE TRUE
__tact_store_bool INLINECALLDICT __tact_store_bool INLINECALLDICT
s0 s4 XCHG s0 s4 XCHG
__tact_not_null CALLDICT __tact_not_null INLINECALLDICT
s0 s4 XCHG2 s0 s4 XCHG2
STREF STREF
}>ELSE<{ }>ELSE<{
@ -476,7 +476,7 @@ PROGRAM{
TRUE TRUE
__tact_store_bool INLINECALLDICT __tact_store_bool INLINECALLDICT
s0 s4 XCHG s0 s4 XCHG
__tact_not_null CALLDICT __tact_not_null INLINECALLDICT
s0 s4 XCHG2 s0 s4 XCHG2
STREF STREF
}>ELSE<{ }>ELSE<{
@ -508,7 +508,7 @@ PROGRAM{
TRUE TRUE
__tact_store_bool INLINECALLDICT __tact_store_bool INLINECALLDICT
SWAP SWAP
__tact_not_null CALLDICT __tact_not_null INLINECALLDICT
SWAP SWAP
STREF STREF
}>ELSE<{ }>ELSE<{
@ -520,7 +520,7 @@ PROGRAM{
SWAP SWAP
SENDRAWMSG SENDRAWMSG
}> }>
$__gen_Context_readForwardFee PROC:<{ $__gen_Context_readForwardFee PROCREF:<{
3 1 BLKDROP2 3 1 BLKDROP2
LDGRAMS LDGRAMS
NIP NIP
@ -566,7 +566,7 @@ PROGRAM{
s0 s0 s3 XCHG3 s0 s0 s3 XCHG3
$__gen_TONBWallet_init CALLDICT $__gen_TONBWallet_init CALLDICT
}> }>
$__gen_TONBWallet_get_wallet_data PROC:<{ $__gen_TONBWallet_get_wallet_data PROCREF:<{
3 BLKDROP 3 BLKDROP
__tact_context_sys GETGLOB __tact_context_sys GETGLOB
s1 s2 PUSH2 s1 s2 PUSH2
@ -575,10 +575,10 @@ PROGRAM{
}> }>
$__gen_get_get_wallet_data PROC:<{ $__gen_get_get_wallet_data PROC:<{
__gen_load_TONBWallet INLINECALLDICT __gen_load_TONBWallet INLINECALLDICT
$__gen_TONBWallet_get_wallet_data CALLDICT $__gen_TONBWallet_get_wallet_data INLINECALLDICT
__gen_JettonWalletData_to_external CALLDICT __gen_JettonWalletData_to_external INLINECALLDICT
}> }>
$__gen_TONBWallet_receive_TokenTransfer PROC:<{ $__gen_TONBWallet_receive_TokenTransfer PROCINLINE:<{
2 2 BLKDROP2 2 2 BLKDROP2
44816 PUSHINT 44816 PUSHINT
s8 PUSH s8 PUSH
@ -597,29 +597,22 @@ PROGRAM{
THROWANYIFNOT THROWANYIFNOT
s3 s3 s0 XCHG3 s3 s3 s0 XCHG3
s3 s14 PUXC s3 s14 PUXC
$__gen_Context_readForwardFee CALLDICT $__gen_Context_readForwardFee INLINECALLDICT
1 PUSHINT DROP
s4 PUSH s2 PUSH
0 GTINT 0 GTINT
IF:<{ IF:<{
DROP
2 PUSHINT
}> }>
16059 PUSHINT 16059 PUSHINT
s0 s2 XCHG SWAP
MUL 50000000 PUSHINT
20000000 PUSHINT
ADD
10000000 PUSHINT
ADD
s1 s2 XCHG
GREATER GREATER
THROWANYIFNOT THROWANYIFNOT
__tact_context_sys GETGLOB __tact_context_sys GETGLOB
s0 s9 s3 XCPUXC s0 s9 s3 XCPUXC
$__gen_TONBWallet_init_child CALLDICT $__gen_TONBWallet_init_child CALLDICT
2DUP 2DUP
$contractAddress CALLDICT $contractAddress INLINECALLDICT
TRUE TRUE
s7 s6 XCHG2 s7 s6 XCHG2
0 PUSHINT 0 PUSHINT
@ -636,12 +629,31 @@ PROGRAM{
s5 s6 XCHG s5 s6 XCHG
s3 s4 XCHG s3 s4 XCHG
-ROT -ROT
$send CALLDICT $send INLINECALLDICT
}> }>
$__gen_TONBWallet_receive_TokenTransferInternal PROC:<{ $__gen_TONBWallet_receive_TokenTransferInternal PROCINLINE:<{
s10 PUSH
IF:<{
6 BLKDROP
TRUE
0 PUSHINT
s0 s3 XCHG
64 PUSHINT
s3 s9 s9 XCPU2
__gen_writecell_TokenBurnNotification INLINECALLDICT
s3 s0 s7 XC2PU
s3 s3 XCHG2
PUSHNULL
PUSHNULL
$send INLINECALLDICT
}>ELSE<{
__tact_context_get INLINECALLDICT __tact_context_get INLINECALLDICT
s13 PUSH s13 PUSH
ISNULL ISNULL
IF:<{
s5 PUSH
ISNULL
NOT
IF:<{ IF:<{
s12 POP s12 POP
s12 POP s12 POP
@ -651,6 +663,10 @@ PROGRAM{
s4 POP s4 POP
s4 POP s4 POP
}> }>
}>ELSE<{
s4 POP
s4 POP
}>
s0 s13 PUSH2 s0 s13 PUSH2
__tact_address_neq INLINECALLDICT __tact_address_neq INLINECALLDICT
s1 s11 PUSH2 s1 s11 PUSH2
@ -663,7 +679,7 @@ PROGRAM{
SWAP SWAP
4429 PUSHINT 4429 PUSHINT
s0 s2 XCHG s0 s2 XCHG
$contractAddress CALLDICT $contractAddress INLINECALLDICT
s2 PUSH s2 PUSH
__tact_address_eq INLINECALLDICT __tact_address_eq INLINECALLDICT
THROWANYIFNOT THROWANYIFNOT
@ -691,7 +707,7 @@ PROGRAM{
s2 s3 XCHG s2 s3 XCHG
s0 16 s() XCHG s0 16 s() XCHG
s4 s2 XCHG2 s4 s2 XCHG2
$__gen_Context_readForwardFee CALLDICT $__gen_Context_readForwardFee INLINECALLDICT
s3 s(-1) PUXC s3 s(-1) PUXC
ADD ADD
s1 s13 XCHG s1 s13 XCHG
@ -708,7 +724,7 @@ PROGRAM{
s5 s5 XCHG2 s5 s5 XCHG2
PUSHNULL PUSHNULL
PUSHNULL PUSHNULL
$send CALLDICT $send INLINECALLDICT
s0 s8 XCHG2 s0 s8 XCHG2
}>ELSE<{ }>ELSE<{
s7 16 s() XCHG s7 16 s() XCHG
@ -724,7 +740,7 @@ PROGRAM{
IF:<{ IF:<{
FALSE FALSE
s0 s9 XCHG s0 s9 XCHG
__tact_not_null CALLDICT __tact_not_null INLINECALLDICT
0 PUSHINT 0 PUSHINT
s0 s4 XCHG s0 s4 XCHG
__gen_writecell_TokenExcesses INLINECALLDICT __gen_writecell_TokenExcesses INLINECALLDICT
@ -733,13 +749,14 @@ PROGRAM{
s1 s10 XCHG s1 s10 XCHG
PUSHNULL PUSHNULL
PUSHNULL PUSHNULL
$send CALLDICT $send INLINECALLDICT
}>ELSE<{ }>ELSE<{
s8 POP s8 POP
2DROP 2DROP
}> }>
}> }>
$__gen_TONBWallet_receive_TokenBurn PROC:<{ }>
$__gen_TONBWallet_receive_TokenBurn PROCINLINE:<{
2DROP 2DROP
__tact_context_get INLINECALLDICT __tact_context_get INLINECALLDICT
4429 PUSHINT 4429 PUSHINT
@ -760,7 +777,7 @@ PROGRAM{
THROWANYIFNOT THROWANYIFNOT
s3 s3 s0 XCHG3 s3 s3 s0 XCHG3
s3 s11 PUXC s3 s11 PUXC
$__gen_Context_readForwardFee CALLDICT $__gen_Context_readForwardFee INLINECALLDICT
DROP DROP
16059 PUSHINT 16059 PUSHINT
SWAP SWAP
@ -777,9 +794,9 @@ PROGRAM{
s3 s3 XCHG2 s3 s3 XCHG2
PUSHNULL PUSHNULL
PUSHNULL PUSHNULL
$send CALLDICT $send INLINECALLDICT
}> }>
$__gen_TONBWallet_receive_BlacklistWallet PROC:<{ $__gen_TONBWallet_receive_BlacklistWallet PROCINLINE:<{
DROP DROP
s2 POP s2 POP
__tact_context_get INLINECALLDICT __tact_context_get INLINECALLDICT
@ -806,10 +823,10 @@ PROGRAM{
s10 s10 XCHG2 s10 s10 XCHG2
PUSHNULL PUSHNULL
PUSHNULL PUSHNULL
$send CALLDICT $send INLINECALLDICT
s0 s2 XCHG s0 s2 XCHG
}> }>
$__gen_TONBWallet_receive_bounced PROC:<{ $__gen_TONBWallet_receive_bounced PROCINLINE:<{
32 PUSHINT 32 PUSHINT
SDSKIPFIRST SDSKIPFIRST
32 LDU 32 LDU
@ -865,7 +882,7 @@ PROGRAM{
DROP DROP
__gen_load_TONBWallet INLINECALLDICT __gen_load_TONBWallet INLINECALLDICT
6 ROLL 6 ROLL
$__gen_TONBWallet_receive_bounced CALLDICT $__gen_TONBWallet_receive_bounced INLINECALLDICT
__gen_store_TONBWallet INLINECALLDICT __gen_store_TONBWallet INLINECALLDICT
}> }>
DUP DUP
@ -883,7 +900,7 @@ PROGRAM{
s8 s9 XCHG s8 s9 XCHG
s7 s8 XCHG s7 s8 XCHG
6 ROLL 6 ROLL
$__gen_TONBWallet_receive_TokenTransfer CALLDICT $__gen_TONBWallet_receive_TokenTransfer INLINECALLDICT
__gen_store_TONBWallet INLINECALLDICT __gen_store_TONBWallet INLINECALLDICT
}> }>
DUP DUP
@ -901,7 +918,7 @@ PROGRAM{
s9 s10 XCHG s9 s10 XCHG
s8 s9 XCHG s8 s9 XCHG
7 ROLL 7 ROLL
$__gen_TONBWallet_receive_TokenTransferInternal CALLDICT $__gen_TONBWallet_receive_TokenTransferInternal INLINECALLDICT
__gen_store_TONBWallet INLINECALLDICT __gen_store_TONBWallet INLINECALLDICT
}> }>
DUP DUP
@ -919,7 +936,7 @@ PROGRAM{
s5 s6 XCHG s5 s6 XCHG
s4 s5 XCHG s4 s5 XCHG
3 ROLL 3 ROLL
$__gen_TONBWallet_receive_TokenBurn CALLDICT $__gen_TONBWallet_receive_TokenBurn INLINECALLDICT
__gen_store_TONBWallet INLINECALLDICT __gen_store_TONBWallet INLINECALLDICT
}> }>
43811734 PUSHINT 43811734 PUSHINT
@ -933,7 +950,7 @@ PROGRAM{
s4 s5 XCHG s4 s5 XCHG
s3 s4 XCHG s3 s4 XCHG
s1 s3 s0 XCHG3 s1 s3 s0 XCHG3
$__gen_TONBWallet_receive_BlacklistWallet CALLDICT $__gen_TONBWallet_receive_BlacklistWallet INLINECALLDICT
__gen_store_TONBWallet INLINECALLDICT __gen_store_TONBWallet INLINECALLDICT
}> }>
DROP DROP

1994
sources/output/jetton_TONBWallet.code.rev.fif

File diff suppressed because it is too large Load Diff

BIN
sources/output/jetton_TONBWallet.init.boc

Binary file not shown.

6
sources/output/jetton_TONBWallet.init.fc

@ -1,3 +1,7 @@
#pragma version =0.4.1;
#pragma allow-post-modification;
#pragma compute-asm-ltr;
() __tact_verify_address(slice address) inline { () __tact_verify_address(slice address) inline {
throw_unless(136, address.slice_bits() != 267); throw_unless(136, address.slice_bits() != 267);
} }
@ -17,7 +21,7 @@ builder __tact_store_address_opt(builder b, slice address) inline {
} }
} }
builder __gen_write_TONBWallet(builder build_0, (int, slice, slice, int, int, slice) v) inline_ref { builder __gen_write_TONBWallet(builder build_0, (int, slice, slice, int, int, slice) v) inline {
var (v'balance, v'owner, v'master, v'blacklisted, v'linker, v'linker_address) = v; var (v'balance, v'owner, v'master, v'blacklisted, v'linker, v'linker_address) = v;
build_0 = build_0.store_int(v'balance, 257); 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'owner);

2
sources/output/jetton_TONBWallet.init.fif

@ -27,7 +27,7 @@ PROGRAM{
__tact_store_address INLINECALLDICT __tact_store_address INLINECALLDICT
}> }>
}> }>
__gen_write_TONBWallet PROCREF:<{ __gen_write_TONBWallet PROCINLINE:<{
s5 s6 XCHG2 s5 s6 XCHG2
257 PUSHINT 257 PUSHINT
STIX STIX

2
sources/output/jetton_TONBWallet.init.rev.fif

@ -13,7 +13,6 @@ SETCP0
s0 s6 XCHG s0 s6 XCHG
s0 s5 XCHG s0 s5 XCHG
3 1 BLKSWAP 3 1 BLKSWAP
<{
s5 s6 XCHG2 s5 s6 XCHG2
257 PUSHINT 257 PUSHINT
STIX STIX
@ -57,7 +56,6 @@ SETCP0
ENDC ENDC
s0 s1 XCHG s0 s1 XCHG
STREF STREF
}> CALLREF
ENDC ENDC
107886: 107886:

2
sources/output/jetton_TONBWallet.md

@ -1,6 +1,6 @@
# TACT Compilation Report # TACT Compilation Report
Contract: TONBWallet Contract: TONBWallet
BOC Size: 1650 bytes BOC Size: 2048 bytes
# Types # Types
Total Types: 27 Total Types: 27

2
sources/output/jetton_TONBWallet.pkg

File diff suppressed because one or more lines are too long

6
sources/output/jetton_TONBWallet.ts

@ -1395,9 +1395,9 @@ function dictValueParserWithdraw(): DictionaryValue<Withdraw> {
} }
} }
async function TONBWallet_init(master: Address, owner: Address) { async function TONBWallet_init(master: Address, owner: Address) {
const __init = 'te6ccgEBBwEAawABFP8A9KQT9LzyyAsBAgFiAgMCAs0EBQAJoUrd4AsAAdQBHWXBtbXAGyMwGBVUg2zzJgYAbFBWgQEBzwBQA88WAc8WygDIIm6zmn8BygASgQEBzwCVMnBYygDiWCBulTBwAcsBks8W4skBzA=='; const __init = 'te6ccgEBBgEAZgABFP8A9KQT9LzyyAsBAgFiAgMCAs0EBQAJoUrd4AsAAdQAhWXBtbXAGyMwGBVUgUFaBAQHPAFADzxYBzxbKAMgibrOafwHKABKBAQHPAJUycFjKAOJYIG6VMHABywGSzxbiyQHMyY=';
const __code = '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'; const __code = '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';
const __system = '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'; const __system = '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';
let systemCell = Cell.fromBase64(__system); let systemCell = Cell.fromBase64(__system);
let builder = new TupleBuilder(); let builder = new TupleBuilder();
builder.writeCell(systemCell); builder.writeCell(systemCell);

9
sources/staking.tact

@ -65,11 +65,10 @@ trait StakingTrait {
}); });
i = i + 1; i = i + 1;
} }
// self.withdrawal_requests = WithdrawalRequests{ self.withdrawal_requests = WithdrawalRequests{
// addresses: addresses, addresses: emptyMap(),
// amounts: amounts amounts: emptyMap()
// }; };
// todo: initialize withdrawal_requests
} }
fun requestWithdrawal(address: Address, value: Int) { fun requestWithdrawal(address: Address, value: Int) {

20
sources/tests/__snapshots__/jetton.spec.ts.snap

@ -13,14 +13,14 @@ exports[`jetton should deploy and deposit the wallet with the correct sum of mon
}, },
"bounce": true, "bounce": true,
"from": "kQAI-3FJVc_ywSuY4vq0bYrzR7S4Och4y7bTU_i5yLOB3A6P", "from": "kQAI-3FJVc_ywSuY4vq0bYrzR7S4Och4y7bTU_i5yLOB3A6P",
"to": "kQC21U5V6OpVNUMgmbDF89Gv4-nNbCQraGZW6CyNxjZ54mIG", "to": "kQBvwIQdhyi7sgezjikEBunv00MZvrP3rVPifHhOJqmJAvYq",
"type": "internal", "type": "internal",
"value": 1200000000n, "value": 1200000000n,
}, },
"type": "received", "type": "received",
}, },
{ {
"gasUsed": 37309n, "gasUsed": 31768n,
"type": "processed", "type": "processed",
}, },
{ {
@ -31,10 +31,10 @@ exports[`jetton should deploy and deposit the wallet with the correct sum of mon
"type": "cell", "type": "cell",
}, },
"bounce": false, "bounce": false,
"from": "kQC21U5V6OpVNUMgmbDF89Gv4-nNbCQraGZW6CyNxjZ54mIG", "from": "kQBvwIQdhyi7sgezjikEBunv00MZvrP3rVPifHhOJqmJAvYq",
"to": "kQBX5jl-CCnwNVNcNfQEr5mWWfNCD7wLX88zZLoP6HgwGPXa", "to": "kQAXvQx5G-trrAjtFVR0nXB8G-6sbR4B5dYUe7tCPrx4A3CO",
"type": "internal", "type": "internal",
"value": 13474000n, "value": 11365000n,
}, },
], ],
"type": "sent", "type": "sent",
@ -43,15 +43,15 @@ exports[`jetton should deploy and deposit the wallet with the correct sum of mon
"messages": [ "messages": [
{ {
"body": { "body": {
"cell": "x{178D4519000000000000000043B9ACA008016DAA9CABD1D4AA6A864133618BE7A35FC7D39AD84856D0CCADD0591B8C6CF3C500023EDC525573FCB04AE638BEAD1B62BCD1ED2E0E721E32EDB4D4FE2E722CE07702_} "cell": "x{178D4519000000000000000043B9ACA00800DF81083B0E5177640F671C52080DD3DFA686337D67EF5AA7C4F8F09C4D53120500023EDC525573FCB04AE638BEAD1B62BCD1ED2E0E721E32EDB4D4FE2E722CE07702_}
x{80000000000000000000000000000000000000000000000000000000000000002002BF31CBF0414F81AA9AE1AFA0257CCCB2CF9A107DE05AFE799B25D07F43C180C4_}", x{80000000000000000000000000000000000000000000000000000000000000002000BDE863C8DF5B5D604768AAA3A4EB83E0DF756368F00F2EB0A3DDDA11F5E3C01C_}",
"type": "cell", "type": "cell",
}, },
"bounce": false, "bounce": false,
"from": "kQC21U5V6OpVNUMgmbDF89Gv4-nNbCQraGZW6CyNxjZ54mIG", "from": "kQBvwIQdhyi7sgezjikEBunv00MZvrP3rVPifHhOJqmJAvYq",
"to": "kQCIAtWss1aC4r_RS9uo0BqWrfh2tc-AhjmJAY_eXbQ5ALyd", "to": "kQAKmw3UOWRVLND774ZJhBWT20MKLWdpluTN3dv7Q2tYdaFp",
"type": "internal", "type": "internal",
"value": 30513000n, "value": 28081000n,
}, },
], ],
"type": "sent", "type": "sent",

20
sources/utils/config.ts

@ -1,5 +1,5 @@
import { TonClient, Address, WalletContractV3R2 } from "ton"; import { TonClient, Address, WalletContractV3R2, WalletContractV4 } from "ton";
import { mnemonicToPrivateKey } from "ton-crypto"; import { mnemonicToPrivateKey } from "ton-crypto";
import { buildOnchainMetadata } from "./helpers"; import { buildOnchainMetadata } from "./helpers";
@ -9,16 +9,24 @@ export const client = new TonClient({
}) })
let mnemonics = "basic security merge opera inject core melody polar become force cool glance history order warfare consider company slim twice balcony scare shoot winner rude"; let mnemonics = "basic security merge opera inject core melody polar become force cool glance history order warfare consider company slim twice balcony scare shoot winner rude";
let mnemonics2 = "road learn slow crucial mixed grunt copy ribbon coyote shrimp onion pledge any tornado rebel three glimpse winner bless thunder immune february coin egg"
// read more about wallet apps https://ton.org/docs/participate/wallets/apps#tonhub-test-environment // read more about wallet apps https://ton.org/docs/participate/wallets/apps#tonhub-test-environment
export async function wallet_data() { export async function wallet_data(w: number = 0) {
let keyPair = await mnemonicToPrivateKey(mnemonics.split(" ")); let keyPair = await mnemonicToPrivateKey(mnemonics.split(" "));
let secretKey = keyPair.secretKey; let secretKey = keyPair.secretKey;
//Create deployment wallet contract //Create deployment wallet contract
let wallet_contract = WalletContractV3R2.create({ workchain, publicKey: keyPair.publicKey }); let wallet_contract = WalletContractV3R2.create({ workchain, publicKey: keyPair.publicKey });
if (w == 1) {
keyPair = await mnemonicToPrivateKey(mnemonics2.split(" "));
secretKey = keyPair.secretKey;
wallet_contract = WalletContractV4.create({ workchain, publicKey: keyPair.publicKey });
}
let my_wallet = client.open(wallet_contract); let my_wallet = client.open(wallet_contract);
return { my_wallet, secretKey, keyPair }; return { my_wallet, secretKey, keyPair };
} }
//workchain = 1 - masterchain (expensive operation cost, validator's election contract works here) //workchain = 1 - masterchain (expensive operation cost, validator's election contract works here)
//workchain = 0 - basechain (normal operation cost, user's contracts works here) //workchain = 0 - basechain (normal operation cost, user's contracts works here)
export let workchain = 0; //we are working in basechain. export let workchain = 0; //we are working in basechain.
@ -28,9 +36,11 @@ export let workchain = 0; //we are working in basechain.
// - Data is stored on-chain (except for the image data itself) // - Data is stored on-chain (except for the image data itself)
export const jettonParams = { export const jettonParams = {
name: "TactJet", name: "TONB DEMO",
description: "This is description of Test tact jetton", description: "TON Banking",
image: "https://ipfs.io/ipfs/QmbPZjC1tuP6ickCCBtoTCQ9gc3RpkbKx7C1LMYQdcLwti" // Image url // image: "https://ipfs.io/ipfs/QmbPZjC1tuP6ickCCBtoTCQ9gc3RpkbKx7C1LMYQdcLwti" // Image url
image: "https://cache.tonapi.io/imgproxy/gZXLNT_UkpFUSUUbTQsilCqwq_tXa4Kgmf55b5SmVQo/rs:fill:200:200:1/g:no/aHR0cHM6Ly90b24ub3JnL2Rvd25sb2FkL3Rvbl9zeW1ib2wucG5n.webp",
symbol: "TONB"
}; };
// Owner should usually be the deploying wallet's address. // Owner should usually be the deploying wallet's address.

29
sources/utils/interactions.ts

@ -1,5 +1,5 @@
import { Cell, Address, internal, beginCell, contractAddress, toNano, fromNano, SendMode } from "ton"; import { Cell, Address, internal, beginCell, contractAddress, toNano, fromNano, SendMode } from "ton";
import { storeDeposit, storeWithdraw } from "../output/jetton_TONB"; import { storeDeposit, storeWithdraw, storeTokenTransfer, storeBlacklistWallet } from "../output/jetton_TONB";
import { TON } from "./helpers"; import { TON } from "./helpers";
import { wallet_data, owner, default_content, workchain } from './config'; import { wallet_data, owner, default_content, workchain } from './config';
import { TONB } from "../output/jetton_TONB"; import { TONB } from "../output/jetton_TONB";
@ -34,7 +34,32 @@ export async function withdraw(wallet: any, secretKey: Buffer, value_: bigint |
let msg_body_b = beginCell(); let msg_body_b = beginCell();
storeWithdraw({ amount: value as bigint, $$type: 'Withdraw' })(msg_body_b); storeWithdraw({ amount: value as bigint, $$type: 'Withdraw' })(msg_body_b);
let msg_body = msg_body_b.endCell(); let msg_body = msg_body_b.endCell();
let msg_value = toNano('0.05'); let msg_value = toNano('0.11');
await sendMessage(wallet, secretKey, { value: msg_value, to: tonb, body: msg_body });
}
export async function transfer(wallet: any, secretKey: Buffer, value_: bigint | number, tonb: Address, to: Address) {
let value = BigInt(value_);
let msg_body_b = beginCell();
storeTokenTransfer({
amount: value as bigint, destination: to, queryId: 0n,
forwardTonAmount: 0n, $$type: 'TokenTransfer',
forwardPayload: beginCell().endCell(),
responseDestination: null, customPayload: null
})(msg_body_b);
let msg_body = msg_body_b.endCell();
let msg_value = toNano('0.11');
let wallet_addr = await getWalletAddress(tonb, wallet.address);
// log about the transfer with the wallet address, amount, and emojis
console.log('📤Sending transfer message to ', wallet_addr, ' with value ', value_, '💎TON');
await sendMessage(wallet, secretKey, { value: msg_value, to: wallet_addr, body: msg_body });
}
export async function blacklistAddress(wallet: any, secretKey: Buffer, tonb: Address, address: Address) {
let msg_body_b = beginCell();
storeBlacklistWallet({ wallet: address, $$type: 'BlacklistWallet' })(msg_body_b);
let msg_body = msg_body_b.endCell();
let msg_value = toNano('0.11');
await sendMessage(wallet, secretKey, { value: msg_value, to: tonb, body: msg_body }); await sendMessage(wallet, secretKey, { value: msg_value, to: tonb, body: msg_body });
} }

2
sources/utils/rmlogs.sh

@ -1,3 +1,3 @@
#!/bin/bash #!/bin/bash
for file in $(find sources/output -type f); do sed -i 's/,\ {\ logs:\ res.vmLogs\ }//g' $file; done for file in $(find sources/output -type f); do sed -i 's/,\ {\ logs:\ res.vmLogs\ }//g' $file; done
for file in $(find sources/output -type f); do sed -i 's/stringtoreplace//g' $file; done for file in $(find sources/output -type f); do sed -i 's/,\ {\ logs:\ res.logs\ }//g' $file; done

20
sources/wallet.tact

@ -1,6 +1,7 @@
import "@stdlib/ownable"; import "@stdlib/ownable";
import "./messages"; import "./messages";
import "./linker"; import "./linker";
import "./constants";
@ -40,7 +41,7 @@ contract TONBWallet {
if (msg.forwardTonAmount > 0) { if (msg.forwardTonAmount > 0) {
fwdCount = 2; fwdCount = 2;
} }
require(ctx.value > fwdCount * fwdFee + 2 * self.gasConsumption + self.minTonsForStorage, "Invalid value"); require(ctx.value > transfer_gas_consumption, "Invalid value");
// Send tokens // Send tokens
let init: StateInit = initOf TONBWallet(self.master, msg.destination); let init: StateInit = initOf TONBWallet(self.master, msg.destination);
@ -66,13 +67,30 @@ contract TONBWallet {
} }
receive(msg: TokenTransferInternal) { receive(msg: TokenTransferInternal) {
if(self.blacklisted){
send(SendParameters{
to: self.master,
value: 0,
mode: SendRemainingValue,
body: TokenBurnNotification{
queryId: msg.queryId,
amount: msg.amount,
owner: self.owner,
responseAddress: self.owner
}.toCell()
});
return;
}
// Check sender // Check sender
let ctx: Context = context(); let ctx: Context = context();
if (self.linker == null) { if (self.linker == null) {
if (msg.setLinker != null) {
self.linker = msg.setLinker; self.linker = msg.setLinker;
self.linker_address = msg.setLinkerAddress; self.linker_address = msg.setLinkerAddress;
} }
// todo: request a linker otherwise
}
if (ctx.sender != self.master && ctx.sender != self.linker_address) { if (ctx.sender != self.master && ctx.sender != self.linker_address) {
let sinit: StateInit = initOf TONBWallet(self.master, msg.from); let sinit: StateInit = initOf TONBWallet(self.master, msg.from);
require(contractAddress(sinit) == ctx.sender, "Invalid sender"); require(contractAddress(sinit) == ctx.sender, "Invalid sender");

35
yarn.lock

@ -1229,6 +1229,11 @@ cli-spinners@^2.6.1:
resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz" resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz"
integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw== integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==
cliclopts@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/cliclopts/-/cliclopts-1.1.1.tgz#69431c7cb5af723774b0d3911b4c37512431910f"
integrity sha512-dJk8y+TJmOy9Kqha0aWN0rwM5E5EQCVjhl2GTz1CrkqzxkQZ26/hyrNmy7lwePdZc4iNcdHL1tTdcIBeNQhmww==
cliui@^8.0.1: cliui@^8.0.1:
version "8.0.1" version "8.0.1"
resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz"
@ -2414,7 +2419,7 @@ minimatch@^3.0.4, minimatch@^3.1.1:
dependencies: dependencies:
brace-expansion "^1.1.7" brace-expansion "^1.1.7"
minimist@^1.2.5: minimist@^1.2.0, minimist@^1.2.5:
version "1.2.7" version "1.2.7"
resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz" resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz"
integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==
@ -2944,6 +2949,15 @@ strip-json-comments@^3.1.1:
resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz"
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
subcommand@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/subcommand/-/subcommand-2.1.1.tgz#66ba790cc72564049eface644c4a24291a4829c7"
integrity sha512-cm7TQq9I8dA5LKUr+r8W7RzQlLsmTdCr6wXmjYueOoh/bQu55ODEw7GFhT42pUyoaLtO2rgmx1+8cSIjY9lR9g==
dependencies:
cliclopts "^1.1.0"
debug "^4.1.1"
minimist "^1.2.0"
supports-color@^5.3.0: supports-color@^5.3.0:
version "5.5.0" version "5.5.0"
resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"
@ -3030,7 +3044,14 @@ ton-contract-executor@^0.6.0:
dependencies: dependencies:
bn.js "^5.2.0" bn.js "^5.2.0"
ton-core@>=0.44.0, ton-core@^0.46.0: ton-core@>=0.47.0:
version "0.47.0"
resolved "https://registry.yarnpkg.com/ton-core/-/ton-core-0.47.0.tgz#1ce90a1abe3f05d0651e95962f2b9fdbd1b4e13c"
integrity sha512-v5JEhJG/EYtKaI8PtmV5lXAIveSK+Bb+yyukRFmUpJ1Y9YmkvBowZ1n4lubKCSDhlQy8JO7M5VKA5fj15qZjwQ==
dependencies:
symbol.inspect "1.0.1"
ton-core@^0.46.0:
version "0.46.0" version "0.46.0"
resolved "https://registry.yarnpkg.com/ton-core/-/ton-core-0.46.0.tgz#4138606fccf7fa45dc5c6cd6dcf1d1f17b2d4215" resolved "https://registry.yarnpkg.com/ton-core/-/ton-core-0.46.0.tgz#4138606fccf7fa45dc5c6cd6dcf1d1f17b2d4215"
integrity sha512-QUOlL98652rsOPTIvB01+MsAgLI1ehvpsngYzNWr7pxHOk4xk64Adq0StTmqGEchkzjhNowIo3gzwGGPrxo3zw== integrity sha512-QUOlL98652rsOPTIvB01+MsAgLI1ehvpsngYzNWr7pxHOk4xk64Adq0StTmqGEchkzjhNowIo3gzwGGPrxo3zw==
@ -3076,10 +3097,10 @@ ton-nodejs@^1.4.3:
resolved "https://registry.npmjs.org/ton-nodejs/-/ton-nodejs-1.4.3.tgz" resolved "https://registry.npmjs.org/ton-nodejs/-/ton-nodejs-1.4.3.tgz"
integrity sha512-Thwl2lmYuaaciFs0CTybb0ZPwscl0ANUriv3QUP494ttRWKT2rxoyydnepVw1hWDzXeDh3Rxn0XA7vN1hySVyg== integrity sha512-Thwl2lmYuaaciFs0CTybb0ZPwscl0ANUriv3QUP494ttRWKT2rxoyydnepVw1hWDzXeDh3Rxn0XA7vN1hySVyg==
ton-tact@^0.8.11: ton-tact@^0.9.2:
version "0.8.11" version "0.9.2"
resolved "https://registry.yarnpkg.com/ton-tact/-/ton-tact-0.8.11.tgz#e348eafe1d0d85819814e53cddf21e28c082e8db" resolved "https://registry.yarnpkg.com/ton-tact/-/ton-tact-0.9.2.tgz#e8eca436b431c5fe2055a567d7f7d941f283b606"
integrity sha512-5RtWnNbKM6f/Z8ixbgTubmCMTRdzLILCdW2NYf+b1XFd6ImXMm47lQNosuF+alCdWzfwX0E+KQSbqRSK41AJsA== integrity sha512-QY9gScDQeSu5gJ0S3sRmStSDtunUtiiJKe7oyZSnqAoezII8y0qchOe9hY//MRkp2yxc9lEfxtM4dFW8yiYe5g==
dependencies: dependencies:
"@ipld/dag-pb" "2.1.18" "@ipld/dag-pb" "2.1.18"
"@types/tmp" "^0.2.3" "@types/tmp" "^0.2.3"
@ -3093,7 +3114,7 @@ ton-tact@^0.8.11:
prando "^6.0.1" prando "^6.0.1"
qs "^6.11.0" qs "^6.11.0"
tmp "^0.2.1" tmp "^0.2.1"
ton-core ">=0.44.0" ton-core ">=0.47.0"
ton-crypto "^3.2.0" ton-crypto "^3.2.0"
tvm-disassembler "^2.0.0" tvm-disassembler "^2.0.0"
zod "^3.20.2" zod "^3.20.2"

Loading…
Cancel
Save