mirror of
https://github.com/ton-blockchain/ton
synced 2025-03-09 15:40:10 +00:00
Add TON Storage to Proxy via storage gateway (#577)
* Access ton storage from proxy, resolve "dns_storage_address" in tonlib * Set storage gateway address in proxy args Co-authored-by: SpyCheese <mikle98@yandex.ru>
This commit is contained in:
parent
ad736c6bc3
commit
7347ec0b3b
11 changed files with 171 additions and 73 deletions
|
@ -66,9 +66,19 @@ class DnsInterface {
|
|||
// TODO: capability
|
||||
};
|
||||
|
||||
struct EntryDataStorageAddress {
|
||||
ton::Bits256 bag_id;
|
||||
// TODO: proto
|
||||
bool operator==(const EntryDataStorageAddress& other) const {
|
||||
return bag_id == other.bag_id;
|
||||
}
|
||||
};
|
||||
|
||||
struct EntryData {
|
||||
enum Type { Empty, Text, NextResolver, AdnlAddress, SmcAddress } type{Empty};
|
||||
td::Variant<EntryDataText, EntryDataNextResolver, EntryDataAdnlAddress, EntryDataSmcAddress> data;
|
||||
enum Type { Empty, Text, NextResolver, AdnlAddress, SmcAddress, StorageAddress } type{Empty};
|
||||
td::Variant<EntryDataText, EntryDataNextResolver, EntryDataAdnlAddress, EntryDataSmcAddress,
|
||||
EntryDataStorageAddress>
|
||||
data;
|
||||
|
||||
static EntryData text(std::string text) {
|
||||
return {Text, EntryDataText{text}};
|
||||
|
@ -82,6 +92,9 @@ class DnsInterface {
|
|||
static EntryData smc_address(block::StdAddress smc_address) {
|
||||
return {SmcAddress, EntryDataSmcAddress{smc_address}};
|
||||
}
|
||||
static EntryData storage_address(ton::Bits256 bag_id) {
|
||||
return {StorageAddress, EntryDataStorageAddress{bag_id}};
|
||||
}
|
||||
|
||||
bool operator==(const EntryData& other) const {
|
||||
return data == other.data;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue