Skip to content

Commit 0c244f4

Browse files
authored
Merge pull request #7941 from BitGo/COIN-7315-kava-sdk-support
feat(statics): change kava to new cosmos structure
2 parents 36129c3 + 81fde6c commit 0c244f4

2 files changed

Lines changed: 107 additions & 4 deletions

File tree

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
/**
2+
* Kava test data for the sdk-coin-cosmos module
3+
* This file extends the base configuration with kava-specific data
4+
*/
5+
6+
import { generateCoinData } from '../testUtils';
7+
8+
export const chainConfig = {
9+
mainnetName: 'Kava',
10+
mainnetCoin: 'kava',
11+
testnetName: 'Testnet Kava',
12+
testnetCoin: 'tkava',
13+
family: 'kava',
14+
decimalPlaces: 6,
15+
baseDenom: 'ukava',
16+
chainId: 'kava_2221-16000',
17+
addressPrefix: 'kava',
18+
validatorPrefix: 'kavavaloper',
19+
};
20+
21+
export const DEFAULTS = {
22+
senderAddress: 'kava1cyyzpxplxdzkeea7kwsydadg87357qnarn3sk9',
23+
pubKey: 'AuwYyCUBxQiBGSUWebU46c+OrlApVsyGLHd4qhSDZeiG',
24+
privateKey: 'SNI8xBejBnTpB6JAPxCfCC2S4ZeCPQLmpCPGrrjkEgQ=',
25+
recipientAddress1: 'kava18s5lynnmx37hq4wlrw9gdn68sg2uxp5rucdhve',
26+
recipientAddress2: 'kava1c6mj5v5wpjl6zs7lz0l6dlv3r4ccqaa4grcurq',
27+
sendMessageTypeUrl: '/cosmos.bank.v1beta1.MsgSend',
28+
sendAmount: '1000',
29+
feeAmount: '5000',
30+
gasLimit: 200000,
31+
validatorAddress1: 'kavavaloper1q8mgs55hfgkm7d5rret439997x87s2ek5szwp9',
32+
validatorAddress2: 'kavavaloper1ea4hlqfskjvn0ldenw8gv7jjdzrljcchpdgx6k',
33+
};
34+
35+
export const TEST_SEND_TX = {
36+
hash: 'EC11A7FD316965E5B8D9CA37EF983C7E20181B77B1FFD829D44C718BA55F0301',
37+
signature: 'OnBWLyOUqNqX7h65Dtfna4W1vU4+OEVZPZLOffO+amNnHHwoFQZMnVK1+s4Y5/arizHXdbFTtrIG1ANWJz94zw==',
38+
signedTxBase64:
39+
'CowBCokBChwvY29zbW9zLmJhbmsudjFiZXRhMS5Nc2dTZW5kEmkKK2thdmExY3l5enB4cGx4ZHprZWVhN2t3c3lkYWRnODczNTdxbmFybjNzazkSK2thdmExOHM1bHlubm14MzdocTR3bHJ3OWdkbjY4c2cydXhwNXJ1Y2RodmUaDQoFdWthdmESBDEwMDASZwpQCkYKHy9jb3Ntb3MuY3J5cHRvLnNlY3AyNTZrMS5QdWJLZXkSIwohAuwYyCUBxQiBGSUWebU46c+OrlApVsyGLHd4qhSDZeiGEgQKAggBGBQSEwoNCgV1a2F2YRIENTAwMBDAmgwaQDpwVi8jlKjal+4euQ7X52uFtb1OPjhFWT2Szn3zvmpjZxx8KBUGTJ1StfrOGOf2q4sx13WxU7ayBtQDVic/eM8=',
40+
accountNumber: 182114,
41+
sequence: 20,
42+
sendAmount: '1000',
43+
};
44+
45+
export const TEST_SEND_TX2 = {
46+
hash: 'CECA35F4E76012EFB04BD069EAE2F791436354897A7078F554F5E80C559FA567',
47+
signature: 'nCRo4QhtTTldC+bQadH6Dqplm8s9UuRtXVmQqvVriKkWFGlO/n70VvbB+YuQ8sYc1q06AapkWpt/mD4HQbgG3w==',
48+
signedTxBase64:
49+
'CokBCoYBChwvY29zbW9zLmJhbmsudjFiZXRhMS5Nc2dTZW5kEmYKK2thdmExY3l5enB4cGx4ZHprZWVhN2t3c3lkYWRnODczNTdxbmFybjNzazkSK2thdmExOHM1bHlubm14MzdocTR3bHJ3OWdkbjY4c2cydXhwNXJ1Y2RodmUaCgoFdWthdmESATESZwpQCkYKHy9jb3Ntb3MuY3J5cHRvLnNlY3AyNTZrMS5QdWJLZXkSIwohAuwYyCUBxQiBGSUWebU46c+OrlApVsyGLHd4qhSDZeiGEgQKAggBGBQSEwoNCgV1a2F2YRIENTAwMBDAmgwaQJwkaOEIbU05XQvm0GnR+g6qZZvLPVLkbV1ZkKr1a4ipFhRpTv5+9Fb2wfmLkPLGHNatOgGqZFqbf5g+B0G4Bt8=',
50+
accountNumber: 182114,
51+
sequence: 20,
52+
sendAmount: '1',
53+
};
54+
55+
export const TEST_SEND_MANY_TX = {
56+
hash: '681EE332D9590DCB76A32BE7172E5B9574EFA49DAB8001CEDDED65A8BEECAE01',
57+
signature: 'Opz+KYGr/pjC+iaYytf4PqRcgvFxQ3Lf0+1o3pGub0xlA6QbkySn7WS+c06rx4f27DTjHrhNflvCdhXmTCHulQ==',
58+
signedTxBase64:
59+
'CpICCoYBChwvY29zbW9zLmJhbmsudjFiZXRhMS5Nc2dTZW5kEmYKK2thdmExY3l5enB4cGx4ZHprZWVhN2t3c3lkYWRnODczNTdxbmFybjNzazkSK2thdmExOHM1bHlubm14MzdocTR3bHJ3OWdkbjY4c2cydXhwNXJ1Y2RodmUaCgoFdWthdmESATEKhgEKHC9jb3Ntb3MuYmFuay52MWJldGExLk1zZ1NlbmQSZgora2F2YTFjeXl6cHhwbHhkemtlZWE3a3dzeWRhZGc4NzM1N3FuYXJuM3NrORIra2F2YTFjNm1qNXY1d3BqbDZ6czdsejBsNmRsdjNyNGNjcWFhNGdyY3VycRoKCgV1a2F2YRIBMhJnClAKRgofL2Nvc21vcy5jcnlwdG8uc2VjcDI1NmsxLlB1YktleRIjCiEC7BjIJQHFCIEZJRZ5tTjpz46uUClWzIYsd3iqFINl6IYSBAoCCAEYFBITCg0KBXVrYXZhEgQ1MDAwEMCaDBpAOpz+KYGr/pjC+iaYytf4PqRcgvFxQ3Lf0+1o3pGub0xlA6QbkySn7WS+c06rx4f27DTjHrhNflvCdhXmTCHulQ==',
60+
accountNumber: 182114,
61+
sequence: 20,
62+
sendAmount: '1',
63+
sendAmount2: '2',
64+
recipient2: 'kava1c6mj5v5wpjl6zs7lz0l6dlv3r4ccqaa4grcurq',
65+
};
66+
67+
export const TEST_TX_WITH_MEMO = {
68+
hash: '09E5B56E645BE62C37791E1FF78CADFD35F1FC426F6CD5A3D7506D432BD270BB',
69+
signature: '5g4qRY2kii/w1vXRXbuGGOTbDZ9Ne+MeWyPNAXyNOvUM1hbhYGIVz0xI+J10B+Ugw/GqSSB6W1lxbzvAy/mQBg==',
70+
signedTxBase64:
71+
'CqcBCogBChwvY29zbW9zLmJhbmsudjFiZXRhMS5Nc2dTZW5kEmgKK2thdmExY3l5enB4cGx4ZHprZWVhN2t3c3lkYWRnODczNTdxbmFybjNzazkSK2thdmExOHM1bHlubm14MzdocTR3bHJ3OWdkbjY4c2cydXhwNXJ1Y2RodmUaDAoFdWthdmESAzUwMBIaVGVzdDEyM0FscGhhbnVtZXJpY01lbW80NTYSZwpQCkYKHy9jb3Ntb3MuY3J5cHRvLnNlY3AyNTZrMS5QdWJLZXkSIwohAuwYyCUBxQiBGSUWebU46c+OrlApVsyGLHd4qhSDZeiGEgQKAggBGBQSEwoNCgV1a2F2YRIENTAwMBDAmgwaQOYOKkWNpIov8Nb10V27hhjk2w2fTXvjHlsjzQF8jTr1DNYW4WBiFc9MSPiddAflIMPxqkkgeltZcW87wMv5kAY=',
72+
accountNumber: 182114,
73+
sequence: 20,
74+
sendAmount: '500',
75+
memo: 'Test123AlphanumericMemo456',
76+
};
77+
78+
export const blockHashes = {
79+
hash1: 'E5F6A1B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4E5F6',
80+
hash2: 'F6A1B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4E5F6A1',
81+
};
82+
83+
// Generate the complete kava test data
84+
export const kava = generateCoinData(chainConfig, DEFAULTS, blockHashes, {
85+
TEST_SEND_TX,
86+
TEST_SEND_TX2,
87+
TEST_SEND_MANY_TX,
88+
TEST_TX_WITH_MEMO,
89+
});
90+
91+
export default kava;

modules/statics/src/networks.ts

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -975,16 +975,28 @@ class InjectiveTestnet extends Testnet implements AccountNetwork {
975975
explorerUrl = 'https://testnet.explorer.injective.network/transaction/';
976976
}
977977

978-
class Kava extends Mainnet implements AccountNetwork {
978+
class Kava extends Mainnet implements CosmosNetwork {
979979
name = 'Kava';
980980
family = CoinFamily.KAVA;
981-
explorerUrl = 'https://www.mintscan.io/kava/transactions/';
981+
explorerUrl = 'https://www.mintscan.io/kava/tx/';
982+
addressPrefix = 'kava';
983+
validatorPrefix = 'kavavaloper';
984+
denom = 'ukava';
985+
gasAmount = '5000';
986+
gasLimit = 200000;
987+
validDenoms = ['kava', 'ukava'];
982988
}
983989

984-
class KavaTestnet extends Testnet implements AccountNetwork {
990+
class KavaTestnet extends Testnet implements CosmosNetwork {
985991
name = 'KavaTestnet';
986992
family = CoinFamily.KAVA;
987-
explorerUrl = 'https://testnet.mintscan.io/kava-testnet/txs/';
993+
explorerUrl = 'https://www.mintscan.io/kava-testnet/tx/';
994+
addressPrefix = 'kava';
995+
validatorPrefix = 'kavavaloper';
996+
denom = 'ukava';
997+
gasAmount = '5000';
998+
gasLimit = 200000;
999+
validDenoms = ['kava', 'ukava'];
9881000
}
9891001

9901002
class Ton extends Mainnet implements AccountNetwork {

0 commit comments

Comments
 (0)