Search for Data Contract Documents partially not working
When trying to retrieve documents for contract date withdrawals with where, I get an empty array, also sort works only in asc order, desc not working
Expected Behavior
If I specify ['transactionIndex', '==', 2] or ['transactionIndex', '>=', 2] or ['transactionIndex', '>', 2], then I should get an array with documents whose index matches the condition in the response
Current Behavior
At any specified value for transactionIndex, I get an empty array in response. Also, if you specify another condition for status as a range, the search will also return an empty array. However, if at least one condition requires a strict comparison, everything will work
Possible Solution
Steps to Reproduce (for bugs)
- use this json for data contract object
- Here you get empty response
const query = {
where: [
['transactionIndex', 'in', [0,1,2,3,4,5]],
['status', '>', 0]
],
orderBy: [
['status', order],
['transactionIndex', order],
]
}
const { documents } = await this.dapi.platform.getDocuments(Identifier.from(dataContractObject.id), type, query)
- Here you get some documents
const query = {
where: [
['transactionIndex', 'in', [0,1,2,3,4,5]],
['status', '=', 3]
],
orderBy: [
['status', order],
['transactionIndex', order],
]
}
const { documents } = await this.dapi.platform.getDocuments(Identifier.from(dataContractObject.id), type, query)
Context
Your Environment
- 'dashpay/drive:1.7'
- 'dashpay/dapi:1.7.1'
- node: v20.16.0
- dapi-client: from fork which made already after the latest updates of the getDocuments method
@owl352
Can you please provide a sample grpcurl queries for each request?
@pshenmic
command:
grpcurl -insecure -proto ./platform.proto -d @ 127.0.0.1:1443 org.dash.platform.dapi.v0.Platform/getDocuments < quer.json
ORDER BY transactionIndex ASC
{
"v0": {
"data_contract_id":"NmK7YeF/rj6ilM9gMZf7CqttURgL2LYQTElEpi/i2X8=",
"document_type":"withdrawal",
"limit": 5,
"orderBy": "gYJwdHJhbnNhY3Rpb25JbmRleGNhc2M="
}
}
{
"v0": {
"documents": {
"documents": [
"AHhe7sKtgtdcpajfOGae2s4Pz2NsAXjVnV8UOr/vxelNUtQ195Q84w5+oJMTC0v4Xuqkqt/yjbJK0pyueiVF+b0EAAMAAAGSbu8X2gAAAZJvdJP7AQAAAAAAAAAAAQAAAAAAEQ6JAAAAC6Q7dAAAAAAAAAAAAQAAAAAAAAAAGXapFKBTWF4yIYd8BhlGjPer47jGn9cJiKwAAAAAAAAAAw==",
"AG/KzuW7iPuYc1q5YGBhPIu0nnU8hv7CKO8N3TM7Jf7HWyRggLpkNQaF/jAtPXkPW7I4y2GZINRiMMhE8HmUSiMEAAMAAAGScmkcVwAAAZJ12XqmAQAAAAAAAAABAQAAAAAAERGKAAAAAACYloAAAAAAAAAAAQAAAAAAAAAAGXapFMaaC9p9qq5IG+je+V5fNHodAKS0iKwAAAAAAAAAAw==",
"AMXvBAbPs4XHFB7f4dxqLYiu+/VGE6wqM4MsLeVd7sUtWyRggLpkNQaF/jAtPXkPW7I4y2GZINRiMMhE8HmUSiMEAAMAAAGScm9ExQAAAZJ12XqmAQAAAAAAAAACAQAAAAAAERGKAAAAAACYloAAAAAAAAAAAQAAAAAAAAAAGXapFMaaC9p9qq5IG+je+V5fNHodAKS0iKwAAAAAAAAAAw==",
"AG6DMT1WjsfepIHQxn2l2EK6hUDBCySn8o46bEafO97lWyRggLpkNQaF/jAtPXkPW7I4y2GZINRiMMhE8HmUSiMEAAMAAAGSdEn98wAAAZJ12XqmAQAAAAAAAAADAQAAAAAAERGKAAAAAACYloAAAAAAAAAAAQAAAAAAAAAAGXapFEj6O7OW/AxDpb3qk2xFx0L2LRR+iKwAAAAAAAAAAw==",
"AERUOVp8Qb3e3bXkaDCWaL5qZc2CuiNf2bYdECD/L3IXWyRggLpkNQaF/jAtPXkPW7I4y2GZINRiMMhE8HmUSiMEAAMAAAGSdEsn3wAAAZJ12XqmAQAAAAAAAAAEAQAAAAAAERGKAAAAAACYloAAAAAAAAAAAQAAAAAAAAAAGXapFEj6O7OW/AxDpb3qk2xFx0L2LRR+iKwAAAAAAAAAAw=="
]
},
"metadata": {
"height": "107562",
"coreChainLockedHeight": 1204011,
"epoch": 5364,
"timeMs": "1740666789549",
"protocolVersion": 8,
"chainId": "dash-testnet-51"
}
}
}
ORDER BY transactionIndex DESC
{
"v0": {
"data_contract_id":"NmK7YeF/rj6ilM9gMZf7CqttURgL2LYQTElEpi/i2X8=",
"document_type":"withdrawal",
"limit": 5,
"orderBy": "gYJwdHJhbnNhY3Rpb25JbmRleGRkZXNj"
}
}
{
"v0": {
"documents": {
"documents": [
"AHhe7sKtgtdcpajfOGae2s4Pz2NsAXjVnV8UOr/vxelNUtQ195Q84w5+oJMTC0v4Xuqkqt/yjbJK0pyueiVF+b0EAAMAAAGSbu8X2gAAAZJvdJP7AQAAAAAAAAAAAQAAAAAAEQ6JAAAAC6Q7dAAAAAAAAAAAAQAAAAAAAAAAGXapFKBTWF4yIYd8BhlGjPer47jGn9cJiKwAAAAAAAAAAw==",
"AG/KzuW7iPuYc1q5YGBhPIu0nnU8hv7CKO8N3TM7Jf7HWyRggLpkNQaF/jAtPXkPW7I4y2GZINRiMMhE8HmUSiMEAAMAAAGScmkcVwAAAZJ12XqmAQAAAAAAAAABAQAAAAAAERGKAAAAAACYloAAAAAAAAAAAQAAAAAAAAAAGXapFMaaC9p9qq5IG+je+V5fNHodAKS0iKwAAAAAAAAAAw==",
"AMXvBAbPs4XHFB7f4dxqLYiu+/VGE6wqM4MsLeVd7sUtWyRggLpkNQaF/jAtPXkPW7I4y2GZINRiMMhE8HmUSiMEAAMAAAGScm9ExQAAAZJ12XqmAQAAAAAAAAACAQAAAAAAERGKAAAAAACYloAAAAAAAAAAAQAAAAAAAAAAGXapFMaaC9p9qq5IG+je+V5fNHodAKS0iKwAAAAAAAAAAw==",
"AG6DMT1WjsfepIHQxn2l2EK6hUDBCySn8o46bEafO97lWyRggLpkNQaF/jAtPXkPW7I4y2GZINRiMMhE8HmUSiMEAAMAAAGSdEn98wAAAZJ12XqmAQAAAAAAAAADAQAAAAAAERGKAAAAAACYloAAAAAAAAAAAQAAAAAAAAAAGXapFEj6O7OW/AxDpb3qk2xFx0L2LRR+iKwAAAAAAAAAAw==",
"AERUOVp8Qb3e3bXkaDCWaL5qZc2CuiNf2bYdECD/L3IXWyRggLpkNQaF/jAtPXkPW7I4y2GZINRiMMhE8HmUSiMEAAMAAAGSdEsn3wAAAZJ12XqmAQAAAAAAAAAEAQAAAAAAERGKAAAAAACYloAAAAAAAAAAAQAAAAAAAAAAGXapFEj6O7OW/AxDpb3qk2xFx0L2LRR+iKwAAAAAAAAAAw=="
]
},
"metadata": {
"height": "107563",
"coreChainLockedHeight": 1204012,
"epoch": 5364,
"timeMs": "1740666970789",
"protocolVersion": 8,
"chainId": "dash-testnet-51"
}
}
}
As result, we have the same results
Match status == 3 and order desc for transactionIndex
{
"v0": {
"data_contract_id":"NmK7YeF/rj6ilM9gMZf7CqttURgL2LYQTElEpi/i2X8=",
"document_type":"withdrawal",
"limit": 5,
"where": "gYNmc3RhdHVzYj09Aw==",
"orderBy": "gYJwdHJhbnNhY3Rpb25JbmRleGRkZXNj"
}
}
{
"v0": {
"documents": {
"documents": [
"AHhe7sKtgtdcpajfOGae2s4Pz2NsAXjVnV8UOr/vxelNUtQ195Q84w5+oJMTC0v4Xuqkqt/yjbJK0pyueiVF+b0EAAMAAAGSbu8X2gAAAZJvdJP7AQAAAAAAAAAAAQAAAAAAEQ6JAAAAC6Q7dAAAAAAAAAAAAQAAAAAAAAAAGXapFKBTWF4yIYd8BhlGjPer47jGn9cJiKwAAAAAAAAAAw==",
"AG/KzuW7iPuYc1q5YGBhPIu0nnU8hv7CKO8N3TM7Jf7HWyRggLpkNQaF/jAtPXkPW7I4y2GZINRiMMhE8HmUSiMEAAMAAAGScmkcVwAAAZJ12XqmAQAAAAAAAAABAQAAAAAAERGKAAAAAACYloAAAAAAAAAAAQAAAAAAAAAAGXapFMaaC9p9qq5IG+je+V5fNHodAKS0iKwAAAAAAAAAAw==",
"AMXvBAbPs4XHFB7f4dxqLYiu+/VGE6wqM4MsLeVd7sUtWyRggLpkNQaF/jAtPXkPW7I4y2GZINRiMMhE8HmUSiMEAAMAAAGScm9ExQAAAZJ12XqmAQAAAAAAAAACAQAAAAAAERGKAAAAAACYloAAAAAAAAAAAQAAAAAAAAAAGXapFMaaC9p9qq5IG+je+V5fNHodAKS0iKwAAAAAAAAAAw==",
"AG6DMT1WjsfepIHQxn2l2EK6hUDBCySn8o46bEafO97lWyRggLpkNQaF/jAtPXkPW7I4y2GZINRiMMhE8HmUSiMEAAMAAAGSdEn98wAAAZJ12XqmAQAAAAAAAAADAQAAAAAAERGKAAAAAACYloAAAAAAAAAAAQAAAAAAAAAAGXapFEj6O7OW/AxDpb3qk2xFx0L2LRR+iKwAAAAAAAAAAw==",
"AERUOVp8Qb3e3bXkaDCWaL5qZc2CuiNf2bYdECD/L3IXWyRggLpkNQaF/jAtPXkPW7I4y2GZINRiMMhE8HmUSiMEAAMAAAGSdEsn3wAAAZJ12XqmAQAAAAAAAAAEAQAAAAAAERGKAAAAAACYloAAAAAAAAAAAQAAAAAAAAAAGXapFEj6O7OW/AxDpb3qk2xFx0L2LRR+iKwAAAAAAAAAAw=="
]
},
"metadata": {
"height": "107565",
"coreChainLockedHeight": 1204015,
"epoch": 5365,
"timeMs": "1740667333088",
"protocolVersion": 8,
"chainId": "dash-testnet-51"
}
}
}
Match [['transactionIndex', 'in', [0,1,2,3,4,5]], ['status', '>=', 0]] and order [['status', 'desc'],['transactionIndex', 'desc']]
{
"v0": {
"data_contract_id":"NmK7YeF/rj6ilM9gMZf7CqttURgL2LYQTElEpi/i2X8=",
"document_type":"withdrawal",
"limit": 5,
"where": "goNwdHJhbnNhY3Rpb25JbmRleGJpboYAAQIDBAWDZnN0YXR1c2I+PQA=",
"orderBy": "goJmc3RhdHVzZGRlc2OCcHRyYW5zYWN0aW9uSW5kZXhkZGVzYw=="
}
}
{
"v0": {
"documents": {},
"metadata": {
"height": "107567",
"coreChainLockedHeight": 1204019,
"epoch": 5365,
"timeMs": "1740667696379",
"protocolVersion": 8,
"chainId": "dash-testnet-51"
}
}
}
Match [['transactionIndex', 'in', [0,1,2,3,4,5]], ['status', '==', 3]] and order [['status', 'desc'],['transactionIndex', 'desc']]
{
"v0": {
"data_contract_id":"NmK7YeF/rj6ilM9gMZf7CqttURgL2LYQTElEpi/i2X8=",
"document_type":"withdrawal",
"limit": 5,
"where": "goNwdHJhbnNhY3Rpb25JbmRleGJpboYAAQIDBAWDZnN0YXR1c2I9PQM=",
"orderBy": "goJmc3RhdHVzZGRlc2OCcHRyYW5zYWN0aW9uSW5kZXhkZGVzYw=="
}
}
{
"v0": {
"documents": {
"documents": [
"AOpEmI3j3HvFn1CjYWXwSGXDmEXdTWhPjgkitGwSUP7oWyRggLpkNQaF/jAtPXkPW7I4y2GZINRiMMhE8HmUSiMEAAMAAAGSdFSjSgAAAZJ12XqmAQAAAAAAAAAFAQAAAAAAERGKAAAAIuyyXAAAAAAAAAAAAQAAAAAAAAAAGXapFEj6O7OW/AxDpb3qk2xFx0L2LRR+iKwAAAAAAAAAAw==",
"AERUOVp8Qb3e3bXkaDCWaL5qZc2CuiNf2bYdECD/L3IXWyRggLpkNQaF/jAtPXkPW7I4y2GZINRiMMhE8HmUSiMEAAMAAAGSdEsn3wAAAZJ12XqmAQAAAAAAAAAEAQAAAAAAERGKAAAAAACYloAAAAAAAAAAAQAAAAAAAAAAGXapFEj6O7OW/AxDpb3qk2xFx0L2LRR+iKwAAAAAAAAAAw==",
"AG6DMT1WjsfepIHQxn2l2EK6hUDBCySn8o46bEafO97lWyRggLpkNQaF/jAtPXkPW7I4y2GZINRiMMhE8HmUSiMEAAMAAAGSdEn98wAAAZJ12XqmAQAAAAAAAAADAQAAAAAAERGKAAAAAACYloAAAAAAAAAAAQAAAAAAAAAAGXapFEj6O7OW/AxDpb3qk2xFx0L2LRR+iKwAAAAAAAAAAw==",
"AMXvBAbPs4XHFB7f4dxqLYiu+/VGE6wqM4MsLeVd7sUtWyRggLpkNQaF/jAtPXkPW7I4y2GZINRiMMhE8HmUSiMEAAMAAAGScm9ExQAAAZJ12XqmAQAAAAAAAAACAQAAAAAAERGKAAAAAACYloAAAAAAAAAAAQAAAAAAAAAAGXapFMaaC9p9qq5IG+je+V5fNHodAKS0iKwAAAAAAAAAAw==",
"AG/KzuW7iPuYc1q5YGBhPIu0nnU8hv7CKO8N3TM7Jf7HWyRggLpkNQaF/jAtPXkPW7I4y2GZINRiMMhE8HmUSiMEAAMAAAGScmkcVwAAAZJ12XqmAQAAAAAAAAABAQAAAAAAERGKAAAAAACYloAAAAAAAAAAAQAAAAAAAAAAGXapFMaaC9p9qq5IG+je+V5fNHodAKS0iKwAAAAAAAAAAw=="
]
},
"metadata": {
"height": "107568",
"coreChainLockedHeight": 1204019,
"epoch": 5365,
"timeMs": "1740667877569",
"protocolVersion": 8,
"chainId": "dash-testnet-51"
}
}
}
Match [['transactionIndex', 'in', [0,1,2,3,4,5]], ['status', 'in', [0,1,2,3]]] and order [['status', 'desc'],['transactionIndex', 'desc']]
{
"error": "Max retries reached: drive error: query: multiple in clauses error: There should only be one in clause"
}
As result: order by works in desc only with match [['transactionIndex', 'in', [0,1,2,3,4,5]], ['status', '==', 3]]and order [['status', 'desc'],['transactionIndex', 'desc']].
If we want to get order by desc without strict rule for another index, it will not work, but we can get asc sorting in any case
I also noticed that when using an empty match, order by asc and then cutting off the document via startAfter, we will get an empty array, while with startAt everything will work fine
one line commands:
grpcurl -insecure -proto ./platform.proto -d '{"v0":{"data_contract_id":"NmK7YeF/rj6ilM9gMZf7CqttURgL2LYQTElEpi/i2X8=","document_type":"withdrawal","limit":5,"orderBy":"gYJwdHJhbnNhY3Rpb25JbmRleGNhc2M="}}' 127.0.0.1:1443 org.dash.platform.dapi.v0.Platform/getDocuments
grpcurl -insecure -proto ./platform.proto -d '{"v0":{"data_contract_id":"NmK7YeF/rj6ilM9gMZf7CqttURgL2LYQTElEpi/i2X8=","document_type":"withdrawal","limit":5,"orderBy":"gYJwdHJhbnNhY3Rpb25JbmRleGRkZXNj"}}' 127.0.0.1:1443 org.dash.platform.dapi.v0.Platform/getDocuments
grpcurl -insecure -proto ./platform.proto -d '{"v0":{"data_contract_id":"NmK7YeF/rj6ilM9gMZf7CqttURgL2LYQTElEpi/i2X8=","document_type":"withdrawal","limit":5,"where":"gYNmc3RhdHVzYj09Aw==","orderBy":"gYJwdHJhbnNhY3Rpb25JbmRleGRkZXNj"}}' 127.0.0.1:1443 org.dash.platform.dapi.v0.Platform/getDocuments
grpcurl -insecure -proto ./platform.proto -d '{"v0":{"data_contract_id":"NmK7YeF/rj6ilM9gMZf7CqttURgL2LYQTElEpi/i2X8=","document_type":"withdrawal","limit":5,"where":"goNwdHJhbnNhY3Rpb25JbmRleGJpboYAAQIDBAWDZnN0YXR1c2I+PQA=","orderBy":"goJmc3RhdHVzZGRlc2OCcHRyYW5zYWN0aW9uSW5kZXhkZGVzYw=="}}' 127.0.0.1:1443 org.dash.platform.dapi.v0.Platform/getDocuments
grpcurl -insecure -proto ./platform.proto -d '{"v0":{"data_contract_id":"NmK7YeF/rj6ilM9gMZf7CqttURgL2LYQTElEpi/i2X8=","document_type":"withdrawal","limit":5,"where":"goNwdHJhbnNhY3Rpb25JbmRleGJpboYAAQIDBAWDZnN0YXR1c2I9PQM=","orderBy":"goJmc3RhdHVzZGRlc2OCcHRyYW5zYWN0aW9uSW5kZXhkZGVzYw=="}}' 127.0.0.1:1443 org.dash.platform.dapi.v0.Platform/getDocuments
Hello! Our indexes work very similarly to other compound index implementations such as MongoDb or MySQL.
- You can't use second indexed field without using the first one
- You can do ranges only on the last field in you query
@shumkov Hm.. and how is this related to the fact that startAt works under any conditions, and startAfter returns an empty array with sorting enabled? I also didn't really understand how this is related to the fact that sorting in asc order works under almost any conditions, and in desc order only under strict equals, which I described at the very beginning of the issue?
I've been trying for months to make it clear to you that it doesn't work at all as described, but for some reason you persistently ignore it, and I get the impression that none of my bug reports have been read all the way through.
At the moment, any attempt to implement pagination on documents of the same withdrawals contract results in some crazy crutches and no normal sorting on documents by index. Is this how it should work?
About startAt and startAfter.
no sort startAt MV4xg8XPUXL87T1b8mnUC2S3tdPRHJUnjXuoxFHuBsY document id
grpcurl -insecure -proto ./platform.proto -d '{"v0":{"data_contract_id":"NmK7YeF/rj6ilM9gMZf7CqttURgL2LYQTElEpi/i2X8=","document_type":"withdrawal","limit":5,"startAt":"BT9aY3od7iaqcVxCgE2o4aTSVDZ9EDk15PVuAu3SOXs="}}' 127.0.0.1:1443 org.dash.platform.dapi.v0.Platform/getDocuments
{
"v0": {
"documents": {
"documents": [
"AAU/WmN6He4mqnFcQoBNqOGk0lQ2fRA5NeT1bgLt0jl7/2UOb6gicKPeEMeNobmLMssPiz1laS1UawlaaWjlKCMEAAMAAAGTDxhbYAAAAZMRW244AQAAAAAAAABgAQAAAAAAEVpFAAAAAAAEk+AAAAAAAAAAAQAAAAAAAAAAF6kUZP90nNjl3VyALTt3O28MuFHYlG2HAAAAAAAAAAM=",
"AAhUZgs62jkPwlQHtShlyJynPXDblwjFZt2XgcLBNOMkWyRggLpkNQaF/jAtPXkPW7I4y2GZINRiMMhE8HmUSiMEAAMAAAGSdIiUFgAAAZJ12XqmAQAAAAAAAAAMAQAAAAAAERGKAAAAHvdq8gAAAAAAAAAAAQAAAAAAAAAAGXapFMaaC9p9qq5IG+je+V5fNHodAKS0iKwAAAAAAAAAAw==",
"AAmt3Ck70+Q3v3JomoFQBvXSya6bch2UbCuh6qQ85Cot/GfIFdPFc0n4BYx1om8NoBBZFWaFOanM3Z5sK33PjIcEAAMAAAGTTeustAAAAZNN+fJMAQAAAAAAAACNAQAAAAAAEXZKAAAAAAAEk+AAAAAAAAAAAQAAAAAAAAAAF6kUq+vrzeDjUm8Z6lxS7vzYHcCLNoaHAAAAAAAAAAM=",
"AAsrj55k5WtyEVNWs2jePBpv+Z7C4Gb0DBvaUd0m6AVEhHUz3wc18cwBXRt/xD8Sx1RMihHvEEI6e+en1JJP9H8EAAMAAAGTH7/ehgAAAZMgVq5kAQAAAAAAAABpAQAAAAAAEWEjAAABAB0b+AAAAAAAAAAAAQAAAAAAAAAAGXapFPcXqd2G6vCLk+kvrFJuQwpIm0OziKwAAAAAAAAAAw==",
"AA6XY18E3Wjfc3eisk53zjhYgU0nInDO29Gl6En0sL1a/GfIFdPFc0n4BYx1om8NoBBZFWaFOanM3Z5sK33PjIcEAAMAAAGTTfcgGQAAAZNN+fJMAQAAAAAAAACXAQAAAAAAEXZKAAAAAAAEk+AAAAAAAAAAAQAAAAAAAAAAF6kU6f8VZObepIjyuzPx+1ut8ItE9muHAAAAAAAAAAM="
]
},
"metadata": {
"height": "108061",
"coreChainLockedHeight": 1204629,
"epoch": 5389,
"timeMs": "1740755545513",
"protocolVersion": 8,
"chainId": "dash-testnet-51"
}
}
}
documents ids:
- MV4xg8XPUXL87T1b8mnUC2S3tdPRHJUnjXuoxFHuBsY
- ZWuSXVGxS3HGx3WhAkzaGQa2iQ8C5VbL6iDrXs236X5
- enS45R5gSAXBJAb7aqCQCNcxPd3KYuiEHsEY9kT1tTW
- and others
startAfter
grpcurl -insecure -proto ./platform.proto -d '{"v0":{"data_contract_id":"NmK7YeF/rj6ilM9gMZf7CqttURgL2LYQTElEpi/i2X8=","document_type":"withdrawal","limit":5,"startAfter":"BT9aY3od7iaqcVxCgE2o4aTSVDZ9EDk15PVuAu3SOXs="}}' 127.0.0.1:1443 org.dash.platform.dapi.v0.Platform/getDocuments
{
"v0": {
"documents": {
"documents": [
"AAhUZgs62jkPwlQHtShlyJynPXDblwjFZt2XgcLBNOMkWyRggLpkNQaF/jAtPXkPW7I4y2GZINRiMMhE8HmUSiMEAAMAAAGSdIiUFgAAAZJ12XqmAQAAAAAAAAAMAQAAAAAAERGKAAAAHvdq8gAAAAAAAAAAAQAAAAAAAAAAGXapFMaaC9p9qq5IG+je+V5fNHodAKS0iKwAAAAAAAAAAw==",
"AAmt3Ck70+Q3v3JomoFQBvXSya6bch2UbCuh6qQ85Cot/GfIFdPFc0n4BYx1om8NoBBZFWaFOanM3Z5sK33PjIcEAAMAAAGTTeustAAAAZNN+fJMAQAAAAAAAACNAQAAAAAAEXZKAAAAAAAEk+AAAAAAAAAAAQAAAAAAAAAAF6kUq+vrzeDjUm8Z6lxS7vzYHcCLNoaHAAAAAAAAAAM=",
"AAsrj55k5WtyEVNWs2jePBpv+Z7C4Gb0DBvaUd0m6AVEhHUz3wc18cwBXRt/xD8Sx1RMihHvEEI6e+en1JJP9H8EAAMAAAGTH7/ehgAAAZMgVq5kAQAAAAAAAABpAQAAAAAAEWEjAAABAB0b+AAAAAAAAAAAAQAAAAAAAAAAGXapFPcXqd2G6vCLk+kvrFJuQwpIm0OziKwAAAAAAAAAAw==",
"AA6XY18E3Wjfc3eisk53zjhYgU0nInDO29Gl6En0sL1a/GfIFdPFc0n4BYx1om8NoBBZFWaFOanM3Z5sK33PjIcEAAMAAAGTTfcgGQAAAZNN+fJMAQAAAAAAAACXAQAAAAAAEXZKAAAAAAAEk+AAAAAAAAAAAQAAAAAAAAAAF6kU6f8VZObepIjyuzPx+1ut8ItE9muHAAAAAAAAAAM=",
"AA79nDSS05FiuLSfMQyuD4bBK67qEIpiMWpeDvhUAIgv/GfIFdPFc0n4BYx1om8NoBBZFWaFOanM3Z5sK33PjIcEAAMAAAGTTeustAAAAZNN+fJMAQAAAAAAAACOAQAAAAAAEXZKAAAAAAAEk+AAAAAAAAAAAQAAAAAAAAAAF6kU6pcUh1a44i9ncQ0gSMdV0kZJusCHAAAAAAAAAAM="
]
},
"metadata": {
"height": "108061",
"coreChainLockedHeight": 1204629,
"epoch": 5389,
"timeMs": "1740755545513",
"protocolVersion": 8,
"chainId": "dash-testnet-51"
}
}
}
documents ids:
- ZWuSXVGxS3HGx3WhAkzaGQa2iQ8C5VbL6iDrXs236X5
- enS45R5gSAXBJAb7aqCQCNcxPd3KYuiEHsEY9kT1tTW
- kc1bVgbqtu8TM6Qr2chWwxosmPiv2iJAJsqnqRUWqu5
- and others
sortBy transactionIndex asc startAt
grpcurl -insecure -proto ./platform.proto -d '{"v0":{"data_contract_id":"NmK7YeF/rj6ilM9gMZf7CqttURgL2LYQTElEpi/i2X8=","document_type":"withdrawal","limit":5,"orderBy":"gYJwdHJhbnNhY3Rpb25JbmRleGNhc2M=","startAt":"BT9aY3od7iaqcVxCgE2o4aTSVDZ9EDk15PVuAu3SOXs="}}' 127.0.0.1:1443 org.dash.platform.dapi.v0.Platform/getDocuments
{
"v0": {
"documents": {
"documents": [
"AAU/WmN6He4mqnFcQoBNqOGk0lQ2fRA5NeT1bgLt0jl7/2UOb6gicKPeEMeNobmLMssPiz1laS1UawlaaWjlKCMEAAMAAAGTDxhbYAAAAZMRW244AQAAAAAAAABgAQAAAAAAEVpFAAAAAAAEk+AAAAAAAAAAAQAAAAAAAAAAF6kUZP90nNjl3VyALTt3O28MuFHYlG2HAAAAAAAAAAM=",
"AB7lPInUZK6WeNBrCXuNkBIT5WmtYHhEe73gn3FvJf1I/2UOb6gicKPeEMeNobmLMssPiz1laS1UawlaaWjlKCMEAAMAAAGTFRAGXAAAAZMWcAIgAQAAAAAAAABhAQAAAAAAEVyWAAAAAAAEk+AAAAAAAAAAAQAAAAAAAAAAGXapFJRaGiEgxW9c900g7WKNtbUPckg0iKwAAAAAAAAAAw==",
"APS6mSZU0zJ1YFJE9WPBTyhhwxUmbyi90yh9M2YswZ6u/2UOb6gicKPeEMeNobmLMssPiz1laS1UawlaaWjlKCMEAAMAAAGTFRAtugAAAZMWcAIgAQAAAAAAAABiAQAAAAAAEVyWAAAAAAAEk+AAAAAAAAAAAQAAAAAAAAAAGXapFKSY6b2poVVY9Wjw/neTNqIV7jmBiKwAAAAAAAAAAw==",
"AG+0FTLxmEpGaRQ3/FbDIJvcZh353NU5G64YQ44Hr9lb/2UOb6gicKPeEMeNobmLMssPiz1laS1UawlaaWjlKCMEAAMAAAGTFRB7AwAAAZMWcAIgAQAAAAAAAABjAQAAAAAAEVyWAAAAAAAEk+AAAAAAAAAAAQAAAAAAAAAAF6kUHx8fwPPz1uXY2hB9lBQJy+Geu9CHAAAAAAAAAAM=",
"AK9jjYDxu72f00p6QEG2Fvo3rfvfDwtsb9QXeMa9pr/p/2UOb6gicKPeEMeNobmLMssPiz1laS1UawlaaWjlKCMEAAMAAAGTFRCiYAAAAZMWcAIgAQAAAAAAAABkAQAAAAAAEVyWAAAAAAAEk+AAAAAAAAAAAQAAAAAAAAAAGXapFAcnARxlhYAmDE4YqShTspSbeQ9KiKwAAAAAAAAAAw=="
]
},
"metadata": {
"height": "108061",
"coreChainLockedHeight": 1204629,
"epoch": 5389,
"timeMs": "1740755545513",
"protocolVersion": 8,
"chainId": "dash-testnet-51"
}
}
}
documents ids:
- MV4xg8XPUXL87T1b8mnUC2S3tdPRHJUnjXuoxFHuBsY
- 35byCAZcxkYoLwMGzYfDkNLqKL7HDz458gQf29kcTvPy
- HUKWPVA7Y5QrxKo61ozpYM2kdk5ViMrpUyLVSF6rA2ku
- and others
sortBy transactionIndex asc startAfter
grpcurl -insecure -proto ./platform.proto -d '{"v0":{"data_contract_id":"NmK7YeF/rj6ilM9gMZf7CqttURgL2LYQTElEpi/i2X8=","document_type":"withdrawal","limit":5,"orderBy":"gYJwdHJhbnNhY3Rpb25JbmRleGNhc2M=","startAfter":"BT9aY3od7iaqcVxCgE2o4aTSVDZ9EDk15PVuAu3SOXs="}}' 127.0.0.1:1443 org.dash.platform.dapi.v0.Platform/getDocuments
{
"v0": {
"documents": {},
"metadata": {
"height": "108062",
"coreChainLockedHeight": 1204631,
"epoch": 5389,
"timeMs": "1740755726772",
"protocolVersion": 8,
"chainId": "dash-testnet-51"
}
}
}
And that's still correct behavior?
The first one is not working as intended. It should work, I will look into why it isn't.