Create a standalone package to output debugger information as a Bitauth IDE template from either a failed transaction, or as an alternative to submitting the transaction.
Problem
With the advent of introspection, and the upcoming CashToken upgrade, debugging modern contracts has become increasingly difficult.
The meep
debugger command, output by CashScript, displays, but does not process ,contracts relying on input data.
See: gcash/meep#13 and discussion here: gcash/meep#11
Proposed solution
An alternate format for links currently output from CashScript that could act as a better bridge toward a more robust debugger, i.e. bitauth IDE.
This would involve a simple function to "translate" an encoded transaction and inputs to a template, enhanced for CashScript artifacts, that is also accessible outside of CashScript, via the command line.
The command would take an encoded transaction, with extra data, and output:
- A link to import a Bitauth IDE template, or
- Write the template as a json file.
Package Home
CashScript is currently a monorepo project with a separate package for the cashc
compiler cli. With it's solidity style language, CashScript may act as a landing zone for developers coming from more EVM style projects. A simple package integrated into CashScript could make this functionality "owned" by CashScript, and easily available to all users down stream.
In addition, bitauth is it's own cli project, although a WIP. It may also be useful as a small package within the bitauth org.
Unspent is also a monorepo, but is downstream of both CashScript and libauth.
See also:
see: https://github.com/bitauth/bitauth-ide/blob/2fe743dd8426fd6c3f0bfee013ee0f085ceaa4e2/src/editor/dialogs/import-export-dialog/ImportExportDialog.tsx#L193