Page MenuHomePhabricator

[ecash-coinselect] Support for slpv1 token send txs
AbandonedPublicDraft

Authored by bytesofman on Feb 21 2024, 22:18.

Details

Reviewers
None
Group Reviewers
Restricted Project
Summary

Modify ecash-coinselect to support slp v1 send txs

Test Plan

npm test

Diff Detail

Repository
rABC Bitcoin ABC
Branch
upgrade-slp-send
Lint
Lint Errors
SeverityLocationCodeMessage
Errorcashtab/src/slpv1/index.js:117ESLINTno-unused-vars
Errorcashtab/src/slpv1/index.js:117ESLINTno-unused-vars
Unit
No Test Coverage
Build Status
Buildable 27311
Build 54185: Build Diffcashtab-tests · ecash-coinselect
Build 54184: arc lint + arc unit

Event Timeline

Tail of the build log:

> ecash-coinselect@2.0.3 test
> mocha 'test/**/*.test.js' --reporter mocha-junit-reporter --reporter-options mochaFile=test_results/ecash-coinselect-junit.xml --reporter-options testsuitesTitle=Ecash Coinselect Unit Tests --reporter-options rootSuiteTitle=Ecash Coinselect


Error: Cannot find module 'slp-mdm'
Require stack:
- /work/modules/ecash-coinselect/src/tokenType1.js
- /work/modules/ecash-coinselect/test/tokenType1/index.test.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15)
    at Module._load (node:internal/modules/cjs/loader:985:27)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/work/modules/ecash-coinselect/src/tokenType1.js:6:138)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module.replacementCompile (/usr/lib/node_modules/nyc/node_modules/append-transform/index.js:60:13)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Object.<anonymous> (/usr/lib/node_modules/nyc/node_modules/append-transform/index.js:64:4)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/work/modules/ecash-coinselect/test/tokenType1/index.test.js:8:47)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module.replacementCompile (/usr/lib/node_modules/nyc/node_modules/append-transform/index.js:60:13)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Object.<anonymous> (/usr/lib/node_modules/nyc/node_modules/append-transform/index.js:64:4)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at cjsLoader (node:internal/modules/esm/translators:356:17)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:305:7)
    at ModuleJob.run (node:internal/modules/esm/module_job:218:25)
    at async ModuleLoader.import (node:internal/modules/esm/loader:329:24)
    at async importModuleDynamicallyWrapper (node:internal/vm/module:431:15)
    at async formattedImport (/work/modules/ecash-coinselect/node_modules/mocha/lib/nodejs/esm-utils.js:9:14)
    at async exports.requireOrImport (/work/modules/ecash-coinselect/node_modules/mocha/lib/nodejs/esm-utils.js:42:28)
    at async exports.loadFilesAsync (/work/modules/ecash-coinselect/node_modules/mocha/lib/nodejs/esm-utils.js:100:20)
    at async singleRun (/work/modules/ecash-coinselect/node_modules/mocha/lib/cli/run-helpers.js:125:3)
    at async exports.handler (/work/modules/ecash-coinselect/node_modules/mocha/lib/cli/run.js:370:5)
---------------|---------|----------|---------|---------|-------------------
File           | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
---------------|---------|----------|---------|---------|-------------------
All files      |   14.06 |     1.44 |    6.25 |   14.06 |                   
 byteCount.js  |   38.46 |     6.25 |      20 |   38.46 | 24-43,62-92       
 coinSelect.js |    14.7 |        0 |       0 |    14.7 | 13-84             
 tokenType1.js |    1.66 |        0 |       0 |    1.66 | 7-202             
 utils.js      |      25 |      100 |       0 |      25 | 14-38             
---------------|---------|----------|---------|---------|-------------------

##teamcity[blockOpened name='Code Coverage Summary']
##teamcity[buildStatisticValue key='CodeCoverageAbsBCovered' value='18']
##teamcity[buildStatisticValue key='CodeCoverageAbsBTotal' value='128']
##teamcity[buildStatisticValue key='CodeCoverageAbsRCovered' value='1']
##teamcity[buildStatisticValue key='CodeCoverageAbsRTotal' value='69']
##teamcity[buildStatisticValue key='CodeCoverageAbsMCovered' value='1']
##teamcity[buildStatisticValue key='CodeCoverageAbsMTotal' value='16']
##teamcity[buildStatisticValue key='CodeCoverageAbsLCovered' value='18']
##teamcity[buildStatisticValue key='CodeCoverageAbsLTotal' value='128']
##teamcity[blockClosed name='Code Coverage Summary']
mv: cannot stat 'test_results/ecash-coinselect-junit.xml': No such file or directory
Build ecash-coinselect failed with exit code 1

Tail of the build log:

> ecash-coinselect@2.0.3 test
> mocha 'test/**/*.test.js' --reporter mocha-junit-reporter --reporter-options mochaFile=test_results/ecash-coinselect-junit.xml --reporter-options testsuitesTitle=Ecash Coinselect Unit Tests --reporter-options rootSuiteTitle=Ecash Coinselect


Error: Cannot find module 'slp-mdm'
Require stack:
- /work/modules/ecash-coinselect/src/tokenType1.js
- /work/modules/ecash-coinselect/test/tokenType1/index.test.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15)
    at Module._load (node:internal/modules/cjs/loader:985:27)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/work/modules/ecash-coinselect/src/tokenType1.js:6:138)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module.replacementCompile (/usr/lib/node_modules/nyc/node_modules/append-transform/index.js:60:13)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Object.<anonymous> (/usr/lib/node_modules/nyc/node_modules/append-transform/index.js:64:4)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/work/modules/ecash-coinselect/test/tokenType1/index.test.js:8:47)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module.replacementCompile (/usr/lib/node_modules/nyc/node_modules/append-transform/index.js:60:13)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Object.<anonymous> (/usr/lib/node_modules/nyc/node_modules/append-transform/index.js:64:4)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at cjsLoader (node:internal/modules/esm/translators:356:17)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:305:7)
    at ModuleJob.run (node:internal/modules/esm/module_job:218:25)
    at async ModuleLoader.import (node:internal/modules/esm/loader:329:24)
    at async importModuleDynamicallyWrapper (node:internal/vm/module:431:15)
    at async formattedImport (/work/modules/ecash-coinselect/node_modules/mocha/lib/nodejs/esm-utils.js:9:14)
    at async exports.requireOrImport (/work/modules/ecash-coinselect/node_modules/mocha/lib/nodejs/esm-utils.js:42:28)
    at async exports.loadFilesAsync (/work/modules/ecash-coinselect/node_modules/mocha/lib/nodejs/esm-utils.js:100:20)
    at async singleRun (/work/modules/ecash-coinselect/node_modules/mocha/lib/cli/run-helpers.js:125:3)
    at async exports.handler (/work/modules/ecash-coinselect/node_modules/mocha/lib/cli/run.js:370:5)
---------------|---------|----------|---------|---------|-------------------
File           | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
---------------|---------|----------|---------|---------|-------------------
All files      |   14.06 |     1.44 |    6.25 |   14.06 |                   
 byteCount.js  |   38.46 |     6.25 |      20 |   38.46 | 24-43,62-92       
 coinSelect.js |    14.7 |        0 |       0 |    14.7 | 13-84             
 tokenType1.js |    1.66 |        0 |       0 |    1.66 | 7-202             
 utils.js      |      25 |      100 |       0 |      25 | 14-38             
---------------|---------|----------|---------|---------|-------------------

##teamcity[blockOpened name='Code Coverage Summary']
##teamcity[buildStatisticValue key='CodeCoverageAbsBCovered' value='18']
##teamcity[buildStatisticValue key='CodeCoverageAbsBTotal' value='128']
##teamcity[buildStatisticValue key='CodeCoverageAbsRCovered' value='1']
##teamcity[buildStatisticValue key='CodeCoverageAbsRTotal' value='69']
##teamcity[buildStatisticValue key='CodeCoverageAbsMCovered' value='1']
##teamcity[buildStatisticValue key='CodeCoverageAbsMTotal' value='16']
##teamcity[buildStatisticValue key='CodeCoverageAbsLCovered' value='18']
##teamcity[buildStatisticValue key='CodeCoverageAbsLTotal' value='128']
##teamcity[blockClosed name='Code Coverage Summary']
mv: cannot stat 'test_results/ecash-coinselect-junit.xml': No such file or directory
Build ecash-coinselect failed with exit code 1

Tail of the build log:

> ecash-coinselect@2.0.3 test
> mocha 'test/**/*.test.js' --reporter mocha-junit-reporter --reporter-options mochaFile=test_results/ecash-coinselect-junit.xml --reporter-options testsuitesTitle=Ecash Coinselect Unit Tests --reporter-options rootSuiteTitle=Ecash Coinselect


