Closed zyd82 closed 3 years ago
这个问题在v0.5.3-dev-20201228-2d55b2941a775a8c090b9039d57ef805dba3c516上也能重现。
另外在发送代币时,如果交易额小于1000,交易显示成功,但是余额也不发生变化,比如下面这个例子:
1、AAT7是一个decimals为6的全局代币,它的余额如下
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"Account": "jPdx7mG595P6CowtGYbxRkik9HdWUWtB2J",
"Balance": {
"currency": "AAT7",
"issuer": "jjjjjjjjjjjjjjjjjjjjjhoLvTp",
"value": "9199998999990799000"
},
"Hash": "0000000000000000000000000000000000000000000000000000000000000000",
"LedgerEntryType": "AccountRoot",
"Sequence": 20
}
}
2、发送如下交易请求,返回交易成功哈希
{
"jsonrpc": "2.0",
"method": "jt_sendTransaction",
"params": [
{
"from": "jPdx7mG595P6CowtGYbxRkik9HdWUWtB2J",
"secret": "shhquPeZm7uQ6Rvjrqn6L2cR6H33u",
"to": "js3MF5kQkTG6NBVj9HEiw9cFe4ckNvMYGg",
"value": "0.0001/AAT7"
}
],
"id": 1
}
{
"id": 1,
"jsonrpc": "2.0",
"result": [
{
"result": "1B4810EA411776B7F6CAAD8C8DB52D45C7228139D6576F5C9BA1540219219607"
}
]
}
3、通过交易哈希可以查询到交易成功的信息,但是余额并没有变化
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"TransactionType": "Payment",
"Flags": 2147483648,
"Account": "jPdx7mG595P6CowtGYbxRkik9HdWUWtB2J",
"Sequence": 19,
"Fee": "10",
"SigningPubKey": "034153EEBB406B3593AA7F31A4908E56ED820031DB87F4F2E868FB8E1686D5E1E3",
"TxnSignature": "3045022100874D5455E9C65D6E5883D8F2A36DE854FC8DAFD417A159466FADD6492C0C423702206996F02AEC52BC47B903B186F97617E769BC5FAA3992D992B354C3044F80414F",
"hash": "1B4810EA411776B7F6CAAD8C8DB52D45C7228139D6576F5C9BA1540219219607",
"Destination": "js3MF5kQkTG6NBVj9HEiw9cFe4ckNvMYGg",
"Amount": {
"value": "100",
"currency": "AAT7",
"issuer": "jjjjjjjjjjjjjjjjjjjjjhoLvTp"
},
"date": 662457205,
"inLedger": 48434,
"ledger_index": 48434,
"meta": {
"AffectedNodes": [
{
"ModifiedNode": {
"FinalFields": {
"Hash": "0000000000000000000000000000000000000000000000000000000000000000",
"Account": "jhCVwTcg5aYWMMdfDmwqYxBr5NMA1PDfyg",
"Sequence": 0,
"Balance": {
"value": "3400450",
"currency": "SWT",
"issuer": "jjjjjjjjjjjjjjjjjjjjjhoLvTp"
}
},
"LedgerEntryType": "AccountRoot",
"PreviousFields": {
"Hash": "0000000000000000000000000000000000000000000000000000000000000000",
"Account": "jhCVwTcg5aYWMMdfDmwqYxBr5NMA1PDfyg",
"Sequence": 0,
"Balance": {
"value": "3400440",
"currency": "SWT",
"issuer": "jjjjjjjjjjjjjjjjjjjjjhoLvTp"
}
}
}
},
{
"ModifiedNode": {
"FinalFields": {
"Hash": "0000000000000000000000000000000000000000000000000000000000000000",
"Account": "jPdx7mG595P6CowtGYbxRkik9HdWUWtB2J",
"Sequence": 19,
"Balance": {
"value": "999810",
"currency": "SWT",
"issuer": "jjjjjjjjjjjjjjjjjjjjjhoLvTp"
}
},
"LedgerEntryType": "AccountRoot",
"PreviousFields": {
"Hash": "0000000000000000000000000000000000000000000000000000000000000000",
"Account": "jPdx7mG595P6CowtGYbxRkik9HdWUWtB2J",
"Sequence": 18,
"Balance": {
"value": "999820",
"currency": "SWT",
"issuer": "jjjjjjjjjjjjjjjjjjjjjhoLvTp"
}
}
}
},
{
"ModifiedNode": {
"FinalFields": {
"Hash": "0000000000000000000000000000000000000000000000000000000000000000",
"Account": "jPdx7mG595P6CowtGYbxRkik9HdWUWtB2J",
"Sequence": 19,
"Balance": {
"value": "9199998999990799000",
"currency": "AAT7",
"issuer": "jjjjjjjjjjjjjjjjjjjjjhoLvTp"
}
},
"LedgerEntryType": "AccountRoot",
"PreviousFields": {
"Hash": "0000000000000000000000000000000000000000000000000000000000000000",
"Account": "jPdx7mG595P6CowtGYbxRkik9HdWUWtB2J",
"Sequence": 18,
"Balance": {
"value": "9199998999990799000",
"currency": "AAT7",
"issuer": "jjjjjjjjjjjjjjjjjjjjjhoLvTp"
}
}
}
},
{
"ModifiedNode": {
"FinalFields": {
"Hash": "0000000000000000000000000000000000000000000000000000000000000000",
"Account": "js3MF5kQkTG6NBVj9HEiw9cFe4ckNvMYGg",
"Sequence": 0,
"Balance": {
"value": "1000000001201",
"currency": "AAT7",
"issuer": "jjjjjjjjjjjjjjjjjjjjjhoLvTp"
}
},
"LedgerEntryType": "AccountRoot",
"PreviousFields": {
"Hash": "0000000000000000000000000000000000000000000000000000000000000000",
"Account": "js3MF5kQkTG6NBVj9HEiw9cFe4ckNvMYGg",
"Sequence": 0,
"Balance": {
"value": "1000000001101",
"currency": "AAT7",
"issuer": "jjjjjjjjjjjjjjjjjjjjjhoLvTp"
}
}
}
}
],
"TransactionIndex": 0,
"TransactionResult": "tesSUCCESS"
}
}
}
这个bug是因为之前可以发行超过最大量(6位小数,9万亿)的问题导致的,现在这个问题已经修复,当前bug应该也相应修复,可以在下一个build验证下
v0.5.3-dev-20201231-72973ab08899c404ac4998f2e79c8b5fac0e199e版本验证通过。
测试版本:v0.5.3-dev-20201223-c6da505c43c4adaf54df46aa26d97c96ed095d34 测试用例:jt_sendTransaction_000410
1、EET9是一个原先总量为9200000000000000000的可销毁的代币,用如下请求尝试销毁100个代币,返回交易成功的哈希
2、通过查询交易哈希可以看到销毁交易应该是成功的
3、但是jt_getBalance查询发现余额并没有变化
如果销毁量改为"-1000"就可以看到余额成功变化。目前试下来只要销毁量小于1000好像都有这个问题。