Skip to content

Base58 encoder/decode implemented (to replace com.github.multiformats:java-multibase:x.y.z)#69

Merged
vst-bit merged 3 commits intomainfrom
feat/base58-encoder-decoder-implementation
Mar 27, 2026
Merged

Base58 encoder/decode implemented (to replace com.github.multiformats:java-multibase:x.y.z)#69
vst-bit merged 3 commits intomainfrom
feat/base58-encoder-decoder-implementation

Conversation

@vst-bit
Copy link
Copy Markdown
Collaborator

@vst-bit vst-bit commented Mar 27, 2026

No description provided.

@vst-bit vst-bit requested a review from MarcelPfeuti as a code owner March 27, 2026 13:25
byte[] decoded = new byte[input.length()];
int outputStart = decoded.length;
for (int inputStart = zeros; inputStart < input58.length; ) {
decoded[--outputStart] = divmod(input58, inputStart, 58, 256);

Check warning

Code scanning / PMD

Avoid assignment to zeros in operand Warning

Avoid assignment to outputStart in operand
char[] encoded = new char[in.length * 2]; // upper bound
int outputStart = encoded.length;
for (int inputStart = zeros; inputStart < in.length; ) {
encoded[--outputStart] = ALPHABET[divmod(in, inputStart, 256, 58)];

Check warning

Code scanning / PMD

Avoid assignment to zeros in operand Warning

Avoid assignment to outputStart in operand
for (int inputStart = zeros; inputStart < in.length; ) {
encoded[--outputStart] = ALPHABET[divmod(in, inputStart, 256, 58)];
if (in[inputStart] == 0) {
++inputStart; // optimization - skip leading zeros

Check warning

Code scanning / PMD

Avoid reassigning the loop control variable 'inputStart' Warning

Avoid reassigning the loop control variable 'inputStart'
++outputStart;
}

while (--zeros >= 0) {

Check warning

Code scanning / PMD

Avoid assignment to zeros in operand Warning

Avoid assignment to zeros in operand
}

while (--zeros >= 0) {
encoded[--outputStart] = ENCODED_ZERO;

Check warning

Code scanning / PMD

Avoid assignment to zeros in operand Warning

Avoid assignment to outputStart in operand
for (int inputStart = zeros; inputStart < input58.length; ) {
decoded[--outputStart] = divmod(input58, inputStart, 58, 256);
if (input58[inputStart] == 0) {
++inputStart; // optimization - skip leading zeros

Check warning

Code scanning / PMD

Avoid reassigning the loop control variable 'inputStart' Warning

Avoid reassigning the loop control variable 'inputStart'
@vst-bit vst-bit removed the request for review from MarcelPfeuti March 27, 2026 14:47
@vst-bit vst-bit merged commit 093d7ee into main Mar 27, 2026
3 checks passed
@vst-bit vst-bit deleted the feat/base58-encoder-decoder-implementation branch March 27, 2026 14:48
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.

1 participant