2qx/unspent

Debugger link package/cli, upstream.

2qx opened this issue · 2 comments

2qx commented

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

2qx commented

Closed in upstream by mainnet-js 1.1.0