Skip to content

Commit 9c4db5a

Browse files
committed
feat(statics): onboard XRP MPT mainnet tokens xrp:kld and xrp:key
Ticket: CHALO-805
1 parent a7e3278 commit 9c4db5a

3 files changed

Lines changed: 54 additions & 0 deletions

File tree

modules/sdk-coin-xrp/test/unit/xrpToken.ts

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,38 @@ describe('Xrp MPT Tokens', function () {
5858
names.should.containEql('txrp:feesec');
5959
});
6060

61+
it('should register mainnet MPT tokens xrp:kld and xrp:key', function () {
62+
const names = XrpMptToken.createTokenConstructors().map(({ name }) => name);
63+
names.should.containEql('xrp:kld');
64+
names.should.containEql('xrp:key');
65+
});
66+
67+
it('should return correct constants for xrp:kld', function () {
68+
const kld = bitgo.coin('xrp:kld') as XrpMptToken;
69+
kld.getChain().should.equal('xrp:kld');
70+
kld.getBaseChain().should.equal('xrp');
71+
kld.getFullName().should.equal('XRP MPT Token');
72+
kld.getBaseFactor().should.equal(1000000); // assetScale 6 → 10^6
73+
kld.coin.should.equal('xrp');
74+
kld.network.should.equal('Mainnet');
75+
kld.decimalPlaces.should.equal(6);
76+
kld.contractAddress.should.equal('061B3FA2C51CC6B8BEF8E672C70638FCB4D474427155A753');
77+
kld.canTransfer.should.equal(true);
78+
});
79+
80+
it('should return correct constants for xrp:key', function () {
81+
const key = bitgo.coin('xrp:key') as XrpMptToken;
82+
key.getChain().should.equal('xrp:key');
83+
key.getBaseChain().should.equal('xrp');
84+
key.getFullName().should.equal('XRP MPT Token');
85+
key.getBaseFactor().should.equal(1000000); // assetScale 6 → 10^6
86+
key.coin.should.equal('xrp');
87+
key.network.should.equal('Mainnet');
88+
key.decimalPlaces.should.equal(6);
89+
key.contractAddress.should.equal('0634CF15DADB8E4C44F8CEAFF89B3A9FED52604FEE1A184F');
90+
key.canTransfer.should.equal(true);
91+
});
92+
6193
it('should return constants for txrp:sec0', function () {
6294
mptCoin.getChain().should.equal('txrp:sec0');
6395
mptCoin.getBaseChain().should.equal('txrp');

modules/statics/src/allCoinsAndTokens.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ import {
5353
tzkethErc20,
5454
vetNFTCollection,
5555
worldErc20,
56+
xrpMptToken,
5657
xrpToken,
5758
zkethErc20,
5859
} from './account';
@@ -7779,6 +7780,24 @@ export const allCoinsAndTokens = [
77797780
6,
77807781
UnderlyingAsset['txrp:feesec']
77817782
),
7783+
xrpMptToken(
7784+
'54e5efa7-1ef1-4d74-8ead-8248d387623c',
7785+
'xrp:kld',
7786+
'Kladia Liquidity Deflator',
7787+
'061B3FA2C51CC6B8BEF8E672C70638FCB4D474427155A753',
7788+
true,
7789+
6,
7790+
UnderlyingAsset['xrp:kld']
7791+
),
7792+
xrpMptToken(
7793+
'fcfb6345-3dad-48a6-870c-67acfdbbc821',
7794+
'xrp:key',
7795+
'Keystone Protocol Token',
7796+
'0634CF15DADB8E4C44F8CEAFF89B3A9FED52604FEE1A184F',
7797+
true,
7798+
6,
7799+
UnderlyingAsset['xrp:key']
7800+
),
77827801
suiToken(
77837802
'f26941b7-1110-4aa7-a2bc-29807297a51c',
77847803
'sui:deep',

modules/statics/src/base.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3858,6 +3858,9 @@ export enum UnderlyingAsset {
38583858
'xrp:eurcv' = 'xrp:eurcv',
38593859
'xrp:aau' = 'xrp:aau',
38603860
'xrp:fiuaxrp' = 'xrp:fiuaxrp',
3861+
// XRP MPT mainnet tokens
3862+
'xrp:kld' = 'xrp:kld',
3863+
'xrp:key' = 'xrp:key',
38613864
// XRP testnet tokens
38623865
'txrp:xsgd' = 'txrp:xsgd',
38633866
// XRP MPT testnet tokens

0 commit comments

Comments
 (0)