feat: Add TimelockConfigurer.GrantRole support for TON - #821
Conversation
|
👋 krebernisak, thanks for creating this pull request! To help reviewers, please consider creating future PRs as drafts first. This allows you to self-review and make any final changes before notifying the team. Once you're ready, you can mark it as "Ready for review" to request feedback. Thanks! |
There was a problem hiding this comment.
Pull request overview
Adds TON support for TimelockConfigurer.GrantRole by introducing TON-specific timelock role hashing and implementing the on-chain (and prepared/skipSend) GrantRole message flow.
Changes:
- Added TON
TimelockRoleHashmapping to TON timelock role constants. - Implemented
TimelockConfigurer.GrantRolefor TON, including deterministic query ID generation for prepared transactions. - Added unit tests covering GrantRole success/failure cases and deterministic prepared transaction behavior.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| sdk/ton/timelock_role.go | Introduces TON role-hash lookup for sdk.TimelockRole values. |
| sdk/ton/timelock_configurer.go | Implements GrantRole and refactors query ID generation into a helper. |
| sdk/ton/timelock_configurer_test.go | Adds test coverage for the new TON GrantRole behavior. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
|
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.
Suppressed comments (1)
sdk/ton/timelock_configurer_test.go:265
- These subtests are marked
t.Parallel(), but the per-casemockSetupclosures capture the parentt(e.g.ton_mocks.NewAPIClientWrapped(t)). That means multiple subtests can end up sharing the same parent *testing.T concurrently, which can cause races/flaky behavior and mis-attributed failures. Either pass the subtesttintomockSetup(preferred) or don’t run the subtests in parallel.
t.Run(tt.name, func(t *testing.T) {
t.Parallel()
🤖 I have created a release *beep* *boop* --- ## [0.53.0](v0.52.1...v0.53.0) (2026-08-18) ### Features * Add TimelockConfigurer.GrantRole support for TON ([#821](#821)) ([541ae5d](541ae5d)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: app-token-issuer-ops-platform[bot] <275822481+app-token-issuer-ops-platform[bot]@users.noreply.github.com>




No description provided.