Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
278 commits
Select commit Hold shift + click to select a range
8f83e5f
1.0.3 (#23)
github-actions[bot] Sep 5, 2025
cebe70c
Better placement for some methods (#24)
ulissesferreira Sep 5, 2025
ef0962f
feat: transaction history (#19)
ulissesferreira Sep 12, 2025
ab1b2da
feat: support Energy and Bandwidth as transaction history fee (#25)
ulissesferreira Sep 15, 2025
4302dce
chore: simplify `calculateTronFees` + feat: implement `discoverAccoun…
ulissesferreira Sep 18, 2025
367909b
feat: send Energy and Bandwidth as assets (#27)
ulissesferreira Sep 18, 2025
63434bc
feat: send staked TRX as assets (#29)
ulissesferreira Sep 22, 2025
44f2672
feat: implement "Unified Non-EVM Send" spec (#28)
ulissesferreira Sep 25, 2025
ec30cfe
1.1.0 (#30)
github-actions[bot] Sep 25, 2025
180e239
feat: fetch token metadata from Token API instead of Trongrid (#31)
ulissesferreira Sep 30, 2025
9a18ea3
fix: price and market data request failures (#32)
ulissesferreira Sep 30, 2025
ca39b9e
1.1.1 (#33)
github-actions[bot] Sep 30, 2025
8b4ca7d
feat: `signAndSendTransaction` client request (#34)
aganglada Oct 1, 2025
2af9eb8
1.2.0 (#36)
github-actions[bot] Oct 1, 2025
50a626e
feat: implement `computeFee` handler (#40)
ulissesferreira Oct 9, 2025
0ca445d
chore: add new required fields to KeyringAccount objects (#41)
ulissesferreira Oct 9, 2025
c42d520
feat: implement account synchronization when transactions happen (#38)
ulissesferreira Oct 10, 2025
d0139c5
fix: missing sync transactions background event (#44)
ulissesferreira Oct 10, 2025
5c74f2d
1.4.0 (#45)
github-actions[bot] Oct 10, 2025
227b4bf
Revert "1.4.0 (#45)" (#47)
ulissesferreira Oct 13, 2025
c5ec93b
1.3.0 (#48)
github-actions[bot] Oct 13, 2025
8cc791c
feat: send maximum Bandwidth and Energy as assets (#42)
ulissesferreira Oct 13, 2025
9601ab8
chore: edit names and balance decimals (#49)
zone-live Oct 15, 2025
3d04b66
1.4.0 (#50)
github-actions[bot] Oct 16, 2025
917c6d5
feat: implement staking and unstaking handlers (#46)
ulissesferreira Oct 16, 2025
5e8dc7c
chore: implement safe error handling so that the Snap never crashes (…
ulissesferreira Oct 16, 2025
8752c81
fix: match the new Keyring `createAccount` spec (#52)
ulissesferreira Oct 17, 2025
297e6fb
1.5.0 (#53)
github-actions[bot] Oct 17, 2025
e1e1b18
fix: modify `signAndSendTransaction` to properly handle base64 transa…
ulissesferreira Oct 21, 2025
ca3c647
chore: update max bandwidth and energy values (#55)
zone-live Oct 21, 2025
55ef941
1.5.1 (#56)
github-actions[bot] Oct 21, 2025
fcd61de
fix: missing fields on `signAndSendTransaction`'s payload for Tron (#57)
ulissesferreira Oct 24, 2025
873e676
1.5.2 (#58)
github-actions[bot] Oct 24, 2025
b90fbc2
fix: make field `visible` configurable by caller on the `signAndSendT…
ulissesferreira Oct 24, 2025
0953a8b
1.5.3 (#60)
github-actions[bot] Oct 24, 2025
b0aada4
fix: use correct hex private key for `signAndSendTransaction` (#61)
ulissesferreira Oct 28, 2025
8e44079
1.5.4 (#62)
github-actions[bot] Oct 28, 2025
5738630
feat: implement `setSelectedAccounts` handler (#63)
ulissesferreira Oct 31, 2025
9708593
fix: adjust `timestamp` fields' precision in seconds, not millisecond…
ulissesferreira Oct 31, 2025
b5eb458
chore: bump shasum (#65)
ulissesferreira Oct 31, 2025
d99cba3
1.6.0 (#66)
github-actions[bot] Oct 31, 2025
11f6c29
fix: use the correct `index` instead of `groupIndex` for account crea…
ulissesferreira Oct 31, 2025
9f5edab
1.6.1 (#68)
github-actions[bot] Oct 31, 2025
4e01cec
refactor: add `options` to the unstake method (#69)
ulissesferreira Nov 6, 2025
36f4bf4
1.7.0 (#70)
github-actions[bot] Nov 6, 2025
98313ac
fix: staking methods need to convert amounts to sun (#71)
ulissesferreira Nov 7, 2025
62be855
All improvements (#73)
ulissesferreira Nov 7, 2025
ce19630
1.7.1 (#74)
github-actions[bot] Nov 10, 2025
57864e9
fix: adjust decimals when sending TRC20 tokens (#76)
ulissesferreira Nov 10, 2025
24e568a
feat: tron using infura (#75)
aganglada Nov 10, 2025
d21f4aa
More fixes (#77)
ulissesferreira Nov 10, 2025
a33a2da
1.7.2 (#78)
github-actions[bot] Nov 10, 2025
9173fc1
1.7.3 (#79)
github-actions[bot] Nov 11, 2025
f869647
Revert "1.7.3" (#80)
aganglada Nov 11, 2025
495e604
1.7.3 (#81)
github-actions[bot] Nov 11, 2025
3291702
fix: unstake method doing incorrect input validation (#82)
ulissesferreira Nov 11, 2025
c8ae618
1.7.4 (#83)
github-actions[bot] Nov 11, 2025
2454c9d
feat: implement confirmation UI (#86)
ulissesferreira Nov 14, 2025
ffd2d73
chore: remove logs (#87)
aganglada Nov 14, 2025
502dcfb
feat: add from and to to confirmation (#88)
aganglada Nov 14, 2025
296840c
feat: transactions analytics (#90)
aganglada Nov 14, 2025
cd06b72
feat: implement confirmation UI (#86) (#91)
ulissesferreira Nov 14, 2025
5ddf8dc
1.8.0 (#92)
github-actions[bot] Nov 17, 2025
030900e
fix: `computeFee` is not working (#84)
ulissesferreira Nov 18, 2025
d6bb6d5
feat: add Bandwidth and Energy confirmation logos (#95)
ulissesferreira Nov 18, 2025
21f6742
1.8.1 (#97)
github-actions[bot] Nov 19, 2025
f70c9ef
fix: dont allow clients requesting assets for tesnets (#99)
aganglada Nov 20, 2025
cebefd8
fix: track transaction when executed and map failed and swap transact…
aganglada Nov 20, 2025
9fe417b
1.9.0 (#100)
github-actions[bot] Nov 20, 2025
875f0fa
fix: Use mutex for state blob modifications (#93)
FrederikBolding Nov 20, 2025
c731478
fix: use available `triggerConstantContract` instead of `estimateEner…
ulissesferreira Nov 20, 2025
3357451
1.9.1 (#102)
github-actions[bot] Nov 20, 2025
7556656
fix: dont remove tron resources from assets (#104)
aganglada Nov 21, 2025
0007241
fix: fix `getAccount` and `listAccounts` (#105)
ccharly Nov 21, 2025
c83e783
fix: compute fee (#103)
aganglada Nov 21, 2025
4cf4a5c
1.10.0 (#106)
github-actions[bot] Nov 21, 2025
8f030d3
chore: map freeze/unfreeze txs (#107)
zone-live Nov 21, 2025
3ee5b0c
fix: computeFee error (#108)
aganglada Nov 24, 2025
1487895
1.10.1 (#109)
github-actions[bot] Nov 24, 2025
1ce7d96
feat: add pending transaction when executing (#110)
aganglada Nov 24, 2025
24b3f15
1.11.0 (#111)
github-actions[bot] Nov 24, 2025
bf4c561
fix: compute fee not accurate (#113)
aganglada Nov 25, 2025
5c3d19d
1.12.0 (#114)
github-actions[bot] Nov 25, 2025
57097fd
fix: trc20 decimals (#115)
aganglada Nov 25, 2025
1ccd7ce
fix: continuous synchronization of accounts not starting (#117)
ulissesferreira Nov 25, 2025
85b9fb1
1.12.1 (#118)
github-actions[bot] Nov 25, 2025
7b87d1f
fix: Ensure only safe concurrent state operations (#116)
FrederikBolding Nov 26, 2025
7c6f840
1.13.0 (#121)
github-actions[bot] Nov 26, 2025
84b645c
fix: set `isDev` to false (#122)
ulissesferreira Nov 26, 2025
32e3b12
feat: signRewardsMessage (#119)
aganglada Nov 26, 2025
eba9d39
fix: improve Send flow amount validation with fee estimation (#123)
ulissesferreira Nov 27, 2025
0bf5517
Feat/wallet service (#124)
aganglada Nov 27, 2025
cacde47
1.14.0 (#125)
github-actions[bot] Nov 27, 2025
961002a
fix: remove validation key from WalletService (#126)
baptiste-marchand Nov 27, 2025
36ebc0a
fix: `computeFee` does not consider account activations (#127)
ulissesferreira Nov 28, 2025
7aa983e
fix: `signTransaction` not rebuilding Tron transactions correctly aft…
ulissesferreira Dec 1, 2025
75cb4ed
feat: `signMessage` confirmation (#130)
aganglada Dec 2, 2025
5498f17
feat: allocate Tron power to Consensys' SR node (#129)
ulissesferreira Dec 2, 2025
32e2157
chore: Add compute staking fee (#112)
zone-live Dec 3, 2025
eb5e600
feat: `signTransaction` confirmation (#131)
aganglada Dec 3, 2025
73c8ae2
feat: add feeLimit option for energy calculation in FeeCalculatorServ…
ulissesferreira Dec 3, 2025
0a98418
1.15.0 (#134)
github-actions[bot] Dec 3, 2025
dd96e98
chore: bump `keyring-api` to version 21.3.0 (#136)
ulissesferreira Dec 3, 2025
0f2f813
1.15.1 (#137)
github-actions[bot] Dec 4, 2025
0d6a5c9
chore: stop signing transactions before user confirmation (#138)
ulissesferreira Dec 4, 2025
ac2af32
feat: blockaid integration (#139)
aganglada Dec 5, 2025
fbe8ec3
fix: audit fixes (#140)
aganglada Dec 9, 2025
429eee0
fix: enhance FeeCalculatorService with fallback energy estimation to …
ulissesferreira Dec 9, 2025
7d14570
1.16.0 (#144)
github-actions[bot] Dec 9, 2025
6748d0a
Fix/dapp connectivity confirmations (#146)
aganglada Dec 12, 2025
d99309c
1.16.1 (#147)
github-actions[bot] Dec 12, 2025
fdea585
feat: map TRC10 transaction history with proper metadata (#141)
ulissesferreira Dec 15, 2025
f26c622
Exclude permissive origins and permissions (#145)
ulissesferreira Dec 15, 2025
40d30f0
chore: address all `major` level audit findings (#148)
ulissesferreira Dec 17, 2025
c883fdc
chore: address all `minor` level audit findings (#149)
ulissesferreira Dec 18, 2025
91139b9
1.17.0 (#150)
github-actions[bot] Dec 18, 2025
417d449
chore: use sha256 from MM utils and remove pkey usage (#151)
zone-live Jan 7, 2026
1725b96
feat: implement token filtering by minimum USD value in AssetsService…
ulissesferreira Jan 7, 2026
3c0e415
feat(staking): add optional srNodeAddress param to confirmStake (#154)
aganglada Jan 8, 2026
df1953c
1.18.0 (#155)
github-actions[bot] Jan 8, 2026
f5dc83a
fix: unsubmitable swaps from Bridgers (#157)
ulissesferreira Jan 9, 2026
5ef1b3a
fix: ignore `visible` in `handleComputeFee` field (#158)
ulissesferreira Jan 9, 2026
201b08a
fix: always include TRX fee as first result on `computeFee` (#159)
ulissesferreira Jan 9, 2026
0c2c372
1.19.0 (#160)
github-actions[bot] Jan 9, 2026
5edea12
fix: signing messages of 3 characters or less (#161)
ulissesferreira Jan 12, 2026
f432323
chore: remove convertion layer for images displayed in Snaps UI (#162)
ulissesferreira Jan 14, 2026
906d7f2
chore: finalised vs finalized wording (#164)
zone-live Jan 15, 2026
5d1249c
1.19.1 (#165)
github-actions[bot] Jan 15, 2026
3618b2e
chore: display error message coming from the simulation API (#166)
Julink-eth Jan 23, 2026
24d46ab
1.19.2 (#168)
github-actions[bot] Jan 26, 2026
6486daf
fix: normalize locale string in simulations (#169)
mikesposito Jan 27, 2026
26f54e4
1.19.3 (#170)
github-actions[bot] Jan 27, 2026
4667598
chore: cache chain parameters until they expire (#171)
ulissesferreira Jan 27, 2026
85a14af
fix: inaccurate energy estimation for system contracts (#172)
ulissesferreira Jan 27, 2026
68b1fd4
perf: optimize data synchronization to avoid duplicate API requests (…
ulissesferreira Jan 28, 2026
9750965
feat: update approve type tx with unknow instead of send for MM type …
Battambang Jan 30, 2026
68932fa
fix: extract correct scan parameters from tx (#176)
mikesposito Jan 30, 2026
9c6a992
Fix/validation missing send trx flow (#179)
Julink-eth Jan 30, 2026
8387040
feat: support network fees with contract energy sharing mechanism (#181)
Battambang Feb 2, 2026
bc9a468
fix: ensure integer amounts when building TronWeb transactions (#178)
ulissesferreira Feb 2, 2026
9b1715f
1.20.0 (#182)
github-actions[bot] Feb 2, 2026
508cbf5
ci: enable preview builds (#180)
mikesposito Feb 2, 2026
ae6e24f
chore: add `tsx` and deduplicate dependencies (#184)
mikesposito Feb 3, 2026
9353b2d
fix: use `BigNumber` to display numbers (#191)
ulissesferreira Feb 4, 2026
6c27709
fix: consider current deployer energy when calculating fees (#192)
Battambang Feb 5, 2026
b206e84
1.21.0 (#193)
github-actions[bot] Feb 5, 2026
4c61062
fix: allow pending transactions to be updated when confirmed (#194)
ulissesferreira Feb 5, 2026
c8f5578
1.21.1 (#195)
github-actions[bot] Feb 5, 2026
4e59eed
ci: add changelog validation scripts (#198)
mikesposito Feb 9, 2026
3132d20
ci: enforce package deduplication (#201)
mikesposito Feb 9, 2026
c432267
chore: enable `@typescript-eslint/no-explicit-any` as `error` (#203)
mikesposito Feb 10, 2026
2318fa0
test: enable coverage collection and thresholds (#204)
mikesposito Feb 10, 2026
7f7f122
fix: decode hex-encoded TRC10 token names and symbols (#187)
ulissesferreira Feb 11, 2026
7e2f826
fix: clamp energy and bandwidth to zero to prevent negative values (#…
ulissesferreira Feb 12, 2026
0742a1b
feat: use security api for simulations (#205)
Julink-eth Feb 12, 2026
0ad21c0
feat: support TRC20 token balances for inactive accounts (#190)
ulissesferreira Feb 13, 2026
9202bd1
fix: gracefully handle dismissed interface errors in background jobs …
ulissesferreira Feb 13, 2026
8bcc36d
chore: release Tron snap version 1.22.0 (#207)
github-actions[bot] Feb 19, 2026
80810d1
feat: return TRX ready for withdrawal as part of assets (#208)
ulissesferreira Feb 20, 2026
420b9f8
feat: return TRX from staking rewards as part of assets (#209)
ulissesferreira Feb 20, 2026
5c7fcff
feat: return TRX in the `lock_period` as part of assets (#210)
ulissesferreira Feb 20, 2026
5a7a214
1.23.0 (#215)
github-actions[bot] Feb 26, 2026
d353a2d
fix: empty ID for derived accounts leading to state saving failures (…
ulissesferreira Mar 2, 2026
bae4a81
Revert staking improvements special assets (#222)
ulissesferreira Mar 3, 2026
5c06841
chore: rollback `package.json` version (#224)
ulissesferreira Mar 3, 2026
2fab2cf
1.22.1 (#225)
github-actions[bot] Mar 3, 2026
dbd6123
revert: revert: staking improvements' special assets (#226)
ulissesferreira Mar 5, 2026
d92fd80
chore: tweak symbols for new staking special assets (#227)
ulissesferreira Mar 5, 2026
8d2708b
1.23.1 (#229)
github-actions[bot] Mar 5, 2026
71840fe
feat: implement `claimUnstakedTrx` client request method (#231)
ulissesferreira Mar 6, 2026
6f57d4c
feat: implement `claimTrxStakingRewards` client request method (#232)
ulissesferreira Mar 6, 2026
cc32bab
fix: always extract special assets to prevent stale balances (#234)
ulissesferreira Mar 11, 2026
e4932bf
fix: add confirmation dialog to `claimUnstakedTrx` method
ulissesferreira Mar 17, 2026
bc79c53
1.24.0 (#241)
github-actions[bot] Mar 17, 2026
ed832a7
fix: assert transaction structure at all entry points (#237)
ulissesferreira Mar 19, 2026
e0f0370
fix: disable scanning of unsupported transactions (#238)
ulissesferreira Mar 19, 2026
6bf69d7
fix: correct endpoint path casing for /wallet/getReward (#242)
ulissesferreira Mar 19, 2026
29e8652
refactor: convert FetchStatus type alias to enum (#246)
ulissesferreira Mar 23, 2026
70bd14e
refactor: migrate Security Alerts API types to superstruct runtime va…
ulissesferreira Mar 23, 2026
92746dd
chore: remove entities barrel and use direct imports (#250)
ulissesferreira Mar 23, 2026
98addec
chore: narrow findByIds and fetchNewTransactionsForAccount types (#251)
ulissesferreira Mar 23, 2026
d4b750e
chore: optimize account discovery with lightweight activity check (#252)
ulissesferreira Mar 23, 2026
abb67b8
fix: avoid onAmountInput fee estimation failures when toAddress is mi…
ulissesferreira Mar 24, 2026
89507d8
fix: add raw data field for TRC20 scan request (#261)
Battambang Mar 25, 2026
e673643
fix: deadlock in chain parameters caching (#258)
mikesposito Mar 25, 2026
7d0cb1f
1.25.0 (#263)
github-actions[bot] Mar 25, 2026
576989c
fix: display correctly token icon size when sending TRC20 tokens (#262)
Battambang Mar 26, 2026
4c793f9
fix: display correctly decimal amount sent in confirmation dialog (#264)
Battambang Mar 26, 2026
0b41b40
fix: include memo fee (1 TRX) in transaction fee estimation (#281)
Battambang Mar 31, 2026
37ef7e4
fix: added set of fee_limit when building transaction (#280)
gabrieledm Apr 1, 2026
13d6488
fix: handle NFT asset types in transaction scan simulation (#285)
Battambang Apr 3, 2026
325145c
1.25.1 (#288)
github-actions[bot] Apr 7, 2026
59003c8
fix: transaction syncing failures (#289)
ulissesferreira Apr 9, 2026
ec0dc0a
1.25.2 (#290)
github-actions[bot] Apr 9, 2026
043e124
fix: error interface with id ... not found (#284)
Julink-eth Apr 17, 2026
77f22ab
fix: updated logic to manage stale balances during save of assets (#292)
gabrieledm Apr 22, 2026
6a28c37
1.25.3 (#294)
github-actions[bot] Apr 22, 2026
8c7589d
feat: harden `setSelectedAccounts` (#298)
hmalik88 May 7, 2026
1b88152
chore: remove internal uncessary checks for interfaces and align with…
Julink-eth May 11, 2026
a62007c
docs: fix changelog PR link (#303)
ulissesferreira May 13, 2026
1eee6ad
1.25.4 (#304)
github-actions[bot] May 13, 2026
e992287
fix: signature validation via checking owner address (#297)
gabrieledm May 21, 2026
4b23fe2
1.25.5 (#310)
github-actions[bot] May 21, 2026
ae516f4
fix: automatically refresh transaction expiration (#299)
ulissesferreira May 21, 2026
791cd15
feat: filter out address poisoning transactions (#301)
ulissesferreira May 21, 2026
4eb3ff2
1.25.6 (#312)
github-actions[bot] May 21, 2026
c01ef8d
fix: tx confirm button not to disable upon scan refresh (#302)
maxime-oe May 27, 2026
733c9ea
feat: add `trackError` to report errors to Sentry NEB-1241 (#311)
mikesposito May 27, 2026
f7633dd
chore: track errors in scanTransaction method of TransactionScanServi…
taran-a May 28, 2026
9d60080
chore: track errors in handle methods of ClientRequestHandler NEB-123…
taran-a May 28, 2026
4cb1f17
1.25.7 (#317)
github-actions[bot] May 28, 2026
8f69f51
fix: remove `snap_trackError` permission from manifest (#320)
mikesposito May 28, 2026
f43a0ae
1.25.8 (#321)
github-actions[bot] May 28, 2026
5fbc066
feat: add atomic state updates (#307)
gantunesr May 28, 2026
a544c6f
chore: track errors in AssetsService NEB-1238 (#322)
taran-a Jun 2, 2026
61b4095
chore: add error cause in keyring & ConfirmationHandler & validators …
taran-a Jun 3, 2026
04016e8
chore: track error in ConfirmationHandler NEB-1240 (#324)
taran-a Jun 3, 2026
6829008
feat: add `keyring_createAccounts` (#308)
gantunesr Jun 12, 2026
9ad9dc5
feat: add `signProofOfOwnership` method for silent proof-of-ownership…
mathieuartu Jun 15, 2026
7a6685c
1.26.0 (#330)
github-actions[bot] Jun 15, 2026
35882be
chore: track errors in trackEvent handler of SnapClient WPN-366 (#319)
taran-a Jun 15, 2026
538ae1a
fix: handle tokenapprove type for TRC20 transaction (#328)
Battambang Jun 16, 2026
449b752
1.27.0 (#333)
github-actions[bot] Jun 16, 2026
9148f02
chore: track errors in FeeCalculationService WPN-369 (#318)
taran-a Jun 17, 2026
b159102
chore: track error in signAndSendTransaction method of SendService WP…
taran-a Jun 17, 2026
48c257f
feat: filter spam TRC10/TRC20 transactions by token price data (#332)
Battambang Jun 18, 2026
b07468c
1.28.0 (#335)
github-actions[bot] Jun 19, 2026
2fb1cee
feat: add TRC20 transfer event log parser [1/3] (#337)
Battambang Jun 23, 2026
181f659
feat: resolve token metadata for log-reconstructed TRC20 transfers [2…
Battambang Jun 23, 2026
6cefe19
fix: make computeFee fail-safe on TronGrid failure (#343)
Battambang Jul 6, 2026
62e1e75
fix: dApp transaction payloads are not modified anymore with the refr…
Battambang Jul 7, 2026
0de0aec
1.29.0 (#352)
github-actions[bot] Jul 7, 2026
22b405e
Fix: price API validation issues and enhance test coverage (#353)
Battambang Jul 8, 2026
b51d1cc
1.29.1 (#354)
github-actions[bot] Jul 8, 2026
47644b0
chore: increase cronjob interval from `30s` to `60s` (#356)
mikesposito Jul 10, 2026
53107fe
1.30.0 (#357)
github-actions[bot] Jul 13, 2026
c2ab079
fix: fallback fee for fee estimation (#344)
gabrieledm Jul 13, 2026
112182d
1.31.0 (#359)
github-actions[bot] Jul 13, 2026
4820dbe
fix: added energy and bandwidth in transaction confirmation dialog fr…
gabrieledm Jul 14, 2026
c2212e4
test: removed usage of beforeEach in favour of withClientRequestHandl…
gabrieledm Jul 20, 2026
ad7237f
test: removed usage of beforeEach in favour of withClientRequestHandl…
gabrieledm Jul 20, 2026
1b5e0c1
test: removed usage of beforeEach in favour of withClientRequestHandl…
gabrieledm Jul 20, 2026
0958ca4
test: removed usage of beforeEach in favour of withClientRequestHandl…
gabrieledm Jul 20, 2026
4b3811e
1.32.0 (#372)
github-actions[bot] Jul 20, 2026
b89b010
refactor: align transaction polling with Tron block time (#364)
ulissesferreira Jul 21, 2026
b0427f1
1.33.0 (#376)
github-actions[bot] Jul 21, 2026
837ea91
refactor: remove dead code by removing hardcoded `isIncremental` (#293)
mikesposito Jul 21, 2026
55911ed
fix: persist chain parameter cache across Snap restarts (#365)
ulissesferreira Jul 22, 2026
73d1dc8
1.33.1 (#380)
github-actions[bot] Jul 22, 2026
56634c1
Merge remote-tracking branch 'tron-wallet-snap/main' into migrate-tro…
taran-a Jul 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions merged-packages/tron-wallet-snap/.depcheckrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"ignores": ["jest-transform-stub", "ts-jest", "@metamask/auto-changelog"]
}
31 changes: 31 additions & 0 deletions merged-packages/tron-wallet-snap/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Use:
# - local for local development
# - test for running tests locally (mandatory)
# - production before submitting a PR
ENVIRONMENT=local

RPC_URL_LIST_MAINNET=https://api.trongrid.io
RPC_URL_LIST_NILE_TESTNET=https://nile.trongrid.io
RPC_URL_LIST_SHASTA_TESTNET=https://api.shasta.trongrid.io/jsonrpc

EXPLORER_MAINNET_BASE_URL=https://tronscan.org
EXPLORER_NILE_BASE_URL=https://nile.tronscan.org
EXPLORER_SHASTA_BASE_URL=https://shasta.tronscan.org

PRICE_API_BASE_URL=https://price.api.cx.metamask.io
TOKEN_API_BASE_URL=https://tokens.api.cx.metamask.io
STATIC_API_BASE_URL=https://static.cx.metamask.io
SECURITY_ALERTS_API_BASE_URL=https://security-alerts.api.cx.metamask.io
NFT_API_BASE_URL=https://nft.api.cx.metamask.io

LOCAL_API_BASE_URL=http://localhost:8899

# TronGrid API Base URLs
TRONGRID_BASE_URL_MAINNET=https://api.trongrid.io
TRONGRID_BASE_URL_NILE=https://nile.api.trongrid.io
TRONGRID_BASE_URL_SHASTA=https://shasta.api.trongrid.io

# Tron HTTP API Base URLs
TRON_HTTP_BASE_URL_MAINNET=https://api.trongrid.io
TRON_HTTP_BASE_URL_NILE=https://nile.trongrid.io
TRON_HTTP_BASE_URL_SHASTA=https://shasta.trongrid.io
2 changes: 2 additions & 0 deletions merged-packages/tron-wallet-snap/.prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
dist/
coverage/
672 changes: 672 additions & 0 deletions merged-packages/tron-wallet-snap/CHANGELOG.md

Large diffs are not rendered by default.

85 changes: 85 additions & 0 deletions merged-packages/tron-wallet-snap/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# Tron Snap

## Configuration

Rename `.env.example` to `.env`
Configurations are setup though `.env`,

## API:

### `keyring_createAccount`

example:

```typescript
provider.request({
method: 'wallet_invokeKeyring',
params: {
snapId,
request: {
method: 'keyring_createAccount',
params: {
scope: 'bip122:000000000933ea01ad0ee984209779ba', // the CAIP-2 chain ID of the network
addressType: 'bip122:p2wpkh', // the CAIP-like address type
},
},
},
});
```

### `confirmStake`

Stakes TRX for bandwidth or energy resources. Votes are automatically allocated to a Super Representative (SR) node after staking.

**Parameters:**

| Parameter | Type | Required | Description |
| ----------------------- | ------------------------- | -------- | ------------------------------------------------------------------------------------------------- |
| `fromAccountId` | `string` | Yes | The UUID of the account to stake from |
| `assetId` | `string` | Yes | The CAIP-19 asset ID (e.g., `tron:728126428/slip44:195`) |
| `value` | `string` | Yes | The amount of TRX to stake |
| `options.purpose` | `'ENERGY' \| 'BANDWIDTH'` | Yes | The resource type to stake for |
| `options.srNodeAddress` | `string` | No | Optional SR node address to allocate votes to. If not provided, defaults to the Consensys SR node |

**Example:**

```typescript
// Stake with default Consensys SR node
provider.request({
method: 'wallet_invokeSnap',
params: {
snapId,
request: {
method: 'confirmStake',
params: {
fromAccountId: 'account-uuid',
assetId: 'tron:728126428/slip44:195',
value: '100',
options: {
purpose: 'ENERGY',
},
},
},
},
});

// Stake with custom SR node address
provider.request({
method: 'wallet_invokeSnap',
params: {
snapId,
request: {
method: 'confirmStake',
params: {
fromAccountId: 'account-uuid',
assetId: 'tron:728126428/slip44:195',
value: '100',
options: {
purpose: 'BANDWIDTH',
srNodeAddress: 'TCustomSRNodeAddress1234567890abc',
},
},
},
},
});
```
6 changes: 6 additions & 0 deletions merged-packages/tron-wallet-snap/babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module.exports = {
presets: [
['@babel/preset-env', { targets: { node: 'current' } }],
'@babel/preset-typescript',
],
};
1 change: 1 addition & 0 deletions merged-packages/tron-wallet-snap/images/icon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions merged-packages/tron-wallet-snap/images/question-mark.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
46 changes: 46 additions & 0 deletions merged-packages/tron-wallet-snap/jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
// @ts-check
/**
* @type {import('ts-jest').JestConfigWithTsJest}
*/
const config = {
// Indicates whether the coverage information should be collected while executing the test
collectCoverage: true,

// An array of glob patterns indicating a set of files for which coverage information should be collected
collectCoverageFrom: ['./src/**/*.ts', './src/**/*.tsx'],

// The directory where Jest should output its coverage files
coverageDirectory: 'coverage',

// An array of regexp pattern strings used to skip coverage collection
coveragePathIgnorePatterns: ['.*/index\\.ts'],

// Indicates which provider should be used to instrument code for coverage
coverageProvider: 'babel',

// A list of reporter names that Jest uses when writing coverage reports
coverageReporters: ['text', 'html', 'json-summary', 'lcov'],

// An object that configures minimum threshold enforcement for coverage results
coverageThreshold: {
global: {
branches: 70,
functions: 75.86,
lines: 82.65,
statements: 82.62,
},
},

preset: '@metamask/snaps-jest',
transform: {
'^.+\\.(t|j)sx?$': 'ts-jest',
},
moduleNameMapper: {
'\\.svg$': 'jest-transform-stub',
},
resetMocks: true,
testMatch: ['**/src/**/?(*.)+(spec|test).[tj]s?(x)'],
setupFilesAfterEnv: ['<rootDir>/jest.setup.ts'],
};

module.exports = config;
10 changes: 10 additions & 0 deletions merged-packages/tron-wallet-snap/jest.integration.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// @ts-check
/**
* @type {import('ts-jest').JestConfigWithTsJest}
*/
const config = {
preset: '@metamask/snaps-jest',
testMatch: ['**/integration-test/**/*.test.ts'],
};

export default config;
7 changes: 7 additions & 0 deletions merged-packages/tron-wallet-snap/jest.setup.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { config } from 'dotenv';

config();

// Set default environment for tests if not already set
// eslint-disable-next-line no-restricted-globals
process.env.ENVIRONMENT ??= 'test';
107 changes: 107 additions & 0 deletions merged-packages/tron-wallet-snap/locales/de.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
{
"locale": "de",
"messages": {
"confirmation.transaction.title": {
"message": "Transaktionsanfrage"
},
"confirmation.estimatedChanges.title": {
"message": "Geschätzte Änderungen"
},
"confirmation.estimatedChanges.tooltip": {
"message": "Die geschätzten Änderungen beziehen sich auf das, was passieren könnte, wenn Sie diese Transaktion durchführen. Es handelt sich hierbei lediglich um eine Prognose, nicht um eine Garantie."
},
"confirmation.estimatedChanges.send": {
"message": "Sie senden"
},
"confirmation.bandwidthConsumed": {
"message": "Verbrauchte Bandbreite"
},
"confirmation.estimatedChanges.receive": {
"message": "Sie empfangen"
},
"confirmation.origin": {
"message": "Anfrage von"
},
"confirmation.origin.tooltip": {
"message": "Dies ist die Website, die um Ihre Bestätigung bittet."
},
"confirmation.from": {
"message": "Von"
},
"confirmation.to": {
"message": "An"
},
"confirmation.network": {
"message": "Netzwerk"
},
"confirmation.transactionFee": {
"message": "Netzwerk-Gebühr"
},
"confirmation.confirmButton": {
"message": "Bestätigen"
},
"confirmation.cancelButton": {
"message": "Stornieren"
},
"confirmation.signMessage.title": {
"message": "Nachricht signieren"
},
"confirmation.signMessage.message": {
"message": "Nachricht"
},
"confirmation.account": {
"message": "Konto"
},
"confirmation.signTransaction.title": {
"message": "Transaktion signieren"
},
"confirmation.estimatedChanges.notAvailable": {
"message": "Geschätzte Änderungen sind nicht verfügbar"
},
"confirmation.estimatedChanges.noChanges": {
"message": "Keine geschätzten Änderungen"
},
"confirmation.simulationTitleAPIError": {
"message": "Aufgrund eines Fehlers konnten wir nicht auf Sicherheitswarnungen prüfen."
},
"confirmation.simulationMessageAPIError": {
"message": "Fahren Sie nur fort, wenn Sie jeder beteiligten Adresse vertrauen."
},
"confirmation.simulationErrorTitle": {
"message": "Diese Transaktion wurde während der Simulation rückgängig gemacht."
},
"confirmation.simulationErrorSubtitle": {
"message": "{reason}"
},
"confirmation.validationErrorTitle": {
"message": "Dies ist eine irreführende Anfrage"
},
"confirmation.validationErrorSubtitle": {
"message": "Wenn Sie diese Anfrage genehmigen, wird ein Dritter, der für Betrügereien bekannt ist, alle Ihre Vermögenswerte nehmen."
},
"confirmation.validationErrorLearnMore": {
"message": "Mehr erfahren"
},
"confirmation.validationErrorSecurityAdviced": {
"message": "Sicherheitsberatung von"
},
"transactionScan.errors.unknownError": {
"message": "Ein unbekannter Fehler ist aufgetreten"
},
"transactionScan.errors.insufficientBalance": {
"message": "Unzureichendes Guthaben"
},
"transactionScan.errors.invalidTransaction": {
"message": "Ungültige Transaktion"
},
"transactionScan.errors.insufficientFunds": {
"message": "Unzureichende Mittel"
},
"transactionScan.errors.invalidAddress": {
"message": "Ungültige Adresse"
},
"transactionScan.errors.unsupportedEIP712Message": {
"message": "Nicht unterstützte Methode"
}
}
}
Loading
Loading