73 #include <tvm/schema/message.hpp>
74 #include <tvm/smart_switcher.hpp>
75 #include <tvm/contract_handle.hpp>
76 #include <tvm/replay_attack_protection/timestamp.hpp>
114 opt<WICCloneEvers> evers,
115 opt<uint32> old_token_version,
116 dict_array<address> wrapper_deployers,
117 address_opt first_wic,
118 address_opt last_wic,
125 address_opt first_wic,
126 address_opt last_wic,
135 address wrapper_deployer
157 [[
internal, answer_id]]
159 address_opt answer_addr,
161 uint128 clone_deploy_evers,
163 uint32 new_token_version,
164 dict_array<address> wrapper_deployers
175 using IWrappersConfigPtr = handle<IWrappersConfig>;
200 static std::pair<StateInit, uint256> execute(
DWrappersConfig data, cell code) {
201 cell data_cl = prepare_persistent_data<IWrappersConfig, void>({}, data);
202 StateInit init { {}, {}, code, data_cl, {} };
203 cell init_cl = build(init).make_cell();
204 return { init, uint256(tvm_hash(init_cl)) };
212 static uint256 execute(
DWrappersConfig data, uint256 code_hash, uint16 code_depth) {
213 cell data_cl = prepare_persistent_data<IWrappersConfig, void>({}, data);
214 return tvm_state_init_hash(code_hash, uint256(tvm_hash(data_cl)), code_depth, uint16(data_cl.cdepth()));
WIC clone evers configuration structure.
WrappersConfig persistent data struct.
Definition: WrappersConfig.hpp:178
address_opt last_wic_
Definition: WrappersConfig.hpp:186
uint32 wic_count_
WIC count.
Definition: WrappersConfig.hpp:188
uint32 token_version_
Tokens update group version. Used for address calculation.
Definition: WrappersConfig.hpp:179
address_opt first_wic_
First Wrapper Index Contract.
Definition: WrappersConfig.hpp:185
bool_t deployed_
onDeploy call processed
Definition: WrappersConfig.hpp:181
dict_array< address > wrapper_deployers_
Wrapper deployers for different types of Wrappers.
Definition: WrappersConfig.hpp:184
int8 workchain_id_
Workchain id.
Definition: WrappersConfig.hpp:183
uint128 keep_evers_
Keep evers in the contract before returning the rest to SuperConfig.
Definition: WrappersConfig.hpp:182
WrappersConfig events interface.
Definition: WrappersConfig.hpp:193
WrappersConfig contract interface. WrappersConfig keeps wrappers configuration for specific token ver...
Definition: WrappersConfig.hpp:108
void unlistWrapper(address wic)
Unlist Wrapper.
void onDeploy(uint128 keep_evers, opt< WICCloneEvers > evers, opt< uint32 > old_token_version, dict_array< address > wrapper_deployers, address_opt first_wic, address_opt last_wic, uint32 wic_count)
Deploy processing.
WrappersConfigDetails getDetails()
Get info about contract state details.
WrappersConfigSalt getConfig()
Get config from code salt.
void addWrapperType(uint128 keep_evers, uint8 type, address wrapper_deployer)
Add Wrapper type.
void onWICsCloned(address_opt first_wic, address_opt last_wic, uint32 wic_count)
Notification from last WIC (old) about completion of WICs cloning procedure to the new WrappersConfig...
void addWrapper(uint128 keep_evers, WICCloneEvers evers, string symbol, uint8 type, cell init_args)
Add Wrapper of already registered type.
address cloneUpgrade(address_opt answer_addr, uint128 keep_evers, uint128 clone_deploy_evers, WICCloneEvers evers, uint32 new_token_version, dict_array< address > wrapper_deployers)
Evers configuration for clone procedure.
Definition: WICCloneEvers.hpp:12
Wrapper deployer info.
Definition: WrappersConfig.hpp:98
uint256 wallet_code_hash
Wallet code hash.
Definition: WrappersConfig.hpp:101
address deployer
Deployer address.
Definition: WrappersConfig.hpp:99
uint256 wrapper_code_hash
Wrapper code hash.
Definition: WrappersConfig.hpp:100
WrappersConfig details for getter.
Definition: WrappersConfig.hpp:88
uint256 salted_wic_hash
Salted WIC code hash.
Definition: WrappersConfig.hpp:94
address_opt last_wic
Last Wrapper Index Contract.
Definition: WrappersConfig.hpp:92
uint32 wic_count
WIC count.
Definition: WrappersConfig.hpp:93
dict_array< address > wrapper_deployers
Wrapper deployers for different types of Wrappers.
Definition: WrappersConfig.hpp:90
address_opt first_wic
First Wrapper Index Contract.
Definition: WrappersConfig.hpp:91
uint32 token_version
Tokens update group version.
Definition: WrappersConfig.hpp:89
WrappersConfig configuration in code salt.
Definition: WrappersConfig.hpp:82
cell wic_code
WIC code (unsalted)
Definition: WrappersConfig.hpp:84
address super_root
Flex SuperRoot address.
Definition: WrappersConfig.hpp:83