Hi!
I'm using TONAPI liteserver method to receive the transactions inside the block. But TONAPI server does not return requested information on transactions. No hash, account_id or lt is returned, even though they should according to the mode I'm passing.
As an example, I try to request transactions with following params:
block_id=(0,8000000000000000,43193281,929ae484e160776f4e76ad0e068d94eab779ea87b9f83c9972601ffbe076c2aa,bf22bc01ecd365f0fe849322e56c055cdbaa6522bd4cec4ac8c4fe31a4570269)
mode=39
count=5
I tried with many different libs, but below is the example curl
request to eliminate any possible library issues:
curl -X 'GET' \
'https://tonapi.io/v2/liteserver/list_block_transactions/%280%2C8000000000000000%2C43193281%2C929ae484e160776f4e76ad0e068d94eab779ea87b9f83c9972601ffbe076c2aa%2Cbf22bc01ecd365f0fe849322e56c055cdbaa6522bd4cec4ac8c4fe31a4570269%29?mode=39&count=5' \
-H 'accept: application/json'
The answer is
{
"id": {
"workchain": 0,
"shard": "8000000000000000",
"seqno": 43193281,
"root_hash": "929ae484e160776f4e76ad0e068d94eab779ea87b9f83c9972601ffbe076c2aa",
"file_hash": "bf22bc01ecd365f0fe849322e56c055cdbaa6522bd4cec4ac8c4fe31a4570269"
},
"req_count": 5,
"incomplete": true,
"ids": [
{
"mode": 39
},
{
"mode": 39
},
{
"mode": 39
},
{
"mode": 39
},
{
"mode": 39
}
],
"proof": "b5ee9c7201022b0100060200094603929ae484e160776f4e76ad0e068d94eab779ea87b9f83c9972601ffbe076c2aa002601241011ef55aaffffff11020304052848010129bf2934715efb46d1d4c1c701081e4c0dfab6d5a8fdd0e54661d874155979de0001284801017f8877d71799609cd5bcc1c170a99b99fc1c6b7841d6a3b9e2887f7caed132aa000328480101dd91083e470b31f42d99ae90c0341a374c9b56a4ad9f4fc99ae397921aefc093002523894a33f6fd5bda5ab96c5d18cacfbe93f45fb580750837ab1b98de065d8b073d8e000c891f2a55b64aca0b8f0cbe801a926ef47fe1601905a6d58e9b5220a7f448d6a1705e4006070828480101f3cd7a685736b37b7a702ff8a34eae6ee488c3f36481067cafb7d1064307bb7e001a284801011e2e5b06c6514abce64d35b860e36a09c1b42fc6b15ab15f67e228e7b5265379001b2109a1e97d5c3209220910f4beae190a0b22091085e1d64d0c0d28480101fb684824dc3690afb8c1e62a362759293ab402eb899b9af1eb138b1b694e3b7800172209103d1b73cd0e0f284801015043b7c02193401fe936a3dad69b2cdda103d48ac0124d380c8ce650de017095001b22091024e4391d10112848010148d10c4393d5519caaad5a4b72e407e07f12a6edba6b90d1e6df2232bdef109300162209100d2ff455121328480101dd3b884ec91b9e53646e007ae6fc3a15824bd98e27d2e158e6e483e4d71ce43b001522091005c584c5141528480101805b87606b523f9483debcc6d274f4021a0e640ee1d0919e8d5f3161d1ee12d2000f22070ec59ab11617284801017946d05c1e25ce07515d127374b562003cb22c892326419af7d5d475ed04afb900122209535b532540181922070d584e1d252623a1bdc2cd3c4ce52d3c209b75ff7908bb185c2887d970f483edef2ea0e935ce261c194975114041669e2672969e104dbaffbc845d8c2e1443ecb87a41f6f79750749ae7130e27a000053e3df1e8183292ea241a1b1c220943322483401f20210964c8c88c901d2109f1830638201e0082722cda7f58bde0cc6dcc9c9ac00c944c7a6ad8c4677ecd916fda79d889777d8041cf3b668209e853e79db98db8b0960049aae841c0c919a2b053a377814432005c28480101da239b1e123e65db373e47b0cf5e56ac73d2c05783b741d810984b24a4152f670004284801016a5d723c593f47bd52d5b5851c5f8672e4be7d64e61e48c18d0ef1a710ef36f6000222a1bd79d327bd9dd6f5ced36514562d12880473e61bb6149f89caf34e32e2f22f5e66310845019ce993deceeb7ae769b28a2b1689440239f30ddb0a4fc4e579a719717917afa0000014f8f7c7a076998c42122122229dbd5ecaaa8382899a1acf6e1c28d174b5467ba3ce6afca53661ef2edc421e8d4a53882501af655541c144cd0d67b70e1468ba5aa33dd1e7357e529b30f7976e210f46a5a0000014f8f7c7a06194e20a232428480101b6efcbd76d790ce3ebc45188de4f82913c0b1ca1a1ff15a95f96ee72b3ee99d3000b0082723812ac3a0f157795519cf6178a1e05f2b1e5f56a985aa4aa5df2ca299490b30953731f9d3b4bd81b89f1be79322782a8c33089560372a5da410d20805efeedfe2848010127f36f68d4a5ba500c43e824a5006275093166191acaef04166b9a4c149143700003008272e6c4fd0af66fae14ea35080746ceb5061997e2a788e7a972b4300a929676957f555755d89092552353d2ef518667e85c0e8d239568ee8a148b0472a8a0643c4823a1be33b271dd51c7d6ef43cb69e15bef037543df9ab28e5e69d3e83929052343658ca54afca059d938eea8e3eb77a1e5b4f0adf781baa1efcd59472f34e9f41c948291a1b2d3c000029f1ef8f40c32952bf427282928480101f40d945933cf255c7a9d76f4ded04ce5c1e7ee874756be6754d643f5962417bf00072109b26468c9e82a28480101a4404c977e2746c4fe56d52fd9beded3a3c26962e8be2b15e58f4c779aeb5a7c0004008272a7a50828def754795f152d791653b1ff1a7108506eb0e4c9b9ae04584ffc8f4a595fce62a2476db6076aabe80d721df08aa862a9d6643db9e652b61b5fc4e6ef2848010115b372a130bc864bb3405f34c470a5d318cffd3272b95c60e8164bbe1c7e7cad0004"
}
If I make exactly the same request to public liteservers, e.g., using pytoniq
from pytoniq.liteclient import LiteClient
provider_client = LiteClient.from_mainnet_config()
await provider_client.connect()
await provider_client.reconnect()
data = {
'id': {
'workchain': 0,
'shard': -9223372036854775808, # equivalent to un-hexed "8000000000000000"
'seqno': 43193281,
'root_hash': '929ae484e160776f4e76ad0e068d94eab779ea87b9f83c9972601ffbe076c2aa',
'file_hash': 'bf22bc01ecd365f0fe849322e56c055cdbaa6522bd4cec4ac8c4fe31a4570269',
},
'mode': 39,
'count': 5,
}
res_public = await provider_client.liteserver_request('listBlockTransactions', data)
print(res_public)
Then I get the following output:
{'@type': 'liteServer.blockTransactions',
'id': {'workchain': 0,
'shard': -9223372036854775808,
'seqno': 43193281,
'root_hash': '929ae484e160776f4e76ad0e068d94eab779ea87b9f83c9972601ffbe076c2aa',
'file_hash': 'bf22bc01ecd365f0fe849322e56c055cdbaa6522bd4cec4ac8c4fe31a4570269',
'@type': 'tonNode.blockIdExt'},
'req_count': 5,
'incomplete': True,
'ids': [{'mode': 39,
'account': '01059a7899ca5a784136ebfef2117630b8510fb2e1e907dbde5d41d26b9c4c38',
'lt': 46119083000001,
'hash': 'da239b1e123e65db373e47b0cf5e56ac73d2c05783b741d810984b24a4152f67'},
{'mode': 39,
'account': '01059a7899ca5a784136ebfef2117630b8510fb2e1e907dbde5d41d26b9c4c38',
'lt': 46119083000007,
'hash': '6a5d723c593f47bd52d5b5851c5f8672e4be7d64e61e48c18d0ef1a710ef36f6'},
{'mode': 39,
'account': '019ce993deceeb7ae769b28a2b1689440239f30ddb0a4fc4e579a719717917af',
'lt': 46119083000045,
'hash': 'b6efcbd76d790ce3ebc45188de4f82913c0b1ca1a1ff15a95f96ee72b3ee99d3'},
{'mode': 39,
'account': '01af655541c144cd0d67b70e1468ba5aa33dd1e7357e529b30f7976e210f46a5',
'lt': 46119083000003,
'hash': '27f36f68d4a5ba500c43e824a5006275093166191acaef04166b9a4c14914370'},
{'mode': 39,
'account': '02cec9c775471f5bbd0f2da7856fbc0dd50f7e6aca3979a74fa0e4a4148d0d96',
'lt': 46119083000001,
'hash': '15b372a130bc864bb3405f34c470a5d318cffd3272b95c60e8164bbe1c7e7cad'}],
'proof': b'\xb5\xee\x9cr\x01\x02+\x01\x00\x06\x02\x00\tF\x03\x92\x9a\xe4\x84\xe1`woNv\xad\x0e\x06\x8d\x94\xea\xb7y\xea\x87\xb9\xf8<\x99r`\x1f\xfb\xe0v\xc2\xaa\x00&\x01$\x10\x11\xefU\xaa\xff\xff\xff\x11\x02\x03\x04\x05(H\x01\x01)\xbf)4q^\xfbF\xd1\xd4\xc1\xc7\x01\x08\x1eL\r\xfa\xb6\xd5\xa8\xfd\xd0\xe5Fa\xd8t\x15Yy\xde\x00\x01(H\x01\x01\x7f\x88w\xd7\x17\x99`\x9c\xd5\xbc\xc1\xc1p\xa9\x9b\x99\xfc\x1ckxA\xd6\xa3\xb9\xe2\x88\x7f|\xae\xd12\xaa\x00\x03(H\x01\x01\xdd\x91\x08>G\x0b1\xf4-\x99\xae\x90\xc04\x1a7L\x9bV\xa4\xad\x9fO\xc9\x9a\xe3\x97\x92\x1a\xef\xc0\x93\x00%#\x89J3\xf6\xfd[\xdaZ\xb9l]\x18\xca\xcf\xbe\x93\xf4_\xb5\x80u\x087\xab\x1b\x98\xde\x06]\x8b\x07=\x8e\x00\x0c\x89\x1f*U\xb6J\xca\x0b\x8f\x0c\xbe\x80\x1a\x92n\xf4\x7f\xe1`\x19\x05\xa6\xd5\x8e\x9bR \xa7\xf4H\xd6\xa1p^@\x06\x07\x08(H\x01\x01\xf3\xcdzhW6\xb3{zp/\xf8\xa3N\xaen\xe4\x88\xc3\xf3d\x81\x06|\xaf\xb7\xd1\x06C\x07\xbb~\x00\x1a(H\x01\x01\x1e.[\x06\xc6QJ\xbc\xe6M5\xb8`\xe3j\t\xc1\xb4/\xc6\xb1Z\xb1_g\xe2(\xe7\xb5&Sy\x00\x1b!\t\xa1\xe9}\\2\t"\t\x10\xf4\xbe\xae\x19\n\x0b"\t\x10\x85\xe1\xd6M\x0c\r(H\x01\x01\xfbhH$\xdc6\x90\xaf\xb8\xc1\xe6*6\'Y):\xb4\x02\xeb\x89\x9b\x9a\xf1\xeb\x13\x8b\x1biN;x\x00\x17"\t\x10=\x1bs\xcd\x0e\x0f(H\x01\x01PC\xb7\xc0!\x93@\x1f\xe96\xa3\xda\xd6\x9b,\xdd\xa1\x03\xd4\x8a\xc0\x12M8\x0c\x8c\xe6P\xde\x01p\x95\x00\x1b"\t\x10$\xe49\x1d\x10\x11(H\x01\x01H\xd1\x0cC\x93\xd5Q\x9c\xaa\xadZKr\xe4\x07\xe0\x7f\x12\xa6\xed\xbak\x90\xd1\xe6\xdf"2\xbd\xef\x10\x93\x00\x16"\t\x10\r/\xf4U\x12\x13(H\x01\x01\xdd;\x88N\xc9\x1b\x9eSdn\x00z\xe6\xfc:\x15\x82K\xd9\x8e\'\xd2\xe1X\xe6\xe4\x83\xe4\xd7\x1c\xe4;\x00\x15"\t\x10\x05\xc5\x84\xc5\x14\x15(H\x01\x01\x80[\x87`kR?\x94\x83\xde\xbc\xc6\xd2t\xf4\x02\x1a\x0ed\x0e\xe1\xd0\x91\x9e\x8d_1a\xd1\xee\x12\xd2\x00\x0f"\x07\x0e\xc5\x9a\xb1\x16\x17(H\x01\x01yF\xd0\\\x1e%\xce\x07Q]\x12st\xb5b\x00<\xb2,\x89#&A\x9a\xf7\xd5\xd4u\xed\x04\xaf\xb9\x00\x12"\tS[S%@\x18\x19"\x07\rXN\x1d%&#\xa1\xbd\xc2\xcd<L\xe5-< \x9bu\xffy\x08\xbb\x18\\(\x87\xd9p\xf4\x83\xed\xef.\xa0\xe95\xce&\x1c\x19Iu\x11@Af\x9e&r\x96\x9e\x10M\xba\xff\xbc\x84]\x8c.\x14C\xec\xb8zA\xf6\xf7\x97Pt\x9a\xe7\x13\x0e\'\xa0\x00\x05>=\xf1\xe8\x182\x92\xea$\x1a\x1b\x1c"\tC2$\x83@\x1f !\td\xc8\xc8\x8c\x90\x1d!\t\xf1\x83\x068 \x1e\x00\x82r,\xda\x7fX\xbd\xe0\xccm\xcc\x9c\x9a\xc0\x0c\x94Lzj\xd8\xc4g~\xcd\x91o\xday\xd8\x89w}\x80A\xcf;f\x82\t\xe8S\xe7\x9d\xb9\x8d\xb8\xb0\x96\x00I\xaa\xe8A\xc0\xc9\x19\xa2\xb0S\xa3w\x81D2\x00\\(H\x01\x01\xda#\x9b\x1e\x12>e\xdb7>G\xb0\xcf^V\xacs\xd2\xc0W\x83\xb7A\xd8\x10\x98K$\xa4\x15/g\x00\x04(H\x01\x01j]r<Y?G\xbdR\xd5\xb5\x85\x1c_\x86r\xe4\xbe}d\xe6\x1eH\xc1\x8d\x0e\xf1\xa7\x10\xef6\xf6\x00\x02"\xa1\xbdy\xd3\'\xbd\x9d\xd6\xf5\xce\xd3e\x14V-\x12\x88\x04s\xe6\x1b\xb6\x14\x9f\x89\xca\xf3N2\xe2\xf2/^f1\x08E\x01\x9c\xe9\x93\xde\xce\xebz\xe7i\xb2\x8a+\x16\x89D\x029\xf3\r\xdb\nO\xc4\xe5y\xa7\x19qy\x17\xaf\xa0\x00\x00\x14\xf8\xf7\xc7\xa0v\x99\x8cB\x12!""\x9d\xbd^\xca\xaa\x83\x82\x89\x9a\x1a\xcfn\x1c(\xd1t\xb5F{\xa3\xcej\xfc\xa56a\xef.\xdcB\x1e\x8dJS\x88%\x01\xafeUA\xc1D\xcd\rg\xb7\x0e\x14h\xbaZ\xa3=\xd1\xe75~R\x9b0\xf7\x97n!\x0fF\xa5\xa0\x00\x00\x14\xf8\xf7\xc7\xa0a\x94\xe2\n#$(H\x01\x01\xb6\xef\xcb\xd7my\x0c\xe3\xeb\xc4Q\x88\xdeO\x82\x91<\x0b\x1c\xa1\xa1\xff\x15\xa9_\x96\xeer\xb3\xee\x99\xd3\x00\x0b\x00\x82r8\x12\xac:\x0f\x15w\x95Q\x9c\xf6\x17\x8a\x1e\x05\xf2\xb1\xe5\xf5j\x98Z\xa4\xaa]\xf2\xca)\x94\x90\xb3\tSs\x1f\x9d;K\xd8\x1b\x89\xf1\xbey2\'\x82\xa8\xc30\x89V\x03r\xa5\xdaA\r \x80^\xfe\xed\xfe(H\x01\x01\'\xf3oh\xd4\xa5\xbaP\x0cC\xe8$\xa5\x00bu\t1f\x19\x1a\xca\xef\x04\x16k\x9aL\x14\x91Cp\x00\x03\x00\x82r\xe6\xc4\xfd\n\xf6o\xae\x14\xea5\x08\x07F\xce\xb5\x06\x19\x97\xe2\xa7\x88\xe7\xa9r\xb40\n\x92\x96v\x95\x7fUWU\xd8\x90\x92U#S\xd2\xefQ\x86g\xe8\\\x0e\x8d#\x95h\xee\x8a\x14\x8b\x04r\xa8\xa0d<H#\xa1\xbe3\xb2q\xddQ\xc7\xd6\xefC\xcbi\xe1[\xef\x03uC\xdf\x9a\xb2\x8e^i\xd3\xe89)\x05#Ce\x8c\xa5J\xfc\xa0Y\xd98\xee\xa8\xe3\xebw\xa1\xe5\xb4\xf0\xad\xf7\x81\xba\xa1\xef\xcdYG/4\xe9\xf4\x1c\x94\x82\x91\xa1\xb2\xd3\xc0\x00\x02\x9f\x1e\xf8\xf4\x0c2\x95+\xf4\'()(H\x01\x01\xf4\r\x94Y3\xcf%\\z\x9dv\xf4\xde\xd0L\xe5\xc1\xe7\xee\x87GV\xbegT\xd6C\xf5\x96$\x17\xbf\x00\x07!\t\xb2dh\xc9\xe8*(H\x01\x01\xa4@L\x97~\'F\xc4\xfeV\xd5/\xd9\xbe\xde\xd3\xa3\xc2ib\xe8\xbe+\x15\xe5\x8fLw\x9a\xebZ|\x00\x04\x00\x82r\xa7\xa5\x08(\xde\xf7Ty_\x15-y\x16S\xb1\xff\x1aq\x08Pn\xb0\xe4\xc9\xb9\xae\x04XO\xfc\x8fJY_\xceb\xa2Gm\xb6\x07j\xab\xe8\rr\x1d\xf0\x8a\xa8b\xa9\xd6d=\xb9\xe6R\xb6\x1b_\xc4\xe6\xef(H\x01\x01\x15\xb3r\xa10\xbc\x86K\xb3@_4\xc4p\xa5\xd3\x18\xcf\xfd2r\xb9\\`\xe8\x16K\xbe\x1c~|\xad\x00\x04'}
As one can see, tx hashes, accounts and lts are present. Moreover, the proofs are exactly the same between public liteservers and TONAPI. Which means that internally the data are correct on the TONAPI side.
But for some reason TONAPI call does not return necessary tx details.
I would be very grateful if someone (@zakhar-petukhov @mr-tron @aleksej-paschenko ) can help/share the experience on this issue as this is pretty critical for my use-case.