AlexG
2 years ago
31 changed files with 3202 additions and 5542 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,37 @@ |
|||||||
|
() __tact_verify_address(slice address) inline { |
||||||
|
throw_unless(136, address.slice_bits() != 267); |
||||||
|
} |
||||||
|
|
||||||
|
builder __tact_store_address(builder b, slice address) inline { |
||||||
|
__tact_verify_address(address); |
||||||
|
b = b.store_slice(address); |
||||||
|
return b; |
||||||
|
} |
||||||
|
|
||||||
|
builder __gen_write_JettonDefaultWallet(builder build_0, (int, slice, slice) v) inline_ref { |
||||||
|
var (v'balance, v'owner, v'master) = v; |
||||||
|
build_0 = build_0.store_int(v'balance, 257); |
||||||
|
build_0 = __tact_store_address(build_0, v'owner); |
||||||
|
build_0 = __tact_store_address(build_0, v'master); |
||||||
|
return build_0; |
||||||
|
} |
||||||
|
|
||||||
|
cell $__gen_JettonDefaultWallet_init(cell sys', slice $master, slice $owner) { |
||||||
|
var (($self'balance, $self'owner, $self'master)) = (null(), null(), null()); |
||||||
|
$self'balance = 0; |
||||||
|
$self'owner = $owner; |
||||||
|
$self'master = $master; |
||||||
|
var b' = begin_cell(); |
||||||
|
b' = b'.store_ref(sys'); |
||||||
|
b' = __gen_write_JettonDefaultWallet(b', ($self'balance, $self'owner, $self'master)); |
||||||
|
return b'.end_cell(); |
||||||
|
} |
||||||
|
|
||||||
|
cell init(cell sys', slice $$master, slice $$owner) method_id { |
||||||
|
slice $master = $$master; |
||||||
|
slice $owner = $$owner; |
||||||
|
return $__gen_JettonDefaultWallet_init(sys', $master, $owner); |
||||||
|
} |
||||||
|
|
||||||
|
() main() { |
||||||
|
} |
@ -0,0 +1,40 @@ |
|||||||
|
PROGRAM{ |
||||||
|
DECLPROC __tact_verify_address |
||||||
|
DECLPROC __tact_store_address |
||||||
|
DECLPROC __gen_write_JettonDefaultWallet |
||||||
|
DECLPROC $__gen_JettonDefaultWallet_init |
||||||
|
107886 DECLMETHOD init |
||||||
|
DECLPROC main |
||||||
|
__tact_verify_address PROCINLINE:<{ |
||||||
|
SBITS |
||||||
|
267 PUSHINT |
||||||
|
NEQ |
||||||
|
136 THROWIFNOT |
||||||
|
}> |
||||||
|
__tact_store_address PROCINLINE:<{ |
||||||
|
STSLICER |
||||||
|
}> |
||||||
|
__gen_write_JettonDefaultWallet PROCREF:<{ |
||||||
|
s2 s3 XCHG2 |
||||||
|
257 PUSHINT |
||||||
|
STIX |
||||||
|
SWAP |
||||||
|
__tact_store_address INLINECALLDICT |
||||||
|
SWAP |
||||||
|
__tact_store_address INLINECALLDICT |
||||||
|
}> |
||||||
|
$__gen_JettonDefaultWallet_init PROC:<{ |
||||||
|
0 PUSHINT |
||||||
|
s0 s3 XCHG |
||||||
|
NEWC |
||||||
|
STREF |
||||||
|
s3 s1 s3 XCHG3 |
||||||
|
__gen_write_JettonDefaultWallet INLINECALLDICT |
||||||
|
ENDC |
||||||
|
}> |
||||||
|
init PROC:<{ |
||||||
|
$__gen_JettonDefaultWallet_init CALLDICT |
||||||
|
}> |
||||||
|
main PROC:<{ |
||||||
|
}> |
||||||
|
}END>c |
@ -0,0 +1,26 @@ |
|||||||
|
SETCP0 |
||||||
|
(:methods |
||||||
|
recv_internal: |
||||||
|
|
||||||
|
4: |
||||||
|
0 PUSHINT |
||||||
|
s0 s3 XCHG |
||||||
|
NEWC |
||||||
|
STREF |
||||||
|
s3 s1 s3 XCHG3 |
||||||
|
<{ |
||||||
|
s2 s3 XCHG2 |
||||||
|
257 PUSHINT |
||||||
|
STIX |
||||||
|
s0 s1 XCHG |
||||||
|
STSLICER |
||||||
|
s0 s1 XCHG |
||||||
|
STSLICER |
||||||
|
}> CALLREF |
||||||
|
ENDC |
||||||
|
|
||||||
|
107886: |
||||||
|
4 CALLDICT |
||||||
|
) 19 DICTPUSHCONST |
||||||
|
DICTIGETJMPZ |
||||||
|
11 THROWARG |
@ -0,0 +1,67 @@ |
|||||||
|
# TACT Compilation Report |
||||||
|
Contract: JettonDefaultWallet |
||||||
|
BOC Size: 1321 bytes |
||||||
|
|
||||||
|
# Types |
||||||
|
Total Types: 14 |
||||||
|
|
||||||
|
## StateInit |
||||||
|
TLB: `_ code:^cell data:^cell = StateInit` |
||||||
|
Signature: `StateInit{code:^cell,data:^cell}` |
||||||
|
|
||||||
|
## Context |
||||||
|
TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` |
||||||
|
Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` |
||||||
|
|
||||||
|
## SendParameters |
||||||
|
TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` |
||||||
|
Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` |
||||||
|
|
||||||
|
## ChangeOwner |
||||||
|
TLB: `change_owner#0f474d03 newOwner:address = ChangeOwner` |
||||||
|
Signature: `ChangeOwner{newOwner:address}` |
||||||
|
|
||||||
|
## TokenTransfer |
||||||
|
TLB: `token_transfer#0f8a7ea5 queryId:uint64 amount:coins destination:address responseDestination:Maybe address customPayload:Maybe ^cell forwardTonAmount:coins forwardPayload:remainder<slice> = TokenTransfer` |
||||||
|
Signature: `TokenTransfer{queryId:uint64,amount:coins,destination:address,responseDestination:Maybe address,customPayload:Maybe ^cell,forwardTonAmount:coins,forwardPayload:remainder<slice>}` |
||||||
|
|
||||||
|
## TokenTransferInternal |
||||||
|
TLB: `token_transfer_internal#178d4519 queryId:uint64 amount:coins from:address responseAddress:Maybe address forwardTonAmount:coins forwardPayload:remainder<slice> = TokenTransferInternal` |
||||||
|
Signature: `TokenTransferInternal{queryId:uint64,amount:coins,from:address,responseAddress:Maybe address,forwardTonAmount:coins,forwardPayload:remainder<slice>}` |
||||||
|
|
||||||
|
## TokenNotification |
||||||
|
TLB: `token_notification#7362d09c queryId:uint64 amount:coins from:address forwardPayload:remainder<slice> = TokenNotification` |
||||||
|
Signature: `TokenNotification{queryId:uint64,amount:coins,from:address,forwardPayload:remainder<slice>}` |
||||||
|
|
||||||
|
## TokenBurn |
||||||
|
TLB: `token_burn#595f07bc queryId:uint64 amount:coins owner:address responseAddress:Maybe address = TokenBurn` |
||||||
|
Signature: `TokenBurn{queryId:uint64,amount:coins,owner:address,responseAddress:Maybe address}` |
||||||
|
|
||||||
|
## TokenBurnNotification |
||||||
|
TLB: `token_burn_notification#7bdd97de queryId:uint64 amount:coins owner:address responseAddress:Maybe address = TokenBurnNotification` |
||||||
|
Signature: `TokenBurnNotification{queryId:uint64,amount:coins,owner:address,responseAddress:Maybe address}` |
||||||
|
|
||||||
|
## TokenExcesses |
||||||
|
TLB: `token_excesses#d53276db queryId:uint64 = TokenExcesses` |
||||||
|
Signature: `TokenExcesses{queryId:uint64}` |
||||||
|
|
||||||
|
## TokenUpdateContent |
||||||
|
TLB: `token_update_content#0c087a9e content:Maybe ^cell = TokenUpdateContent` |
||||||
|
Signature: `TokenUpdateContent{content:Maybe ^cell}` |
||||||
|
|
||||||
|
## JettonData |
||||||
|
TLB: `_ totalSupply:int257 mintable:bool owner:address content:Maybe ^cell walletCode:^cell = JettonData` |
||||||
|
Signature: `JettonData{totalSupply:int257,mintable:bool,owner:address,content:Maybe ^cell,walletCode:^cell}` |
||||||
|
|
||||||
|
## JettonWalletData |
||||||
|
TLB: `_ balance:int257 owner:address master:address walletCode:^cell = JettonWalletData` |
||||||
|
Signature: `JettonWalletData{balance:int257,owner:address,master:address,walletCode:^cell}` |
||||||
|
|
||||||
|
## Mint |
||||||
|
TLB: `mint#01fb345b amount:int257 = Mint` |
||||||
|
Signature: `Mint{amount:int257}` |
||||||
|
|
||||||
|
# Get Methods |
||||||
|
Total Get Methods: 1 |
||||||
|
|
||||||
|
## get_wallet_data |
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,39 @@ |
|||||||
|
() __tact_verify_address(slice address) inline { |
||||||
|
throw_unless(136, address.slice_bits() != 267); |
||||||
|
} |
||||||
|
|
||||||
|
builder __tact_store_address(builder b, slice address) inline { |
||||||
|
__tact_verify_address(address); |
||||||
|
b = b.store_slice(address); |
||||||
|
return b; |
||||||
|
} |
||||||
|
|
||||||
|
builder __gen_write_SampleJetton(builder build_0, (int, slice, cell, int) v) inline_ref { |
||||||
|
var (v'totalSupply, v'owner, v'content, v'mintable) = v; |
||||||
|
build_0 = build_0.store_coins(v'totalSupply); |
||||||
|
build_0 = __tact_store_address(build_0, v'owner); |
||||||
|
build_0 = ~ null?(v'content) ? build_0.store_int(true, 1).store_ref(v'content) : build_0.store_int(false, 1); |
||||||
|
build_0 = build_0.store_int(v'mintable, 1); |
||||||
|
return build_0; |
||||||
|
} |
||||||
|
|
||||||
|
cell $__gen_SampleJetton_init(cell sys', slice $owner, cell $content) { |
||||||
|
var (($self'totalSupply, $self'owner, $self'content, $self'mintable)) = (null(), null(), null(), null()); |
||||||
|
$self'totalSupply = 0; |
||||||
|
$self'owner = $owner; |
||||||
|
$self'mintable = true; |
||||||
|
$self'content = $content; |
||||||
|
var b' = begin_cell(); |
||||||
|
b' = b'.store_ref(sys'); |
||||||
|
b' = __gen_write_SampleJetton(b', ($self'totalSupply, $self'owner, $self'content, $self'mintable)); |
||||||
|
return b'.end_cell(); |
||||||
|
} |
||||||
|
|
||||||
|
cell init(cell sys', slice $$owner, cell $$content) method_id { |
||||||
|
slice $owner = $$owner; |
||||||
|
cell $content = $$content; |
||||||
|
return $__gen_SampleJetton_init(sys', $owner, $content); |
||||||
|
} |
||||||
|
|
||||||
|
() main() { |
||||||
|
} |
@ -0,0 +1,54 @@ |
|||||||
|
PROGRAM{ |
||||||
|
DECLPROC __tact_verify_address |
||||||
|
DECLPROC __tact_store_address |
||||||
|
DECLPROC __gen_write_SampleJetton |
||||||
|
DECLPROC $__gen_SampleJetton_init |
||||||
|
107886 DECLMETHOD init |
||||||
|
DECLPROC main |
||||||
|
__tact_verify_address PROCINLINE:<{ |
||||||
|
SBITS |
||||||
|
267 PUSHINT |
||||||
|
NEQ |
||||||
|
136 THROWIFNOT |
||||||
|
}> |
||||||
|
__tact_store_address PROCINLINE:<{ |
||||||
|
STSLICER |
||||||
|
}> |
||||||
|
__gen_write_SampleJetton PROCREF:<{ |
||||||
|
s4 s3 XCHG2 |
||||||
|
STGRAMS |
||||||
|
SWAP |
||||||
|
__tact_store_address INLINECALLDICT |
||||||
|
s2 PUSH |
||||||
|
ISNULL |
||||||
|
NOT |
||||||
|
IF:<{ |
||||||
|
TRUE |
||||||
|
SWAP |
||||||
|
1 STI |
||||||
|
s1 s2 XCHG |
||||||
|
STREF |
||||||
|
}>ELSE<{ |
||||||
|
s2 POP |
||||||
|
FALSE |
||||||
|
ROT |
||||||
|
1 STI |
||||||
|
}> |
||||||
|
1 STI |
||||||
|
}> |
||||||
|
$__gen_SampleJetton_init PROC:<{ |
||||||
|
0 PUSHINT |
||||||
|
TRUE |
||||||
|
s0 s4 XCHG |
||||||
|
NEWC |
||||||
|
STREF |
||||||
|
s3 s3 s4 XCHG3 |
||||||
|
__gen_write_SampleJetton INLINECALLDICT |
||||||
|
ENDC |
||||||
|
}> |
||||||
|
init PROC:<{ |
||||||
|
$__gen_SampleJetton_init CALLDICT |
||||||
|
}> |
||||||
|
main PROC:<{ |
||||||
|
}> |
||||||
|
}END>c |
@ -0,0 +1,42 @@ |
|||||||
|
SETCP0 |
||||||
|
(:methods |
||||||
|
recv_internal: |
||||||
|
|
||||||
|
4: |
||||||
|
0 PUSHINT |
||||||
|
-1 PUSHINT |
||||||
|
s0 s4 XCHG |
||||||
|
NEWC |
||||||
|
STREF |
||||||
|
s3 s3 s4 XCHG3 |
||||||
|
<{ |
||||||
|
s4 s3 XCHG2 |
||||||
|
STGRAMS |
||||||
|
s0 s1 XCHG |
||||||
|
STSLICER |
||||||
|
s2 PUSH |
||||||
|
ISNULL |
||||||
|
NOT |
||||||
|
<{ |
||||||
|
-1 PUSHINT |
||||||
|
s0 s1 XCHG |
||||||
|
1 STI |
||||||
|
s1 s2 XCHG |
||||||
|
STREF |
||||||
|
}> PUSHCONT |
||||||
|
<{ |
||||||
|
s2 POP |
||||||
|
0 PUSHINT |
||||||
|
ROT |
||||||
|
1 STI |
||||||
|
}> PUSHCONT |
||||||
|
IFELSE |
||||||
|
1 STI |
||||||
|
}> CALLREF |
||||||
|
ENDC |
||||||
|
|
||||||
|
107886: |
||||||
|
4 CALLDICT |
||||||
|
) 19 DICTPUSHCONST |
||||||
|
DICTIGETJMPZ |
||||||
|
11 THROWARG |
@ -0,0 +1,72 @@ |
|||||||
|
# TACT Compilation Report |
||||||
|
Contract: SampleJetton |
||||||
|
BOC Size: 1199 bytes |
||||||
|
|
||||||
|
# Types |
||||||
|
Total Types: 14 |
||||||
|
|
||||||
|
## StateInit |
||||||
|
TLB: `_ code:^cell data:^cell = StateInit` |
||||||
|
Signature: `StateInit{code:^cell,data:^cell}` |
||||||
|
|
||||||
|
## Context |
||||||
|
TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` |
||||||
|
Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` |
||||||
|
|
||||||
|
## SendParameters |
||||||
|
TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` |
||||||
|
Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` |
||||||
|
|
||||||
|
## ChangeOwner |
||||||
|
TLB: `change_owner#0f474d03 newOwner:address = ChangeOwner` |
||||||
|
Signature: `ChangeOwner{newOwner:address}` |
||||||
|
|
||||||
|
## TokenTransfer |
||||||
|
TLB: `token_transfer#0f8a7ea5 queryId:uint64 amount:coins destination:address responseDestination:Maybe address customPayload:Maybe ^cell forwardTonAmount:coins forwardPayload:remainder<slice> = TokenTransfer` |
||||||
|
Signature: `TokenTransfer{queryId:uint64,amount:coins,destination:address,responseDestination:Maybe address,customPayload:Maybe ^cell,forwardTonAmount:coins,forwardPayload:remainder<slice>}` |
||||||
|
|
||||||
|
## TokenTransferInternal |
||||||
|
TLB: `token_transfer_internal#178d4519 queryId:uint64 amount:coins from:address responseAddress:Maybe address forwardTonAmount:coins forwardPayload:remainder<slice> = TokenTransferInternal` |
||||||
|
Signature: `TokenTransferInternal{queryId:uint64,amount:coins,from:address,responseAddress:Maybe address,forwardTonAmount:coins,forwardPayload:remainder<slice>}` |
||||||
|
|
||||||
|
## TokenNotification |
||||||
|
TLB: `token_notification#7362d09c queryId:uint64 amount:coins from:address forwardPayload:remainder<slice> = TokenNotification` |
||||||
|
Signature: `TokenNotification{queryId:uint64,amount:coins,from:address,forwardPayload:remainder<slice>}` |
||||||
|
|
||||||
|
## TokenBurn |
||||||
|
TLB: `token_burn#595f07bc queryId:uint64 amount:coins owner:address responseAddress:Maybe address = TokenBurn` |
||||||
|
Signature: `TokenBurn{queryId:uint64,amount:coins,owner:address,responseAddress:Maybe address}` |
||||||
|
|
||||||
|
## TokenBurnNotification |
||||||
|
TLB: `token_burn_notification#7bdd97de queryId:uint64 amount:coins owner:address responseAddress:Maybe address = TokenBurnNotification` |
||||||
|
Signature: `TokenBurnNotification{queryId:uint64,amount:coins,owner:address,responseAddress:Maybe address}` |
||||||
|
|
||||||
|
## TokenExcesses |
||||||
|
TLB: `token_excesses#d53276db queryId:uint64 = TokenExcesses` |
||||||
|
Signature: `TokenExcesses{queryId:uint64}` |
||||||
|
|
||||||
|
## TokenUpdateContent |
||||||
|
TLB: `token_update_content#0c087a9e content:Maybe ^cell = TokenUpdateContent` |
||||||
|
Signature: `TokenUpdateContent{content:Maybe ^cell}` |
||||||
|
|
||||||
|
## JettonData |
||||||
|
TLB: `_ totalSupply:int257 mintable:bool owner:address content:Maybe ^cell walletCode:^cell = JettonData` |
||||||
|
Signature: `JettonData{totalSupply:int257,mintable:bool,owner:address,content:Maybe ^cell,walletCode:^cell}` |
||||||
|
|
||||||
|
## JettonWalletData |
||||||
|
TLB: `_ balance:int257 owner:address master:address walletCode:^cell = JettonWalletData` |
||||||
|
Signature: `JettonWalletData{balance:int257,owner:address,master:address,walletCode:^cell}` |
||||||
|
|
||||||
|
## Mint |
||||||
|
TLB: `mint#01fb345b amount:int257 = Mint` |
||||||
|
Signature: `Mint{amount:int257}` |
||||||
|
|
||||||
|
# Get Methods |
||||||
|
Total Get Methods: 3 |
||||||
|
|
||||||
|
## get_wallet_address |
||||||
|
Argument: owner |
||||||
|
|
||||||
|
## get_jetton_data |
||||||
|
|
||||||
|
## owner |
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue