Page MenuHomePhabricator

[chronik] use custom jsonrpc error codes for application specific errors
ClosedPublic

Authored by PiRK on Tue, Dec 17, 19:57.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Maniphest Tasks
Restricted Maniphest Task
Commits
rABC387990ca0d72: [chronik] use custom jsonrpc error codes for application specific errors
Summary

These error messages and codes match the ones returned by fulcrum, to increase compatibility with existing clients.

Ref T3598
Depends on D17364

Test Plan

ninja check-functional

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

PiRK requested review of this revision.Tue, Dec 17, 19:57
PiRK planned changes to this revision.Tue, Dec 17, 20:02

i missed one

Tail of the build log:

  File "/work/abc-ci-builds/ecash-lib-integration-tests/test/functional/test_runner.py", line 361, in main
    os.makedirs(tmpdir)
  File "<frozen os>", line 225, in makedirs
FileExistsError: [Errno 17] File exists: '/work/abc-ci-builds/ecash-lib-integration-tests/test/tmp/test_runner_₿₵_🏃_20241217_200307'
Test runner completed with code 1
----------------------------|---------|----------|---------|---------|------------------------------
File                        | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s            
----------------------------|---------|----------|---------|---------|------------------------------
All files                   |   62.23 |     50.4 |   62.78 |   62.37 |                              
 ecash-lib                  |       0 |        0 |       0 |       0 |                              
  eslint.config.js          |       0 |        0 |       0 |       0 |                              
 ecash-lib/src              |   70.01 |     50.2 |   71.26 |    70.1 |                              
  consts.ts                 |       0 |      100 |     100 |       0 | 6-8                          
  ecc.ts                    |   57.14 |    83.33 |      40 |   57.14 | 23-31                        
  hash.ts                   |   88.88 |    83.33 |      80 |   88.88 | 14                           
  index.ts                  |       0 |        0 |       0 |       0 |                              
  indexBrowser.ts           |       0 |        0 |       0 |       0 |                              
  indexNodeJs.ts            |       0 |        0 |       0 |       0 |                              
  initBrowser.ts            |       0 |      100 |       0 |       0 | 11-13                        
  initNodeJs.ts             |     100 |      100 |     100 |     100 |                              
  op.ts                     |      40 |    44.44 |   66.66 |      40 | ...4,107,109,117-122,133-161 
  opcode.ts                 |     100 |    83.33 |     100 |     100 | 1                            
  script.ts                 |   52.63 |    38.09 |      60 |    50.9 | ...4-135,146,156,166,188-199 
  sigHashType.ts            |   78.94 |       44 |   85.71 |   78.94 | 26-38                        
  tx.ts                     |   93.47 |    79.16 |    90.9 |   93.18 | 123-125                      
  txBuilder.ts              |   81.72 |    58.62 |   85.71 |   81.11 | ...1,154,173-178,183,253-257 
  unsignedTx.ts             |   49.27 |    30.18 |      60 |   50.38 | ...1,279,287,312,320,326-329 
 ecash-lib/src/ffi          |   28.26 |    15.94 |   16.98 |   28.98 |                              
  ecash_lib_wasm_browser.js |       0 |        0 |       0 |       0 | 3-336                        
  ecash_lib_wasm_nodejs.js  |    61.9 |       55 |   39.13 |   62.75 | ...1,197-215,237,250-251,255 
 ecash-lib/src/io           |   59.55 |    60.29 |   70.58 |   58.77 |                              
  bytes.ts                  |     7.4 |    71.42 |    12.5 |     7.4 | 13-64                        
  hex.ts                    |   82.05 |     62.5 |      80 |   82.35 | 41-45,50,58                  
  int.ts                    |       0 |        0 |       0 |       0 |                              
  str.ts                    |   85.71 |    83.33 |   66.66 |   85.71 | 15                           
  varsize.ts                |      32 |    36.36 |   66.66 |      32 | 14-24,40-47                  
  writer.ts                 |       0 |        0 |       0 |       0 |                              
  writerbytes.ts            |   83.33 |    68.42 |     100 |   83.33 | 33,43,53,63,79               
  writerlength.ts           |     100 |    83.33 |     100 |     100 | 1                            
 ecash-lib/src/test         |   89.02 |    54.16 |   89.47 |   89.47 |                              
  testRunner.ts             |   89.02 |    54.16 |   89.47 |   89.47 | 73-75,88-89,112,123,166      
 ecash-lib/src/token        |   87.15 |    72.85 |   93.33 |   87.07 |                              
  alp.ts                    |   82.92 |    89.47 |   83.33 |   82.92 | 110-123,142                  
  common.ts                 |     100 |    83.33 |     100 |     100 | 1                            
  empp.ts                   |    92.3 |       75 |     100 |   91.66 | 12                           
  slp.ts                    |   89.74 |    62.16 |     100 |   89.74 | ...9,161,167,175,178,197,202 
----------------------------|---------|----------|---------|---------|------------------------------

##teamcity[blockOpened name='Code Coverage Summary']
##teamcity[buildStatisticValue key='CodeCoverageAbsBCovered' value='819']
##teamcity[buildStatisticValue key='CodeCoverageAbsBTotal' value='1316']
##teamcity[buildStatisticValue key='CodeCoverageAbsRCovered' value='249']
##teamcity[buildStatisticValue key='CodeCoverageAbsRTotal' value='494']
##teamcity[buildStatisticValue key='CodeCoverageAbsMCovered' value='140']
##teamcity[buildStatisticValue key='CodeCoverageAbsMTotal' value='223']
##teamcity[buildStatisticValue key='CodeCoverageAbsLCovered' value='799']
##teamcity[buildStatisticValue key='CodeCoverageAbsLTotal' value='1281']
##teamcity[blockClosed name='Code Coverage Summary']
mv: cannot stat 'test_results/ecash-lib-integration-tests-junit.xml': No such file or directory
Build ecash-lib-integration-tests failed with exit code 1

custom error code and test for wrong type for boolean arg

Unrelated. Looks like a permission error when creating a directory

20:03:09     File "/work/abc-ci-builds/ecash-lib-integration-tests/test/functional/test_runner.py", line 1094, in <module>
20:03:09       main()
20:03:09     File "/work/abc-ci-builds/ecash-lib-integration-tests/test/functional/test_runner.py", line 361, in main
20:03:09       os.makedirs(tmpdir)
20:03:09     File "<frozen os>", line 225, in makedirs
20:03:09     FileExistsError: [Errno 17] File exists: '/work/abc-ci-builds/ecash-lib-integration-tests/test/tmp/test_runner_₿₵_🏃_20241217_200307'
In D17366#394875, @PiRK wrote:

Unrelated. Looks like a permission error when creating a directory

20:03:09     File "/work/abc-ci-builds/ecash-lib-integration-tests/test/functional/test_runner.py", line 1094, in <module>
20:03:09       main()
20:03:09     File "/work/abc-ci-builds/ecash-lib-integration-tests/test/functional/test_runner.py", line 361, in main
20:03:09       os.makedirs(tmpdir)
20:03:09     File "<frozen os>", line 225, in makedirs
20:03:09     FileExistsError: [Errno 17] File exists: '/work/abc-ci-builds/ecash-lib-integration-tests/test/tmp/test_runner_₿₵_🏃_20241217_200307'

It's not the first time I see this, I need to figure this out

This revision is now accepted and ready to land.Tue, Dec 17, 20:51