11 #include <tvm/schema/message.hpp>
12 #include <tvm/smart_switcher.hpp>
13 #include <tvm/contract_handle.hpp>
45 address_opt old_wrappers_cfg,
46 address_opt old_wrapper,
56 address_opt old_wrappers_cfg,
57 opt<string> next_symbol,
66 opt<address> first_clone,
67 opt<address> last_clone,
68 opt<string> prev_symbol,
71 address new_wrappers_cfg,
72 dict_array<address> wrapper_deployers
83 using IWICPtr = handle<IWIC>;
107 static std::pair<StateInit, uint256> execute(
DWIC data, cell code) {
108 cell data_cl = prepare_persistent_data<IWIC, void>({}, data);
109 StateInit init { {}, {}, code, data_cl, {} };
110 cell init_cl = build(init).make_cell();
111 return { init, uint256(tvm_hash(init_cl)) };
WrappersConfig contract interfaces and data-structs.
Wrapper Index Contract persistent data struct.
Definition: WIC.hpp:86
opt< address > wrapper_
Wrapper address.
Definition: WIC.hpp:91
string symbol_
Token symbol. Used for address calculation.
Definition: WIC.hpp:87
opt< address > next_
Next WIC address.
Definition: WIC.hpp:94
opt< cell > init_args_
Init args.
Definition: WIC.hpp:93
opt< uint8 > type_
Wrapper type.
Definition: WIC.hpp:92
bool_t unlisted_
Wrapper is unlisted and should not be cloned during cloneUpgrade.
Definition: WIC.hpp:95
int8 workchain_id_
Workchain id.
Definition: WIC.hpp:89
opt< address > deployer_
Wrapper deployer used to deploy the wrapper.
Definition: WIC.hpp:90
Wrapper Index Contract events interface.
Definition: WIC.hpp:100
Wrapper Index Contract interface. WIC is a contract to index (enumerate) wrappers.
Definition: WIC.hpp:41
WICDetails getDetails()
Get info about contract state details.
void setNext(address_opt old_wrappers_cfg, opt< string > next_symbol, address next)
Set next WIC address.
void cloneUpgrade(WICCloneEvers evers, opt< address > first_clone, opt< address > last_clone, opt< string > prev_symbol, uint32 wic_count, uint32 token_version, address new_wrappers_cfg, dict_array< address > wrapper_deployers)
resumable< void > onDeploy(uint128 keep_evers, address_opt old_wrappers_cfg, address_opt old_wrapper, bool keep_wrapper, address deployer, uint8 type, cell init_args)
void unlist()
Mark this WIC/Wrapper as unlisted. Unlisted WIC will not be cloned during cloneUpgrade.
Evers configuration for clone procedure.
Definition: WICCloneEvers.hpp:12
WIC details for getter.
Definition: WIC.hpp:26
opt< address > wrapper
Wrapper address.
Definition: WIC.hpp:30
opt< address > deployer
Wrapper deployer used to deploy the wrapper.
Definition: WIC.hpp:29
bool unlisted
Wrapper is unlisted and should not be cloned during cloneUpgrade.
Definition: WIC.hpp:34
opt< cell > init_args
Init args.
Definition: WIC.hpp:32
opt< uint8 > type
Wrapper type.
Definition: WIC.hpp:31
string symbol
Token symbol.
Definition: WIC.hpp:27
opt< address > next
Next WIC address.
Definition: WIC.hpp:33
int8 workchain_id
Workchain id.
Definition: WIC.hpp:28
Wrapper Index Contract configuration in code salt.
Definition: WIC.hpp:18
uint16 wrappers_cfg_code_depth
WrappersConfig salted code depth (for recognition of the next WrappersConfig)
Definition: WIC.hpp:22
address super_root
SuperRoot address.
Definition: WIC.hpp:19
address wrappers_cfg
WrappersConfig address.
Definition: WIC.hpp:20
uint256 wrappers_cfg_code_hash
WrappersConfig salted code hash (for recognition of the next WrappersConfig)
Definition: WIC.hpp:21