Error: Cannot find module 'slp-mdm'
Require stack:
- /work/modules/ecash-coinselect/src/tokenType1.js
- /work/modules/ecash-coinselect/test/tokenType1/index.test.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15)
    at Module._load (node:internal/modules/cjs/loader:985:27)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/work/modules/ecash-coinselect/src/tokenType1.js:6:138)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module.replacementCompile (/usr/lib/node_modules/nyc/node_modules/append-transform/index.js:60:13)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Object.<anonymous> (/usr/lib/node_modules/nyc/node_modules/append-transform/index.js:64:4)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/work/modules/ecash-coinselect/test/tokenType1/index.test.js:8:47)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module.replacementCompile (/usr/lib/node_modules/nyc/node_modules/append-transform/index.js:60:13)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Object.<anonymous> (/usr/lib/node_modules/nyc/node_modules/append-transform/index.js:64:4)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at cjsLoader (node:internal/modules/esm/translators:356:17)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:305:7)
    at ModuleJob.run (node:internal/modules/esm/module_job:218:25)
    at async ModuleLoader.import (node:internal/modules/esm/loader:329:24)
    at async importModuleDynamicallyWrapper (node:internal/vm/module:431:15)
    at async formattedImport (/work/modules/ecash-coinselect/node_modules/mocha/lib/nodejs/esm-utils.js:9:14)
    at async exports.requireOrImport (/work/modules/ecash-coinselect/node_modules/mocha/lib/nodejs/esm-utils.js:42:28)
    at async exports.loadFilesAsync (/work/modules/ecash-coinselect/node_modules/mocha/lib/nodejs/esm-utils.js:100:20)
    at async singleRun (/work/modules/ecash-coinselect/node_modules/mocha/lib/cli/run-helpers.js:125:3)
    at async exports.handler (/work/modules/ecash-coinselect/node_modules/mocha/lib/cli/run.js:370:5)
---------------|---------|----------|---------|---------|-------------------
File           | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
---------------|---------|----------|---------|---------|-------------------
All files      |   14.06 |     1.44 |    6.25 |   14.06 |                   
 byteCount.js  |   38.46 |     6.25 |      20 |   38.46 | 24-43,62-92       
 coinSelect.js |    14.7 |        0 |       0 |    14.7 | 13-84             
 tokenType1.js |    1.66 |        0 |       0 |    1.66 | 7-202             
 utils.js      |      25 |      100 |       0 |      25 | 14-38             
---------------|---------|----------|---------|---------|-------------------

##teamcity[blockOpened name='Code Coverage Summary']
##teamcity[buildStatisticValue key='CodeCoverageAbsBCovered' value='18']
##teamcity[buildStatisticValue key='CodeCoverageAbsBTotal' value='128']
##teamcity[buildStatisticValue key='CodeCoverageAbsRCovered' value='1']
##teamcity[buildStatisticValue key='CodeCoverageAbsRTotal' value='69']
##teamcity[buildStatisticValue key='CodeCoverageAbsMCovered' value='1']
##teamcity[buildStatisticValue key='CodeCoverageAbsMTotal' value='16']
##teamcity[buildStatisticValue key='CodeCoverageAbsLCovered' value='18']
##teamcity[buildStatisticValue key='CodeCoverageAbsLTotal' value='128']
##teamcity[blockClosed name='Code Coverage Summary']
mv: cannot stat 'test_results/ecash-coinselect-junit.xml': No such file or directory
Build ecash-coinselect failed with exit code 1

Update coinselect to accept tokenInputs as param

lib and cashtab can send etokens better

Tail of the build log:

/work/cashtab /work/abc-ci-builds/cashtab-tests
npm WARN deprecated rollup-plugin-terser@7.0.2: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser
npm WARN deprecated @babel/plugin-proposal-numeric-separator@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.
npm WARN deprecated @babel/plugin-proposal-nullish-coalescing-operator@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.
npm WARN deprecated @babel/plugin-proposal-private-methods@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.
npm WARN deprecated @babel/plugin-proposal-class-properties@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
npm WARN deprecated sourcemap-codec@1.4.8: Please use @jridgewell/sourcemap-codec instead
npm WARN deprecated stable@0.1.8: Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility
npm WARN deprecated @babel/plugin-proposal-private-property-in-object@7.21.11: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated @babel/plugin-proposal-optional-chaining@7.21.0: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
npm WARN deprecated workbox-cacheable-response@6.6.0: workbox-background-sync@6.6.0

added 1912 packages, and audited 1913 packages in 24s

263 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

> cashtab@1.1.33 build
> node scripts/build.js

Creating an optimized production build...
Failed to compile.

[eslint] 
src/components/Send/SendToken.js
  Line 33:10:  'sendToken' is defined but never used  no-unused-vars

Search for the keywords to learn more about each error.


Build cashtab-tests failed with exit code 1

we do not need changeaddress specified

this is messed up in git and I was unable to resolve with squash. superseded by D15519 and D15520