mirror of
https://github.com/yzernik/squeaknode.git
synced 2026-08-18 13:09:08 +02:00
Use last squeak entry as field in pagination rpc (#1177)
* Update timeline to use more efficient pagination rpc with last entry * Update address squeaks to use more efficient pagination rpc with last entry * Update reply squeaks to use more efficient pagination rpc with last entry * Use last_entry as param in get_timeline db query function * Use last_entry as param in get address squeaks db query function * Use last_entry as param in get reply squeaks db query function
This commit is contained in:
parent
cb10b2f6c4
commit
47be5c96f9
9 changed files with 112 additions and 158 deletions
|
|
@ -52,9 +52,9 @@ export default function SqueakPage() {
|
|||
getAncestorSqueakDisplaysRequest(hash, handleLoadedAncestorSqueaks);
|
||||
};
|
||||
const subscribeAncestorSqueaks = (hash) => subscribeAncestorSqueakDisplaysRequest(hash, setAncestorSqueaks);
|
||||
const getReplySqueaks = (hash, limit, blockHeight, squeakTime, squeakHash) => {
|
||||
const getReplySqueaks = (hash, limit, lastEntry) => {
|
||||
setWaitingForReplySqueaks(true);
|
||||
getReplySqueakDisplaysRequest(hash, limit, blockHeight, squeakTime, squeakHash, handleLoadedReplySqueaks);
|
||||
getReplySqueakDisplaysRequest(hash, limit, lastEntry, handleLoadedReplySqueaks);
|
||||
};
|
||||
const subscribeReplySqueaks = (hash) => subscribeReplySqueakDisplaysRequest(hash, (resp) => {
|
||||
setReplySqueaks((prevReplySqueaks) => prevReplySqueaks.concat(resp));
|
||||
|
|
@ -107,7 +107,7 @@ export default function SqueakPage() {
|
|||
return () => stream.cancel();
|
||||
}, [hash]);
|
||||
useEffect(() => {
|
||||
getReplySqueaks(hash, SQUEAKS_PER_PAGE, null, null, null);
|
||||
getReplySqueaks(hash, SQUEAKS_PER_PAGE, null);
|
||||
}, [hash]);
|
||||
useEffect(() => {
|
||||
const stream = subscribeReplySqueaks(hash);
|
||||
|
|
@ -234,10 +234,7 @@ export default function SqueakPage() {
|
|||
disabled={waitingForReplySqueaks}
|
||||
onClick={() => {
|
||||
const latestSqueak = replySqueaks.slice(-1).pop();
|
||||
const latestSqueakHeight = (latestSqueak ? latestSqueak.getBlockHeight() : null);
|
||||
const latestSqueakTime = (latestSqueak ? latestSqueak.getSqueakTime() : null);
|
||||
const latestSqueakHash = (latestSqueak ? latestSqueak.getSqueakHash() : null);
|
||||
getReplySqueaks(hash, SQUEAKS_PER_PAGE, latestSqueakHeight, latestSqueakTime, latestSqueakHash);
|
||||
getReplySqueaks(hash, SQUEAKS_PER_PAGE, latestSqueak);
|
||||
}}
|
||||
>
|
||||
<ReplayIcon />
|
||||
|
|
|
|||
|
|
@ -49,9 +49,9 @@ export default function SqueakAddressPage() {
|
|||
const getSqueakProfile = (address) => {
|
||||
getSqueakProfileByAddressRequest(address, setSqueakProfile);
|
||||
};
|
||||
const getSqueaks = (address, limit, blockHeight, squeakTime, squeakHash) => {
|
||||
const getSqueaks = (address, limit, lastEntry) => {
|
||||
setWaitingForSqueaks(true);
|
||||
getAddressSqueakDisplaysRequest(address, limit, blockHeight, squeakTime, squeakHash, handleLoadedAddressSqueaks);
|
||||
getAddressSqueakDisplaysRequest(address, limit, lastEntry, handleLoadedAddressSqueaks);
|
||||
};
|
||||
const subscribeSqueaks = (address) => subscribeAddressSqueakDisplaysRequest(address, (resp) => {
|
||||
setSqueaks((prevSqueaks) => [resp].concat(prevSqueaks));
|
||||
|
|
@ -90,7 +90,7 @@ export default function SqueakAddressPage() {
|
|||
getSqueakProfile(address);
|
||||
}, [address]);
|
||||
useEffect(() => {
|
||||
getSqueaks(address, SQUEAKS_PER_PAGE, null, null, null);
|
||||
getSqueaks(address, SQUEAKS_PER_PAGE, null);
|
||||
}, [address]);
|
||||
useEffect(() => {
|
||||
const stream = subscribeSqueaks(address);
|
||||
|
|
@ -247,10 +247,7 @@ export default function SqueakAddressPage() {
|
|||
disabled={waitingForSqueaks}
|
||||
onClick={() => {
|
||||
const latestSqueak = squeaks.slice(-1).pop();
|
||||
const latestSqueakHeight = (latestSqueak ? latestSqueak.getBlockHeight() : null);
|
||||
const latestSqueakTime = (latestSqueak ? latestSqueak.getSqueakTime() : null);
|
||||
const latestSqueakHash = (latestSqueak ? latestSqueak.getSqueakHash() : null);
|
||||
getSqueaks(address, SQUEAKS_PER_PAGE, latestSqueakHeight, latestSqueakTime, latestSqueakHash);
|
||||
getSqueaks(address, SQUEAKS_PER_PAGE, latestSqueak);
|
||||
}}
|
||||
>
|
||||
<ReplayIcon />
|
||||
|
|
|
|||
|
|
@ -43,9 +43,9 @@ export default function TimelinePage() {
|
|||
|
||||
const history = useHistory();
|
||||
|
||||
const getSqueaks = (limit, blockHeight, squeakTime, squeakHash) => {
|
||||
const getSqueaks = (limit, lastEntry) => {
|
||||
setWaitingForTimeline(true);
|
||||
getTimelineSqueakDisplaysRequest(limit, blockHeight, squeakTime, squeakHash, handleLoadedTimeline, alertFailedRequest);
|
||||
getTimelineSqueakDisplaysRequest(limit, lastEntry, handleLoadedTimeline, alertFailedRequest);
|
||||
};
|
||||
const subscribeNewSqueaks = () => subscribeTimelineSqueakDisplaysRequest(handleLoadedNewSqueak);
|
||||
const getNetwork = () => {
|
||||
|
|
@ -67,7 +67,7 @@ export default function TimelinePage() {
|
|||
const handleClickRefresh = () => {
|
||||
setSqueaks(null);
|
||||
setNewSqueaks(null);
|
||||
getSqueaks(SQUEAKS_PER_PAGE, null, null, null);
|
||||
getSqueaks(SQUEAKS_PER_PAGE, null);
|
||||
};
|
||||
|
||||
const handleLoadedTimeline = (loadedSqueaks) => {
|
||||
|
|
@ -90,7 +90,7 @@ export default function TimelinePage() {
|
|||
};
|
||||
|
||||
useEffect(() => {
|
||||
getSqueaks(SQUEAKS_PER_PAGE, null, null, null);
|
||||
getSqueaks(SQUEAKS_PER_PAGE, null);
|
||||
}, []);
|
||||
useEffect(() => {
|
||||
const stream = subscribeNewSqueaks();
|
||||
|
|
@ -148,10 +148,7 @@ export default function TimelinePage() {
|
|||
disabled={waitingForTimeline}
|
||||
onClick={() => {
|
||||
const latestSqueak = squeaks.slice(-1).pop();
|
||||
const latestSqueakHeight = (latestSqueak ? latestSqueak.getBlockHeight() : null);
|
||||
const latestSqueakTime = (latestSqueak ? latestSqueak.getSqueakTime() : null);
|
||||
const latestSqueakHash = (latestSqueak ? latestSqueak.getSqueakHash() : null);
|
||||
getSqueaks(SQUEAKS_PER_PAGE, latestSqueakHeight, latestSqueakTime, latestSqueakHash);
|
||||
getSqueaks(SQUEAKS_PER_PAGE, latestSqueak);
|
||||
}}
|
||||
>
|
||||
<ReplayIcon />
|
||||
|
|
|
|||
|
|
@ -111,12 +111,10 @@ export function getUserRequest(handleResponse) {
|
|||
});
|
||||
}
|
||||
|
||||
export function getTimelineSqueakDisplaysRequest(limit, blockHeight, squeakTime, squeakHash, handleResponse, handleErr) {
|
||||
export function getTimelineSqueakDisplaysRequest(limit, lastEntry, handleResponse, handleErr) {
|
||||
const request = new GetTimelineSqueakDisplaysRequest();
|
||||
request.setLimit(limit);
|
||||
request.setBlockHeight(blockHeight);
|
||||
request.setSqueakTime(squeakTime);
|
||||
request.setSqueakHash(squeakHash);
|
||||
request.setLastEntry(lastEntry);
|
||||
client.getTimelineSqueakDisplays(request, {}, (err, response) => {
|
||||
if (err) {
|
||||
handleErr(err);
|
||||
|
|
@ -356,13 +354,11 @@ export function getAncestorSqueakDisplaysRequest(hash, handleResponse) {
|
|||
});
|
||||
}
|
||||
|
||||
export function getReplySqueakDisplaysRequest(hash, limit, latestBlockHeight, latestSqueakTime, latestSqueakHash, handleResponse) {
|
||||
export function getReplySqueakDisplaysRequest(hash, limit, lastEntry, handleResponse) {
|
||||
const request = new GetReplySqueakDisplaysRequest();
|
||||
request.setSqueakHash(hash);
|
||||
request.setLimit(limit);
|
||||
request.setLatestBlockHeight(latestBlockHeight);
|
||||
request.setLatestSqueakTime(latestSqueakTime);
|
||||
request.setLatestSqueakHash(latestSqueakHash);
|
||||
request.setLastEntry(lastEntry);
|
||||
client.getReplySqueakDisplays(request, {}, (err, response) => {
|
||||
handleResponse(response.getSqueakDisplayEntriesList());
|
||||
});
|
||||
|
|
@ -376,13 +372,11 @@ export function getSqueakProfileByAddressRequest(address, handleResponse) {
|
|||
});
|
||||
}
|
||||
|
||||
export function getAddressSqueakDisplaysRequest(address, limit, blockHeight, squeakTime, squeakHash, handleResponse) {
|
||||
export function getAddressSqueakDisplaysRequest(address, limit, lastEntry, handleResponse) {
|
||||
const request = new GetAddressSqueakDisplaysRequest();
|
||||
request.setAddress(address);
|
||||
request.setLimit(limit);
|
||||
request.setBlockHeight(blockHeight);
|
||||
request.setSqueakTime(squeakTime);
|
||||
request.setSqueakHash(squeakHash);
|
||||
request.setLastEntry(lastEntry);
|
||||
client.getAddressSqueakDisplays(request, {}, (err, response) => {
|
||||
handleResponse(response.getSqueakDisplayEntriesList());
|
||||
});
|
||||
|
|
|
|||
|
|
@ -553,14 +553,8 @@ message GetTimelineSqueakDisplaysRequest {
|
|||
/// Limit number of results
|
||||
int32 limit = 1;
|
||||
|
||||
/// Block height
|
||||
int32 block_height = 2;
|
||||
|
||||
/// Squeak time
|
||||
int64 squeak_time = 3;
|
||||
|
||||
/// Hash of the squeak.
|
||||
string squeak_hash = 4;
|
||||
/// Last entry
|
||||
SqueakDisplayEntry last_entry = 2;
|
||||
}
|
||||
|
||||
message GetTimelineSqueakDisplaysReply {
|
||||
|
|
@ -575,14 +569,8 @@ message GetAddressSqueakDisplaysRequest {
|
|||
/// Limit number of results
|
||||
int32 limit = 2;
|
||||
|
||||
/// Block height
|
||||
int32 block_height = 3;
|
||||
|
||||
/// Squeak time
|
||||
int64 squeak_time = 4;
|
||||
|
||||
/// Hash of the squeak.
|
||||
string squeak_hash = 5;
|
||||
/// Last entry
|
||||
SqueakDisplayEntry last_entry = 3;
|
||||
}
|
||||
|
||||
message GetAddressSqueakDisplaysReply {
|
||||
|
|
@ -607,14 +595,8 @@ message GetReplySqueakDisplaysRequest {
|
|||
/// Limit number of results
|
||||
int32 limit = 2;
|
||||
|
||||
/// Block height
|
||||
int32 latest_block_height = 3;
|
||||
|
||||
/// Squeak time
|
||||
int64 latest_squeak_time = 4;
|
||||
|
||||
/// Hash of the squeak.
|
||||
string latest_squeak_hash = 5;
|
||||
/// Last entry
|
||||
SqueakDisplayEntry last_entry = 3;
|
||||
}
|
||||
|
||||
message GetReplySqueakDisplaysReply {
|
||||
|
|
|
|||
|
|
@ -201,3 +201,20 @@ def message_to_peer_address(peer_address: squeak_admin_pb2.PeerAddress) -> PeerA
|
|||
host=peer_address.host,
|
||||
port=peer_address.port,
|
||||
)
|
||||
|
||||
|
||||
def message_to_squeak_entry(squeak_entry: squeak_admin_pb2.SqueakDisplayEntry) -> SqueakEntry:
|
||||
return SqueakEntry(
|
||||
squeak_hash=bytes.fromhex(squeak_entry.squeak_hash),
|
||||
address=squeak_entry.author_address,
|
||||
block_height=squeak_entry.block_height,
|
||||
block_hash=bytes.fromhex(squeak_entry.block_hash),
|
||||
block_time=squeak_entry.block_time,
|
||||
squeak_time=squeak_entry.squeak_time,
|
||||
reply_to=bytes.fromhex(
|
||||
squeak_entry.reply_to) if squeak_entry.reply_to else None,
|
||||
is_unlocked=squeak_entry.is_unlocked,
|
||||
squeak_profile=None, # TODO: message to squeak profile
|
||||
liked_time=squeak_entry.liked_time_s,
|
||||
content=squeak_entry.content_str,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ import logging
|
|||
from proto import squeak_admin_pb2
|
||||
from squeaknode.admin.messages import connected_peer_to_message
|
||||
from squeaknode.admin.messages import message_to_peer_address
|
||||
from squeaknode.admin.messages import message_to_squeak_entry
|
||||
from squeaknode.admin.messages import offer_entry_to_message
|
||||
from squeaknode.admin.messages import payment_summary_to_message
|
||||
from squeaknode.admin.messages import received_payments_to_message
|
||||
|
|
@ -312,28 +313,24 @@ class SqueakAdminServerHandler(object):
|
|||
|
||||
def handle_get_timeline_squeak_display_entries(self, request):
|
||||
limit = request.limit
|
||||
block_height = request.block_height
|
||||
squeak_time = request.squeak_time
|
||||
squeak_hash_str = request.squeak_hash
|
||||
squeak_hash = bytes.fromhex(
|
||||
squeak_hash_str) if squeak_hash_str else None
|
||||
last_entry = message_to_squeak_entry(request.last_entry) if request.HasField(
|
||||
"last_entry") else None
|
||||
# block_height = last_entry.block_height
|
||||
# squeak_time = last_entry.squeak_time
|
||||
# squeak_hash_str = last_entry.squeak_hash
|
||||
# squeak_hash = bytes.fromhex(
|
||||
# squeak_hash_str) if squeak_hash_str else None
|
||||
logger.info("""Handle get timeline squeak display entries with
|
||||
limit: {}
|
||||
block_height: {}
|
||||
squeak_time: {}
|
||||
squeak_hash: {}
|
||||
last_entry: {}
|
||||
""".format(
|
||||
limit,
|
||||
block_height,
|
||||
squeak_time,
|
||||
squeak_hash,
|
||||
last_entry,
|
||||
))
|
||||
squeak_entries = (
|
||||
self.squeak_controller.get_timeline_squeak_entries(
|
||||
limit,
|
||||
block_height,
|
||||
squeak_time,
|
||||
squeak_hash,
|
||||
last_entry,
|
||||
)
|
||||
)
|
||||
logger.info(
|
||||
|
|
@ -351,30 +348,21 @@ class SqueakAdminServerHandler(object):
|
|||
def handle_get_squeak_display_entries_for_address(self, request):
|
||||
address = request.address
|
||||
limit = request.limit
|
||||
block_height = request.block_height
|
||||
squeak_time = request.squeak_time
|
||||
squeak_hash_str = request.squeak_hash
|
||||
squeak_hash = bytes.fromhex(
|
||||
squeak_hash_str) if squeak_hash_str else None
|
||||
last_entry = message_to_squeak_entry(request.last_entry) if request.HasField(
|
||||
"last_entry") else None
|
||||
logger.info("""Handle get squeak display entries for address: {} with
|
||||
limit: {}
|
||||
block_height: {}
|
||||
squeak_time: {}
|
||||
squeak_hash: {}
|
||||
last_entry: {}
|
||||
""".format(
|
||||
address,
|
||||
limit,
|
||||
block_height,
|
||||
squeak_time,
|
||||
squeak_hash,
|
||||
last_entry,
|
||||
))
|
||||
squeak_entries = (
|
||||
self.squeak_controller.get_squeak_entries_for_address(
|
||||
address,
|
||||
limit,
|
||||
block_height,
|
||||
squeak_time,
|
||||
squeak_hash,
|
||||
last_entry,
|
||||
)
|
||||
)
|
||||
logger.info(
|
||||
|
|
@ -418,30 +406,21 @@ class SqueakAdminServerHandler(object):
|
|||
squeak_hash_str = request.squeak_hash
|
||||
squeak_hash = bytes.fromhex(squeak_hash_str)
|
||||
limit = request.limit
|
||||
latest_block_height = request.latest_block_height
|
||||
latest_squeak_time = request.latest_squeak_time
|
||||
latest_squeak_hash_str = request.latest_squeak_hash
|
||||
latest_squeak_hash = bytes.fromhex(
|
||||
latest_squeak_hash_str) if latest_squeak_hash_str else None
|
||||
last_entry = message_to_squeak_entry(request.last_entry) if request.HasField(
|
||||
"last_entry") else None
|
||||
logger.info("""Handle get reply squeak display entries for squeak hash: {} with
|
||||
limit: {}
|
||||
block_height: {}
|
||||
squeak_time: {}
|
||||
squeak_hash: {}
|
||||
last_entry: {}
|
||||
""".format(
|
||||
squeak_hash_str,
|
||||
limit,
|
||||
latest_block_height,
|
||||
latest_squeak_time,
|
||||
latest_squeak_hash_str,
|
||||
last_entry,
|
||||
))
|
||||
squeak_entries = (
|
||||
self.squeak_controller.get_reply_squeak_entries(
|
||||
squeak_hash,
|
||||
limit,
|
||||
latest_block_height,
|
||||
latest_squeak_time,
|
||||
latest_squeak_hash,
|
||||
last_entry,
|
||||
)
|
||||
)
|
||||
logger.info(
|
||||
|
|
|
|||
|
|
@ -241,24 +241,22 @@ class SqueakDb:
|
|||
def get_timeline_squeak_entries(
|
||||
self,
|
||||
limit: int,
|
||||
block_height: int = MAX_INT,
|
||||
squeak_time: int = MAX_INT,
|
||||
squeak_hash: bytes = MAX_HASH,
|
||||
last_entry: Optional[SqueakEntry],
|
||||
) -> List[SqueakEntry]:
|
||||
""" Get all followed squeaks. """
|
||||
block_height = block_height or MAX_INT
|
||||
squeak_time = squeak_time or MAX_INT
|
||||
squeak_hash = squeak_hash or MAX_HASH
|
||||
logger.debug("""Timeline db query with
|
||||
last_block_height = last_entry.block_height if last_entry else MAX_INT
|
||||
last_squeak_time = last_entry.squeak_time if last_entry else MAX_INT
|
||||
last_squeak_hash = last_entry.squeak_hash if last_entry else MAX_HASH
|
||||
logger.info("""Timeline db query with
|
||||
limit: {}
|
||||
block_height: {}
|
||||
squeak_time: {}
|
||||
squeak_hash: {}
|
||||
""".format(
|
||||
limit,
|
||||
block_height,
|
||||
squeak_time,
|
||||
squeak_hash.hex(),
|
||||
last_block_height,
|
||||
last_squeak_time,
|
||||
last_squeak_hash.hex(),
|
||||
))
|
||||
s = (
|
||||
select([self.squeaks, self.profiles])
|
||||
|
|
@ -275,9 +273,9 @@ class SqueakDb:
|
|||
self.squeaks.c.n_time,
|
||||
self.squeaks.c.hash,
|
||||
) < tuple_(
|
||||
block_height,
|
||||
squeak_time,
|
||||
squeak_hash,
|
||||
last_block_height,
|
||||
last_squeak_time,
|
||||
last_squeak_hash,
|
||||
)
|
||||
)
|
||||
.order_by(
|
||||
|
|
@ -318,14 +316,23 @@ class SqueakDb:
|
|||
self,
|
||||
address: str,
|
||||
limit: int,
|
||||
block_height: int,
|
||||
squeak_time: int,
|
||||
squeak_hash: bytes,
|
||||
last_entry: Optional[SqueakEntry],
|
||||
) -> List[SqueakEntry]:
|
||||
""" Get a squeak. """
|
||||
block_height = block_height or MAX_INT
|
||||
squeak_time = squeak_time or MAX_INT
|
||||
squeak_hash = squeak_hash or MAX_HASH
|
||||
last_block_height = last_entry.block_height if last_entry else MAX_INT
|
||||
last_squeak_time = last_entry.squeak_time if last_entry else MAX_INT
|
||||
last_squeak_hash = last_entry.squeak_hash if last_entry else MAX_HASH
|
||||
logger.info("""Timeline db query with
|
||||
limit: {}
|
||||
block_height: {}
|
||||
squeak_time: {}
|
||||
squeak_hash: {}
|
||||
""".format(
|
||||
limit,
|
||||
last_block_height,
|
||||
last_squeak_time,
|
||||
last_squeak_hash.hex(),
|
||||
))
|
||||
s = (
|
||||
select([self.squeaks, self.profiles])
|
||||
.select_from(
|
||||
|
|
@ -341,9 +348,9 @@ class SqueakDb:
|
|||
self.squeaks.c.n_time,
|
||||
self.squeaks.c.hash,
|
||||
) < tuple_(
|
||||
block_height,
|
||||
squeak_time,
|
||||
squeak_hash,
|
||||
last_block_height,
|
||||
last_squeak_time,
|
||||
last_squeak_hash,
|
||||
)
|
||||
)
|
||||
.order_by(
|
||||
|
|
@ -428,26 +435,22 @@ class SqueakDb:
|
|||
self,
|
||||
squeak_hash: bytes,
|
||||
limit: int,
|
||||
latest_block_height: int,
|
||||
latest_squeak_time: int,
|
||||
latest_squeak_hash: bytes,
|
||||
last_entry: Optional[SqueakEntry],
|
||||
) -> List[SqueakEntry]:
|
||||
""" Get all replies for a squeak hash. """
|
||||
latest_block_height = latest_block_height or MAX_INT
|
||||
latest_squeak_time = latest_squeak_time or MAX_INT
|
||||
latest_squeak_hash = latest_squeak_hash or MAX_HASH
|
||||
logger.debug("""Replies db query with
|
||||
squeak_hash: {}
|
||||
last_block_height = last_entry.block_height if last_entry else MAX_INT
|
||||
last_squeak_time = last_entry.squeak_time if last_entry else MAX_INT
|
||||
last_squeak_hash = last_entry.squeak_hash if last_entry else MAX_HASH
|
||||
logger.info("""Timeline db query with
|
||||
limit: {}
|
||||
latest_block_height: {}
|
||||
latest_squeak_time: {}
|
||||
latest_squeak_hash: {}
|
||||
block_height: {}
|
||||
squeak_time: {}
|
||||
squeak_hash: {}
|
||||
""".format(
|
||||
squeak_hash.hex(),
|
||||
limit,
|
||||
latest_block_height,
|
||||
latest_squeak_time,
|
||||
latest_squeak_hash.hex(),
|
||||
last_block_height,
|
||||
last_squeak_time,
|
||||
last_squeak_hash.hex(),
|
||||
))
|
||||
s = (
|
||||
select([self.squeaks, self.profiles])
|
||||
|
|
@ -464,9 +467,9 @@ class SqueakDb:
|
|||
self.squeaks.c.n_time,
|
||||
self.squeaks.c.hash,
|
||||
) < tuple_(
|
||||
latest_block_height,
|
||||
latest_squeak_time,
|
||||
latest_squeak_hash,
|
||||
last_block_height,
|
||||
last_squeak_time,
|
||||
last_squeak_hash,
|
||||
)
|
||||
)
|
||||
.order_by(
|
||||
|
|
|
|||
|
|
@ -425,15 +425,11 @@ class SqueakController:
|
|||
def get_timeline_squeak_entries(
|
||||
self,
|
||||
limit: int,
|
||||
block_height: int,
|
||||
squeak_time: int,
|
||||
squeak_hash: bytes,
|
||||
last_entry: Optional[SqueakEntry],
|
||||
) -> List[SqueakEntry]:
|
||||
return self.squeak_db.get_timeline_squeak_entries(
|
||||
limit,
|
||||
block_height,
|
||||
squeak_time,
|
||||
squeak_hash,
|
||||
last_entry,
|
||||
)
|
||||
|
||||
def get_liked_squeak_entries(self) -> List[SqueakEntry]:
|
||||
|
|
@ -443,16 +439,12 @@ class SqueakController:
|
|||
self,
|
||||
address: str,
|
||||
limit: int,
|
||||
block_height: int,
|
||||
squeak_time: int,
|
||||
squeak_hash: bytes,
|
||||
last_entry: Optional[SqueakEntry],
|
||||
) -> List[SqueakEntry]:
|
||||
return self.squeak_db.get_squeak_entries_for_address(
|
||||
address,
|
||||
limit,
|
||||
block_height,
|
||||
squeak_time,
|
||||
squeak_hash,
|
||||
last_entry,
|
||||
)
|
||||
|
||||
def get_ancestor_squeak_entries(self, squeak_hash: bytes) -> List[SqueakEntry]:
|
||||
|
|
@ -464,16 +456,12 @@ class SqueakController:
|
|||
self,
|
||||
squeak_hash: bytes,
|
||||
limit: int,
|
||||
latest_block_height: int,
|
||||
latest_squeak_time: int,
|
||||
latest_squeak_hash: bytes,
|
||||
last_entry: Optional[SqueakEntry],
|
||||
) -> List[SqueakEntry]:
|
||||
return self.squeak_db.get_thread_reply_squeak_entries(
|
||||
squeak_hash,
|
||||
limit,
|
||||
latest_block_height,
|
||||
latest_squeak_time,
|
||||
latest_squeak_hash,
|
||||
last_entry,
|
||||
)
|
||||
|
||||
def lookup_squeaks(self, addresses: List[str], min_block: int, max_block: int) -> List[bytes]:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue