You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.9 KiB
55 lines
1.9 KiB
#pragma version =0.4.1; |
|
#pragma allow-post-modification; |
|
#pragma compute-asm-ltr; |
|
|
|
() __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 __tact_store_address_opt(builder b, slice address) inline { |
|
if (null?(address)) { |
|
b = b.store_uint(0, 2); |
|
return b; |
|
} else { |
|
return __tact_store_address(b, address); |
|
} |
|
} |
|
|
|
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; |
|
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); |
|
build_0 = build_0.store_int(v'blacklisted, 1); |
|
var build_1 = begin_cell(); |
|
build_1 = ~ null?(v'linker) ? build_1.store_int(true, 1).store_int(v'linker, 257) : build_1.store_int(false, 1); |
|
build_1 = __tact_store_address_opt(build_1, v'linker_address); |
|
build_0 = store_ref(build_0, build_1.end_cell()); |
|
return build_0; |
|
} |
|
|
|
cell $__gen_TONBWallet_init(cell sys', slice $master, slice $owner) { |
|
var (($self'balance, $self'owner, $self'master, $self'blacklisted, $self'linker, $self'linker_address)) = (null(), null(), null(), false, null(), null()); |
|
$self'balance = 0; |
|
$self'owner = $owner; |
|
$self'master = $master; |
|
var b' = begin_cell(); |
|
b' = b'.store_ref(sys'); |
|
b' = __gen_write_TONBWallet(b', ($self'balance, $self'owner, $self'master, $self'blacklisted, $self'linker, $self'linker_address)); |
|
return b'.end_cell(); |
|
} |
|
|
|
cell init(cell sys', slice $$master, slice $$owner) method_id { |
|
slice $master = $$master; |
|
slice $owner = $$owner; |
|
return $__gen_TONBWallet_init(sys', $master, $owner); |
|
} |
|
|
|
() main() { |
|
} |