Skip to content

Commit 44125ca

Browse files
feat(statics): enable ZAMA staking metadata
Add staking metadata to mainnet ZAMA and Hoodi ZAMAMock. Keep operator stZAMA receipt shares excluded and assert the registered Hoodi metadata.\n\nTicket: SI-609
1 parent 4a45c72 commit 44125ca

3 files changed

Lines changed: 42 additions & 2 deletions

File tree

modules/statics/src/coins/botTokens.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -460,6 +460,7 @@ export const botTokens = [
460460
'custody-bitgo-switzerland' as CoinFeature,
461461
'custody-bitgo-sister-trust-one' as CoinFeature,
462462
'custody-bitgo-korea' as CoinFeature,
463+
CoinFeature.STAKING,
463464
]),
464465
undefined,
465466
undefined,

modules/statics/src/coins/erc20Coins.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15001,7 +15001,8 @@ export const erc20Coins = [
1500115001
'Zama',
1500215002
18,
1500315003
'0xa12cc123ba206d4031d1c7f6223d1c2ec249f4f3',
15004-
UnderlyingAsset['eth:zama']
15004+
UnderlyingAsset['eth:zama'],
15005+
[...AccountCoin.DEFAULT_FEATURES, CoinFeature.BULK_TRANSACTION, CoinFeature.STAKING]
1500515006
),
1500615007
erc20(
1500715008
'9c99940d-fa25-48cd-bcf5-ef794db4a532',

modules/statics/test/unit/base.ts

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { CoinFamily, CoinFeature, coins } from '../../src';
1+
import { CoinFamily, CoinFeature, Networks, coins } from '../../src';
22

33
const should = require('should');
44
const { UnderlyingAsset } = require('../../src/base');
@@ -374,3 +374,41 @@ describe('Tokenized Equity CoinFeatures', function () {
374374
errorMessage.should.containEql('tokenized-equity');
375375
});
376376
});
377+
describe('ZAMA staking feature', function () {
378+
it('eth:zama should expose STAKING', function () {
379+
const coin = coins.get('eth:zama');
380+
coin.features.should.containEql(CoinFeature.STAKING);
381+
});
382+
383+
it('hteth:zamamock should expose correct staking metadata', function () {
384+
const coin = coins.get('hteth:zamamock');
385+
coin.fullName.should.equal('ZAMAMock');
386+
coin.decimalPlaces.should.equal(18);
387+
coin.contractAddress.should.equal('0x58713eca04e01114480b30be8ca0d8838f342a55');
388+
coin.network.name.should.equal(Networks.test.hoodi.name);
389+
coin.features.should.containEql(CoinFeature.STAKING);
390+
});
391+
392+
it('ERC-7984 ZAMA tokens should not expose STAKING', function () {
393+
[
394+
'eth:czama',
395+
'eth:cxaut',
396+
'eth:ctgbp',
397+
'eth:cweth',
398+
'eth:cusdt',
399+
'eth:cusdc',
400+
'hteth:ctest1',
401+
'hteth:cusdt',
402+
].forEach((name) => {
403+
coins.get(name).features.includes(CoinFeature.STAKING).should.be.false();
404+
});
405+
});
406+
407+
it('stZAMA LSTs should not expose STAKING', function () {
408+
['hteth:stzamakms', 'hteth:stzamadfns', 'hteth:stzamafig', 'hteth:stzamacop', 'hteth:stzamablco'].forEach(
409+
(name) => {
410+
coins.get(name).features.includes(CoinFeature.STAKING).should.be.false();
411+
}
412+
);
413+
});
414+
});

0 commit comments

Comments
 (0)