Skip to content

Conversation

@nvrakesh06
Copy link
Contributor

TICKET: WIN-8479

@nvrakesh06 nvrakesh06 force-pushed the WIN-8479 branch 3 times, most recently from db9c1c3 to 6d25ce9 Compare January 2, 2026 05:16
@nvrakesh06 nvrakesh06 marked this pull request as ready for review January 2, 2026 05:32
@nvrakesh06 nvrakesh06 requested review from a team as code owners January 2, 2026 05:33
@mohd-kashif mohd-kashif requested a review from Copilot January 2, 2026 05:36
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds TIP-20 token transaction builder functionality to the Tempo SDK, enabling developers to construct and sign token transfer transactions on the Tempo blockchain with Account Abstraction support.

Key changes:

  • Implements Tip20TransactionBuilder for creating single and batch TIP-20 token transfers with optional memo fields
  • Adds viem integration for Ethereum-compatible address validation and transaction encoding
  • Extends Tip20Token class with complete implementations of verifyCoin, getSendMethodArgs, getOperation, and queryAddressTokenBalance methods

Reviewed changes

Copilot reviewed 12 out of 13 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
yarn.lock Adds viem@^2.21.0 and dependencies ([email protected], [email protected]) for Ethereum-compatible operations
modules/sdk-coin-tempo/package.json Declares viem@^2.21.0 as a dependency
modules/sdk-coin-tempo/src/lib/constants.ts Adds TIP-20 constants including 6-decimal precision, chain IDs, and AA transaction type (0x76)
modules/sdk-coin-tempo/src/lib/types.ts Defines Tip20Operation interface for transfer operations with optional memo support
modules/sdk-coin-tempo/src/lib/utils.ts Implements TIP-20 utility functions for amount conversion, memo encoding, and validation using viem
modules/sdk-coin-tempo/src/lib/tip20Abi.ts Defines TIP-20 token ABI including transferWithMemo function signature
modules/sdk-coin-tempo/src/lib/transactionBuilder.ts Implements transaction builder with fluent API for constructing TIP-20 transactions
modules/sdk-coin-tempo/src/lib/transaction.ts Implements Tip20Transaction class representing AA transactions with batch operation support
modules/sdk-coin-tempo/src/lib/index.ts Exports new types, builder, and transaction classes
modules/sdk-coin-tempo/src/tip20Token.ts Completes token class implementation with actual validation and encoding logic
modules/sdk-coin-tempo/test/unit/utils.ts Updates address validation test to use proper checksummed address
modules/sdk-coin-tempo/test/unit/transactionBuilder.ts Adds comprehensive unit tests for builder, utilities, and validation
modules/sdk-coin-tempo/test/integration/tip20.ts Adds integration test scaffolding for end-to-end transaction scenarios

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@nvrakesh06 nvrakesh06 force-pushed the WIN-8479 branch 2 times, most recently from 2c7a9cd to 58a4b51 Compare January 2, 2026 06:07
Copy link
Contributor

@MohammedRyaan786 MohammedRyaan786 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

prithvishet2503
prithvishet2503 previously approved these changes Jan 2, 2026
mukeshsp
mukeshsp previously approved these changes Jan 5, 2026
veetragjain
veetragjain previously approved these changes Jan 5, 2026
Copy link
Contributor

@OttoAllmendinger OttoAllmendinger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot to what extent do we use the viem library and can we use the existing ethereum dependencies instead?

Copy link

Copilot AI commented Jan 5, 2026

@OttoAllmendinger I've opened a new pull request, #7836, to work on those changes. Once the pull request is ready, I'll request review from you.

@nvrakesh06 nvrakesh06 force-pushed the WIN-8479 branch 4 times, most recently from 5f7062b to 269e66e Compare January 6, 2026 06:20
@nvrakesh06 nvrakesh06 dismissed OttoAllmendinger’s stale review January 7, 2026 08:56

Dismissing the review to get this PR merged. I removed the new package addition and switched to using ethers.js instead.

@nvrakesh06 nvrakesh06 merged commit ab6caf8 into master Jan 7, 2026
15 checks passed
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.

9 participants