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.8 KiB
55 lines
1.8 KiB
2 years ago
|
global (int, slice, int, slice) __tact_context;
|
||
|
global cell __tact_context_sys;
|
||
|
|
||
|
(int, slice, int, slice) __tact_context_get() inline { return __tact_context; }
|
||
|
|
||
|
() __tact_verify_address(slice address) inline {
|
||
|
throw_unless(136, address.slice_bits() != 267);
|
||
|
}
|
||
|
|
||
|
builder __tact_store_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_Linker(builder build_0, (int, slice, slice, slice) v) inline_ref {
|
||
|
var (v'index, v'master, v'owner, v'neighbor) = v;
|
||
|
build_0 = build_0.store_int(v'index, 257);
|
||
|
build_0 = __tact_store_address(build_0, v'master);
|
||
|
build_0 = __tact_store_address_opt(build_0, v'owner);
|
||
|
var build_1 = begin_cell();
|
||
|
build_1 = __tact_store_address_opt(build_1, v'neighbor);
|
||
|
build_0 = store_ref(build_0, build_1.end_cell());
|
||
|
return build_0;
|
||
|
}
|
||
|
|
||
|
cell $__gen_Linker_init(cell sys', int $index, slice $owner) {
|
||
|
var (($self'index, $self'master, $self'owner, $self'neighbor)) = (null(), null(), null(), null());
|
||
|
$self'index = $index;
|
||
|
$self'owner = $owner;
|
||
|
var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get();
|
||
|
$self'master = $ctx'sender;
|
||
|
var b' = begin_cell();
|
||
|
b' = b'.store_ref(sys');
|
||
|
b' = __gen_write_Linker(b', ($self'index, $self'master, $self'owner, $self'neighbor));
|
||
|
return b'.end_cell();
|
||
|
}
|
||
|
|
||
|
cell init(cell sys', int $$index, slice $$owner) method_id {
|
||
|
int $index = $$index;
|
||
|
slice $owner = $$owner;
|
||
|
return $__gen_Linker_init(sys', $index, $owner);
|
||
|
}
|
||
|
|
||
|
() main() {
|
||
|
}
|