|
|
|
() __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_WithdrawalRequests(builder build_0, (cell, cell, int) v) inline_ref {
|
|
|
|
var (v'addresses, v'amounts, v'n_requests) = v;
|
|
|
|
build_0 = build_0.store_dict(v'addresses);
|
|
|
|
build_0 = build_0.store_dict(v'amounts);
|
|
|
|
build_0 = build_0.store_int(v'n_requests, 257);
|
|
|
|
return build_0;
|
|
|
|
}
|
|
|
|
|
|
|
|
builder __gen_write_TONB(builder build_0, (int, slice, cell, int, slice, slice, int, slice, (cell, cell, int)) v) inline_ref {
|
|
|
|
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 = __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);
|
|
|
|
build_0 = __tact_store_address_opt(build_0, v'first_linker);
|
|
|
|
build_0 = __tact_store_address_opt(build_0, v'last_linker);
|
|
|
|
var build_1 = begin_cell();
|
|
|
|
build_1 = build_1.store_int(v'n_linkers, 257);
|
|
|
|
build_1 = __tact_store_address_opt(build_1, v'staking_pool);
|
|
|
|
build_1 = __gen_write_WithdrawalRequests(build_1, (v'withdrawal_requests'addresses, v'withdrawal_requests'amounts, v'withdrawal_requests'n_requests));
|
|
|
|
build_0 = store_ref(build_0, build_1.end_cell());
|
|
|
|
return build_0;
|
|
|
|
}
|
|
|
|
|
|
|
|
cell $__gen_TONB_init(cell sys', slice $owner, cell $content) {
|
|
|
|
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))) = (null(), null(), null(), null(), null(), null(), 0, 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_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)));
|
|
|
|
return b'.end_cell();
|
|
|
|
}
|
|
|
|
|
|
|
|
cell init(cell sys', slice $$owner, cell $$content) method_id {
|
|
|
|
slice $owner = $$owner;
|
|
|
|
cell $content = $$content;
|
|
|
|
return $__gen_TONB_init(sys', $owner, $content);
|
|
|
|
}
|
|
|
|
|
|
|
|
() main() {
|
|
|
|
}
|