12 #include "bind_info.hpp"
14 #include <tvm/schema/message.hpp>
15 #include <tvm/smart_switcher.hpp>
16 #include <tvm/contract_handle.hpp>
45 cell flex_client_stub,
46 cell flex_client_code,
48 cell user_id_index_code
52 [[
internal, answer_id]]
56 [[
internal, answer_id]]
71 using IUserDataConfigPtr = handle<IUserDataConfig>;
92 static std::pair<StateInit, uint256> execute(
DUserDataConfig data, cell code) {
93 cell data_cl = prepare_persistent_data<IUserDataConfig, void>({}, data);
94 StateInit init { {}, {}, code, data_cl, {} };
95 cell init_cl = build(init).make_cell();
96 return { init, uint256(tvm_hash(init_cl)) };
UserDataConfig persistent data struct.
Definition: UserDataConfig.hpp:74
optcell flex_client_code_
FlexClient code (no salt).
Definition: UserDataConfig.hpp:78
optcell auth_index_code_
AuthIndex code (no salt).
Definition: UserDataConfig.hpp:79
opt< bind_info > binding_
Exchange binding info (Flex address and PriceXchg code hash (unsalted)).
Definition: UserDataConfig.hpp:76
optcell user_id_index_code_
UserIdIndex code (unsalted).
Definition: UserDataConfig.hpp:80
optcell flex_client_stub_
FlexClientStub code (salted).
Definition: UserDataConfig.hpp:77
FlexVersion triplet_
Flex version triplet. Used for address calculation.
Definition: UserDataConfig.hpp:75
UserDataConfig events interface.
Definition: UserDataConfig.hpp:85
Flex version triplet.
Definition: FlexVersion.hpp:14
UserDataConfig contract interface.
Definition: UserDataConfig.hpp:40
UserDataConfigDetails getDetails()
Get info about contract state details.
void onDeploy(bind_info binding, cell flex_client_stub, cell flex_client_code, cell auth_index_code, cell user_id_index_code)
Deploy processing.
address getFlexClientAddr(uint256 pubkey)
Get FlexClient address.
UserDataConfigDetails requestDetails()
Request info about contract state details (internal call)
address deployFlexClient(uint256 pubkey, uint128 deploy_evers, bytes signature)
Deploy FlexClient, signature - FlexClientStub address.val (without workchain id), signed by owner of ...
UserDataConfigSalt getConfig()
Get config from code salt.
UserDataConfig details for getter.
Definition: UserDataConfig.hpp:26
FlexVersion triplet
Flex version triplet.
Definition: UserDataConfig.hpp:27
bind_info binding
Exchange binding info (Flex address and PriceXchg code hash (unsalted)).
Definition: UserDataConfig.hpp:28
cell user_id_index_code
UserIdIndex code (unsalted)
Definition: UserDataConfig.hpp:32
cell auth_index_code
AuthIndex code (no salt)
Definition: UserDataConfig.hpp:31
cell flex_client_stub
FlexClientStub code. TODO: We don't need it in requestDetails, maybe optimize?
Definition: UserDataConfig.hpp:29
cell flex_client_code
FlexClient code (no salt)
Definition: UserDataConfig.hpp:30
UserDataConfig configuration in code salt.
Definition: UserDataConfig.hpp:21
address super_root
Flex SuperRoot address.
Definition: UserDataConfig.hpp:22
Binding to allow orders only to specific flex root and with specific unsalted PriceXchg code hash.
Definition: bind_info.hpp:8