Skip to content

remove decay ratio in assetIssue - #69

Merged
sean-liu55 merged 5 commits into
masterfrom
feature/add_token_freeze
May 15, 2018
Merged

remove decay ratio in assetIssue#69
sean-liu55 merged 5 commits into
masterfrom
feature/add_token_freeze

Conversation

@nanfengpo

Copy link
Copy Markdown
Contributor

remove decay ratio in assetIssue

@sean-liu55
sean-liu55 merged commit afe22cc into master May 15, 2018
zergweak pushed a commit that referenced this pull request Jul 6, 2018
@shydesky
shydesky deleted the feature/add_token_freeze branch November 14, 2019 07:04
gummy789j added a commit that referenced this pull request Aug 3, 2026
--create was ported from MultiSignService.createTransaction(), which has no
call site anywhere in the Java tree — dead code whose request shape had never
been validated by the service. Two things were wrong as a result.

The POST signature covered permission_name and tx_id, but the service signs
only sign_version/channel/secret_id/ts/uuid/address, so every --create was
rejected with 4000 Authentication failed. And the shape itself does not
exist: the service has no empty collection, and derives the starting weight
from the signature the transaction arrives with. Uploading unsigned raw_data
returns 20004 Error param.

--create now signs the transaction locally and submits it, which opens the
collection at 1 of N. The CLI surface is unchanged — it still takes the
unsigned hex a --build-only run produces — but it needs the master password
now, and the originator no longer signs a second time. signChecked() already
covers expiry, permission membership, and repeat signatures, so the manual
getSignWeight/approvals preamble is gone, along with the port's create() and
TronLinkCreateRequest.

Two related fixes:

- Service rejections carried only a numeric code, which cannot separate a bad
  signature (4000) from a bad parameter (20004) or a stale one (20305). The
  service's own wording now reaches error.details.providerMessage, stripped of
  control characters and bounded at 200 chars.

- One record that no longer reconciles with the chain used to fail the whole
  listing, which is the normal state of any account whose permission changed
  while an old transaction sat queued. Listing now marks such a record
  unverified, says why, and shows the rest of the page. It is never presented
  as chain-validated, its state column reads unverified rather than what the
  service claimed, and awaitingMySignature is forced false. Acting on one still
  refuses. "Could not check" is kept distinct from "checked and disagreed":
  a node outage propagates instead of reading as a clean page.

Also: once the threshold is met the service broadcasts the transaction itself,
so the receipt now says to confirm with tx info before broadcasting by hand.

Verified end to end on Nile: --create -> --sign -> on chain
(a480c8f6…5797, block #69,754,801). New tests are mutation-checked; the ten
mutants covering the routing, receipts, degradation boundary, and message
handling all fail the suite.

Bundles an unrelated in-flight refactor: KeypairWriter now takes a
{out}|{name} target so filesystem layout stays out of AddressService.
gummy789j added a commit that referenced this pull request Aug 5, 2026
--create was ported from MultiSignService.createTransaction(), which has no
call site anywhere in the Java tree — dead code whose request shape had never
been validated by the service. Two things were wrong as a result.

The POST signature covered permission_name and tx_id, but the service signs
only sign_version/channel/secret_id/ts/uuid/address, so every --create was
rejected with 4000 Authentication failed. And the shape itself does not
exist: the service has no empty collection, and derives the starting weight
from the signature the transaction arrives with. Uploading unsigned raw_data
returns 20004 Error param.

--create now signs the transaction locally and submits it, which opens the
collection at 1 of N. The CLI surface is unchanged — it still takes the
unsigned hex a --build-only run produces — but it needs the master password
now, and the originator no longer signs a second time. signChecked() already
covers expiry, permission membership, and repeat signatures, so the manual
getSignWeight/approvals preamble is gone, along with the port's create() and
TronLinkCreateRequest.

Two related fixes:

- Service rejections carried only a numeric code, which cannot separate a bad
  signature (4000) from a bad parameter (20004) or a stale one (20305). The
  service's own wording now reaches error.details.providerMessage, stripped of
  control characters and bounded at 200 chars.

- One record that no longer reconciles with the chain used to fail the whole
  listing, which is the normal state of any account whose permission changed
  while an old transaction sat queued. Listing now marks such a record
  unverified, says why, and shows the rest of the page. It is never presented
  as chain-validated, its state column reads unverified rather than what the
  service claimed, and awaitingMySignature is forced false. Acting on one still
  refuses. "Could not check" is kept distinct from "checked and disagreed":
  a node outage propagates instead of reading as a clean page.

Also: once the threshold is met the service broadcasts the transaction itself,
so the receipt now says to confirm with tx info before broadcasting by hand.

Verified end to end on Nile: --create -> --sign -> on chain
(a480c8f6…5797, block #69,754,801). New tests are mutation-checked; the ten
mutants covering the routing, receipts, degradation boundary, and message
handling all fail the suite.

Bundles an unrelated in-flight refactor: KeypairWriter now takes a
{out}|{name} target so filesystem layout stays out of AddressService.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants