Skip to content

Comments

statechanges table: Change TokenID to BYTEA#509

Open
aditya1702 wants to merge 12 commits intoopxdr-bytea-2from
tokenid-bytea
Open

statechanges table: Change TokenID to BYTEA#509
aditya1702 wants to merge 12 commits intoopxdr-bytea-2from
tokenid-bytea

Conversation

@aditya1702
Copy link
Contributor

@aditya1702 aditya1702 commented Feb 21, 2026

What

Change the TokenID column to BYTEA

Why

Storage optimization

Known limitations

N/A

Issue that this PR addresses

Closes #496

Brings token_id storage in line with all other address columns that
already use BYTEA.  Not in production so the migration is modified
directly.
Matches the BYTEA column type in the migration and is consistent with
all other address fields in the struct.
WithToken now uses utils.NullAddressBytea and generateSortKey uses
the String() method instead of the .String field.
Matches the NullAddressBytea type change for TokenID.
BatchInsert: use []byte slice and bytea[] SQL cast instead of text[].
BatchCopy: convert TokenID via pgtypeBytesFromNullAddressBytea instead
of pgtypeTextFromNullString.
Use resolveNullableAddress for nullable TokenID fields and inline
String() for the required StandardBalanceChange.tokenId field.
Use a valid Stellar contract address instead of a plain string.
Replace sql.NullString with NullAddressBytea using valid Stellar
addresses in generateTestStateChanges, BatchInsert, and BatchCopy tests.
Use .String() method instead of .String field access.
Use utils.NullAddressBytea instead of utils.SQLNullString for TokenID
assertion.
Use .String() method instead of .String field access.
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