@bitgo-beta/sdk-coin-islm 1.0.0-alpha.39 → 1.0.0-alpha.391
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/resources/types/ethSecp256k1.d.ts +8 -24
- package/dist/resources/types/ethSecp256k1.d.ts.map +1 -1
- package/dist/resources/types/ethSecp256k1.js +22 -14
- package/dist/src/islm.js +1 -1
- package/dist/src/lib/constants.d.ts.map +1 -1
- package/dist/src/lib/constants.js +3 -3
- package/dist/src/lib/index.js +18 -8
- package/dist/src/lib/transactionBuilderFactory.js +1 -1
- package/dist/src/lib/utils.js +20 -11
- package/dist/src/tislm.js +1 -1
- package/dist/test/resources/islm.d.ts +216 -0
- package/dist/test/resources/islm.d.ts.map +1 -0
- package/dist/test/resources/islm.js +219 -0
- package/dist/test/unit/islm.d.ts +2 -0
- package/dist/test/unit/islm.d.ts.map +1 -0
- package/dist/test/unit/islm.js +309 -0
- package/dist/test/unit/keyPair.d.ts +2 -0
- package/dist/test/unit/keyPair.d.ts.map +1 -0
- package/dist/test/unit/keyPair.js +92 -0
- package/dist/test/unit/transaction.d.ts +2 -0
- package/dist/test/unit/transaction.d.ts.map +1 -0
- package/dist/test/unit/transaction.js +219 -0
- package/dist/test/unit/transactionBuilder/StakingActivateBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/StakingActivateBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/StakingActivateBuilder.js +154 -0
- package/dist/test/unit/transactionBuilder/StakingDeactivateBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/StakingDeactivateBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/StakingDeactivateBuilder.js +153 -0
- package/dist/test/unit/transactionBuilder/StakingWithdrawRewardsBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/StakingWithdrawRewardsBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/StakingWithdrawRewardsBuilder.js +154 -0
- package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/transactionBuilder.js +112 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.js +189 -0
- package/dist/test/unit/utils.d.ts +2 -0
- package/dist/test/unit/utils.d.ts.map +1 -0
- package/dist/test/unit/utils.js +76 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +13 -9
- package/.eslintignore +0 -5
- package/.mocharc.yml +0 -8
- package/CHANGELOG.md +0 -258
- package/resources/README.md +0 -15
- package/resources/proto/ethermint/crypto/v1/ethsecp256k1/ethSecp256k1.proto +0 -23
- package/resources/proto/gogoproto/gogo.proto +0 -145
- package/resources/types/ethSecp256k1.ts +0 -183
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Get the test data by running the scripts for the particular coin from coin-sandbox repo.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.coinAmounts = exports.txIds = exports.blockHash = exports.address = exports.TEST_TX_WITH_MEMO = exports.TEST_WITHDRAW_REWARDS_TX = exports.TEST_UNDELEGATE_TX = exports.TEST_DELEGATE_TX = exports.TEST_SEND_TX = exports.TEST_ACCOUNT = void 0;
|
|
5
|
+
exports.TEST_ACCOUNT = {
|
|
6
|
+
pubAddress: 'haqq1z34mxtp9xd0tv89cfyvc9r4cckfqt3gs2a0xh5',
|
|
7
|
+
compressedPublicKey: '029ae62ba5168f4a7e4a48ce9ec85b6a0ba1c7cbb676a95ff993f8b0df74a461df',
|
|
8
|
+
compressedPublicKeyTwo: '031dabb2069dfa614b9457ce9fc84c2a7b3b6f5e3cbb57c633380c5f4fcfd1486a',
|
|
9
|
+
uncompressedPublicKey: '049ae62ba5168f4a7e4a48ce9ec85b6a0ba1c7cbb676a95ff993f8b0df74a461df371b136a9be5dbc0e233ad70a733a37beeb41398df69376326c9207368255a6a',
|
|
10
|
+
privateKey: '2bc15c7ea4881524469f94e053429d92b89f60d1efb5048258291052ae0f70ff',
|
|
11
|
+
extendedPrv: 'xprv9s21ZrQH143K2xS8TWuFksLBHRRc994e166knSrbtBYVLpXDNkEF1DX45MvAdW97nV9FsrzmPtPCcg8dMxzFBeS2SZ1pWHC2k8xLMuTv673',
|
|
12
|
+
extendedPub: 'xpub661MyMwAqRbcFSWbZYSG81GuqTG6YbnVNK2MaqGDSX5UDcrMvHYVZ1qXvdnt6EZWFXMwerL8ySqJvj91855WUxiRcvDyVTwTYDhJ3JYnC8f',
|
|
13
|
+
};
|
|
14
|
+
exports.TEST_SEND_TX = {
|
|
15
|
+
hash: '2679D297CD41346707EF8116D1691078199FEB8134D1EECAE5894B618D45AC84',
|
|
16
|
+
signature: 'Edqy59rfNqIrgmBcHh4j6vsLIl9MeOldeVy/a1aa0yw3163yQBtqvV9Esn3rpwAWNzN6sBFjB00Of3VYdqoxLQ==',
|
|
17
|
+
pubKey: 'AyO0EwzBxj7YzTOmNb9TcIGyEvrdfAlsM2LkyFb6FWzj',
|
|
18
|
+
privateKey: '3xn43lnhB0RxwYkJ2vW4UeBPPOcb947WYsYuqsOzXa0=',
|
|
19
|
+
signedTxBase64: 'Co4BCosBChwvY29zbW9zLmJhbmsudjFiZXRhMS5Nc2dTZW5kEmsKK2hhcXExc2V5bXdyOHpzNmM5MnJjZnl6NmpsYTRhNTBkcm13Z3E5dHp2bHoSK2hhcXExOXAycm52emFoeHFoOXlrcmozcnFtamRndjBtejZlZm5qbWR6YTcaDwoFYUlTTE0SBjEwMDAwMBJ8ClkKTwooL2V0aGVybWludC5jcnlwdG8udjEuZXRoc2VjcDI1NmsxLlB1YktleRIjCiEDI7QTDMHGPtjNM6Y1v1NwgbIS+t18CWwzYuTIVvoVbOMSBAoCCAEYGBIfChkKBWFJU0xNEhA0MDAwMDAwMDAwMDAwMDAwEMCaDBpAEdqy59rfNqIrgmBcHh4j6vsLIl9MeOldeVy/a1aa0yw3163yQBtqvV9Esn3rpwAWNzN6sBFjB00Of3VYdqoxLQ==',
|
|
20
|
+
sender: 'haqq1seymwr8zs6c92rcfyz6jla4a50drmwgq9tzvlz',
|
|
21
|
+
recipient: 'haqq19p2rnvzahxqh9ykrj3rqmjdgv0mz6efnjmdza7',
|
|
22
|
+
chainId: 'haqq_54211-3',
|
|
23
|
+
accountNumber: 167676,
|
|
24
|
+
sequence: 24,
|
|
25
|
+
sendAmount: '100000',
|
|
26
|
+
feeAmount: '4000000000000000',
|
|
27
|
+
sendMessage: {
|
|
28
|
+
typeUrl: '/cosmos.bank.v1beta1.MsgSend',
|
|
29
|
+
value: {
|
|
30
|
+
fromAddress: 'haqq1seymwr8zs6c92rcfyz6jla4a50drmwgq9tzvlz',
|
|
31
|
+
toAddress: 'haqq19p2rnvzahxqh9ykrj3rqmjdgv0mz6efnjmdza7',
|
|
32
|
+
amount: [
|
|
33
|
+
{
|
|
34
|
+
denom: 'aISLM',
|
|
35
|
+
amount: '100000',
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
gasBudget: {
|
|
41
|
+
amount: [
|
|
42
|
+
{
|
|
43
|
+
denom: 'aISLM',
|
|
44
|
+
amount: '4000000000000000',
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
gasLimit: 200000,
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
exports.TEST_DELEGATE_TX = {
|
|
51
|
+
hash: 'F7E8933B59F514A0EEF66434C2438B639D208435071CC6F09BD07E229A19A262',
|
|
52
|
+
signature: 'Bd9eww9Nh2WlH6vI8pPkD667hDXh/ErfjNkESsP5EokkUp/qbTaz0VWRXG6fJSbsY0iWhtonlnZqKCijAYqPgQ==',
|
|
53
|
+
pubKey: 'AyO0EwzBxj7YzTOmNb9TcIGyEvrdfAlsM2LkyFb6FWzj',
|
|
54
|
+
privateKey: '3xn43lnhB0RxwYkJ2vW4UeBPPOcb947WYsYuqsOzXa0=',
|
|
55
|
+
signedTxBase64: 'CpwBCpkBCiMvY29zbW9zLnN0YWtpbmcudjFiZXRhMS5Nc2dEZWxlZ2F0ZRJyCitoYXFxMXNleW13cjh6czZjOTJyY2Z5ejZqbGE0YTUwZHJtd2dxOXR6dmx6EjJoYXFxdmFsb3BlcjE4eGEyZTJ6NG5kbWdlZjlhN2M3bGowMGV0dXR3MmRhZnl5aGRreBoPCgVhSVNMTRIGMTAwMDAwEnwKWQpPCigvZXRoZXJtaW50LmNyeXB0by52MS5ldGhzZWNwMjU2azEuUHViS2V5EiMKIQMjtBMMwcY+2M0zpjW/U3CBshL63XwJbDNi5MhW+hVs4xIECgIIARgREh8KGQoFYUlTTE0SEDQwMDAwMDAwMDAwMDAwMDAQwJoMGkAF317DD02HZaUfq8jyk+QPrruENeH8St+M2QRKw/kSiSRSn+ptNrPRVZFcbp8lJuxjSJaG2ieWdmooKKMBio+B',
|
|
56
|
+
delegator: 'haqq1seymwr8zs6c92rcfyz6jla4a50drmwgq9tzvlz',
|
|
57
|
+
validator: 'haqqvaloper18xa2e2z4ndmgef9a7c7lj00etutw2dafyyhdkx',
|
|
58
|
+
chainId: 'haqq_54211-3',
|
|
59
|
+
accountNumber: 167676,
|
|
60
|
+
sequence: 17,
|
|
61
|
+
sendAmount: '100000',
|
|
62
|
+
feeAmount: '4000000000000000',
|
|
63
|
+
sendMessage: {
|
|
64
|
+
typeUrl: '/cosmos.staking.v1beta1.MsgDelegate',
|
|
65
|
+
value: {
|
|
66
|
+
delegatorAddress: 'haqq1seymwr8zs6c92rcfyz6jla4a50drmwgq9tzvlz',
|
|
67
|
+
validatorAddress: 'haqqvaloper18xa2e2z4ndmgef9a7c7lj00etutw2dafyyhdkx',
|
|
68
|
+
amount: {
|
|
69
|
+
denom: 'aISLM',
|
|
70
|
+
amount: '100000',
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
gasBudget: {
|
|
75
|
+
amount: [
|
|
76
|
+
{
|
|
77
|
+
denom: 'aISLM',
|
|
78
|
+
amount: '4000000000000000',
|
|
79
|
+
},
|
|
80
|
+
],
|
|
81
|
+
gasLimit: 200000,
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
exports.TEST_UNDELEGATE_TX = {
|
|
85
|
+
hash: 'CCBD92831278103E852E8FB0C038717EA2B122A4C59BFEDC76E2BEE5F4F128BE',
|
|
86
|
+
signature: 'fB8iHcGdjlb67Si9D68LK/jKsHPVkm7+Xcv+Hv+akG0RHSVrQvy2XowSFjfTwqt16Je7RWlLvfyfL/wq2Y9M6w==',
|
|
87
|
+
pubKey: 'AyO0EwzBxj7YzTOmNb9TcIGyEvrdfAlsM2LkyFb6FWzj',
|
|
88
|
+
privateKey: '3xn43lnhB0RxwYkJ2vW4UeBPPOcb947WYsYuqsOzXa0=',
|
|
89
|
+
signedTxBase64: 'Cp4BCpsBCiUvY29zbW9zLnN0YWtpbmcudjFiZXRhMS5Nc2dVbmRlbGVnYXRlEnIKK2hhcXExc2V5bXdyOHpzNmM5MnJjZnl6NmpsYTRhNTBkcm13Z3E5dHp2bHoSMmhhcXF2YWxvcGVyMTh4YTJlMno0bmRtZ2VmOWE3YzdsajAwZXR1dHcyZGFmeXloZGt4Gg8KBWFJU0xNEgYxMDAwMDASfApZCk8KKC9ldGhlcm1pbnQuY3J5cHRvLnYxLmV0aHNlY3AyNTZrMS5QdWJLZXkSIwohAyO0EwzBxj7YzTOmNb9TcIGyEvrdfAlsM2LkyFb6FWzjEgQKAggBGBMSHwoZCgVhSVNMTRIQNDAwMDAwMDAwMDAwMDAwMBDAmgwaQHwfIh3BnY5W+u0ovQ+vCyv4yrBz1ZJu/l3L/h7/mpBtER0la0L8tl6MEhY308KrdeiXu0VpS738ny/8KtmPTOs=',
|
|
90
|
+
delegator: 'haqq1seymwr8zs6c92rcfyz6jla4a50drmwgq9tzvlz',
|
|
91
|
+
validator: 'haqqvaloper18xa2e2z4ndmgef9a7c7lj00etutw2dafyyhdkx',
|
|
92
|
+
chainId: 'haqq_54211-3',
|
|
93
|
+
accountNumber: 167676,
|
|
94
|
+
sequence: 19,
|
|
95
|
+
sendAmount: '100000',
|
|
96
|
+
feeAmount: '4000000000000000',
|
|
97
|
+
sendMessage: {
|
|
98
|
+
typeUrl: '/cosmos.staking.v1beta1.MsgUndelegate',
|
|
99
|
+
value: {
|
|
100
|
+
delegatorAddress: 'haqq1seymwr8zs6c92rcfyz6jla4a50drmwgq9tzvlz',
|
|
101
|
+
validatorAddress: 'haqqvaloper18xa2e2z4ndmgef9a7c7lj00etutw2dafyyhdkx',
|
|
102
|
+
amount: {
|
|
103
|
+
denom: 'aISLM',
|
|
104
|
+
amount: '100000',
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
gasBudget: {
|
|
109
|
+
amount: [
|
|
110
|
+
{
|
|
111
|
+
denom: 'aISLM',
|
|
112
|
+
amount: '4000000000000000',
|
|
113
|
+
},
|
|
114
|
+
],
|
|
115
|
+
gasLimit: 200000,
|
|
116
|
+
},
|
|
117
|
+
};
|
|
118
|
+
exports.TEST_WITHDRAW_REWARDS_TX = {
|
|
119
|
+
hash: '11CD80A6B569D6EC5D42C0CE082CBD125472A6BF61FC55E500950BD1A9A3B957',
|
|
120
|
+
signature: 'KXFbRvLeI+CvphTMZYz0U6wJuZ6VAZApXg/M4N8MWWpLsK8ERzppbgSSWGU30hDuI2GtD+CHUAiYy1bS3mDzSQ==',
|
|
121
|
+
pubKey: 'AyO0EwzBxj7YzTOmNb9TcIGyEvrdfAlsM2LkyFb6FWzj',
|
|
122
|
+
privateKey: '3xn43lnhB0RxwYkJ2vW4UeBPPOcb947WYsYuqsOzXa0=',
|
|
123
|
+
signedTxBase64: 'Cp8BCpwBCjcvY29zbW9zLmRpc3RyaWJ1dGlvbi52MWJldGExLk1zZ1dpdGhkcmF3RGVsZWdhdG9yUmV3YXJkEmEKK2hhcXExc2V5bXdyOHpzNmM5MnJjZnl6NmpsYTRhNTBkcm13Z3E5dHp2bHoSMmhhcXF2YWxvcGVyMTh4YTJlMno0bmRtZ2VmOWE3YzdsajAwZXR1dHcyZGFmeXloZGt4EnwKWQpPCigvZXRoZXJtaW50LmNyeXB0by52MS5ldGhzZWNwMjU2azEuUHViS2V5EiMKIQMjtBMMwcY+2M0zpjW/U3CBshL63XwJbDNi5MhW+hVs4xIECgIIARgSEh8KGQoFYUlTTE0SEDQwMDAwMDAwMDAwMDAwMDAQwJoMGkApcVtG8t4j4K+mFMxljPRTrAm5npUBkCleD8zg3wxZakuwrwRHOmluBJJYZTfSEO4jYa0P4IdQCJjLVtLeYPNJ',
|
|
124
|
+
delegator: 'haqq1seymwr8zs6c92rcfyz6jla4a50drmwgq9tzvlz',
|
|
125
|
+
validator: 'haqqvaloper18xa2e2z4ndmgef9a7c7lj00etutw2dafyyhdkx',
|
|
126
|
+
chainId: 'haqq_54211-3',
|
|
127
|
+
accountNumber: 167676,
|
|
128
|
+
sequence: 18,
|
|
129
|
+
sendAmount: '100000',
|
|
130
|
+
feeAmount: '4000000000000000',
|
|
131
|
+
sendMessage: {
|
|
132
|
+
typeUrl: '/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward',
|
|
133
|
+
value: {
|
|
134
|
+
delegatorAddress: 'haqq1seymwr8zs6c92rcfyz6jla4a50drmwgq9tzvlz',
|
|
135
|
+
validatorAddress: 'haqqvaloper18xa2e2z4ndmgef9a7c7lj00etutw2dafyyhdkx',
|
|
136
|
+
amount: {
|
|
137
|
+
denom: 'aISLM',
|
|
138
|
+
amount: '100000',
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
},
|
|
142
|
+
gasBudget: {
|
|
143
|
+
amount: [
|
|
144
|
+
{
|
|
145
|
+
denom: 'aISLM',
|
|
146
|
+
amount: '4000000000000000',
|
|
147
|
+
},
|
|
148
|
+
],
|
|
149
|
+
gasLimit: 200000,
|
|
150
|
+
},
|
|
151
|
+
};
|
|
152
|
+
exports.TEST_TX_WITH_MEMO = {
|
|
153
|
+
hash: 'D930F12BC6764AA1971AFB20F466AC6F598C664BBCFE792D2D421C8C77B239A8',
|
|
154
|
+
signature: 'ojuPe7cO37Zs69g5lHSg+NO18WE0/6qNoKnyeaomeYxhp+U7Ym7J5Z/fWAWTrP2+AWRmCqNuPOhnSxfFZabkSw==',
|
|
155
|
+
pubKey: 'AyO0EwzBxj7YzTOmNb9TcIGyEvrdfAlsM2LkyFb6FWzj',
|
|
156
|
+
privateKey: '3xn43lnhB0RxwYkJ2vW4UeBPPOcb947WYsYuqsOzXa0=',
|
|
157
|
+
signedTxBase64: 'CpIBCosBChwvY29zbW9zLmJhbmsudjFiZXRhMS5Nc2dTZW5kEmsKK2hhcXExc2V5bXdyOHpzNmM5MnJjZnl6NmpsYTRhNTBkcm13Z3E5dHp2bHoSK2hhcXExOXAycm52emFoeHFoOXlrcmozcnFtamRndjBtejZlZm5qbWR6YTcaDwoFYUlTTE0SBjEwMDAwMBICMjMSfApZCk8KKC9ldGhlcm1pbnQuY3J5cHRvLnYxLmV0aHNlY3AyNTZrMS5QdWJLZXkSIwohAyO0EwzBxj7YzTOmNb9TcIGyEvrdfAlsM2LkyFb6FWzjEgQKAggBGBQSHwoZCgVhSVNMTRIQNDAwMDAwMDAwMDAwMDAwMBDAmgwaQKI7j3u3Dt+2bOvYOZR0oPjTtfFhNP+qjaCp8nmqJnmMYaflO2JuyeWf31gFk6z9vgFkZgqjbjzoZ0sXxWWm5Es=',
|
|
158
|
+
sender: 'haqq1seymwr8zs6c92rcfyz6jla4a50drmwgq9tzvlz',
|
|
159
|
+
recipient: 'haqq19p2rnvzahxqh9ykrj3rqmjdgv0mz6efnjmdza7',
|
|
160
|
+
chainId: 'haqq_54211-3',
|
|
161
|
+
accountNumber: 167676,
|
|
162
|
+
sequence: 20,
|
|
163
|
+
sendAmount: '100000',
|
|
164
|
+
feeAmount: '4000000000000000',
|
|
165
|
+
sendMessage: {
|
|
166
|
+
typeUrl: '/cosmos.bank.v1beta1.MsgSend',
|
|
167
|
+
value: {
|
|
168
|
+
fromAddress: 'haqq1seymwr8zs6c92rcfyz6jla4a50drmwgq9tzvlz',
|
|
169
|
+
toAddress: 'haqq19p2rnvzahxqh9ykrj3rqmjdgv0mz6efnjmdza7',
|
|
170
|
+
amount: [
|
|
171
|
+
{
|
|
172
|
+
denom: 'aISLM',
|
|
173
|
+
amount: '100000',
|
|
174
|
+
},
|
|
175
|
+
],
|
|
176
|
+
},
|
|
177
|
+
},
|
|
178
|
+
memo: '23',
|
|
179
|
+
gasBudget: {
|
|
180
|
+
amount: [
|
|
181
|
+
{
|
|
182
|
+
denom: 'aISLM',
|
|
183
|
+
amount: '4000000000000000',
|
|
184
|
+
},
|
|
185
|
+
],
|
|
186
|
+
gasLimit: 200000,
|
|
187
|
+
},
|
|
188
|
+
};
|
|
189
|
+
exports.address = {
|
|
190
|
+
address1: 'haqq1g3g6nfmqf3f9lmdhf5g84pu7ustw8jt7tvrfzc',
|
|
191
|
+
address2: 'haqq1j3hhwl6exe9yjnggy33raj5s3xeskgsljvzagt',
|
|
192
|
+
address3: 'haqq2k3hhwl6exe9yjnggy33raj5s3xeskgsljvzagt',
|
|
193
|
+
address4: 'haqq1tmm005xgms7qrfm7jwpst3mj9dp8tzdld34jgv',
|
|
194
|
+
validatorAddress1: 'haqqvaloper16lp0xpq87cre5z4jkfddq78r5l4vcd7el2jlmj',
|
|
195
|
+
validatorAddress2: 'haqqvaloper16gg3wzq8h98zyn9kjp7aw3jwy6pnxslrdhl7zp',
|
|
196
|
+
validatorAddress3: 'haqqvaloper35eafuvcrh3c07z4g3pqgq68n3lmsyu5jd9swsy',
|
|
197
|
+
validatorAddress4: 'haqqvaloder1p8k6xk94u24vv9dmxu3vkgg43fs3v72grkpjhm',
|
|
198
|
+
noMemoIdAddress: 'haqq1g3g6nfmqf3f9lmdhf5g84pu7ustw8jt7tvrfzc',
|
|
199
|
+
validMemoIdAddress: 'haqq1g3g6nfmqf3f9lmdhf5g84pu7ustw8jt7tvrfzc?memoId=2',
|
|
200
|
+
invalidMemoIdAddress: 'haqq1g3g6nfmqf3f9lmdhf5g84pu7ustw8jt7tvrfzc?memoId=xyz',
|
|
201
|
+
multipleMemoIdAddress: 'haqq1g3g6nfmqf3f9lmdhf5g84pu7ustw8jt7tvrfzc?memoId=3&memoId=12',
|
|
202
|
+
};
|
|
203
|
+
exports.blockHash = {
|
|
204
|
+
hash1: '78009F3F043D3BFDE78D3DB46C98AC6C4D30BE586E8DA2A28FB1FE537DF79265',
|
|
205
|
+
hash2: '1CCB5E358CE84FB9FBD77311D25E0621356CF283159EA703455BA72A5CB61F97',
|
|
206
|
+
};
|
|
207
|
+
exports.txIds = {
|
|
208
|
+
hash1: 'CCDCFAC079BA3833AD3F8EEF3B411C9D8AE2747EF33CA516488A40E522DDD34D',
|
|
209
|
+
hash2: 'B51713C6FFD9EBEAFF158498BB6C406AFCC5E1D0423F38073714DC1F54E576F6',
|
|
210
|
+
hash3: '74BF02FE620C37EFC242B945B01A21D8E3BDAEDC23617BB0964AFC5BC598042E',
|
|
211
|
+
};
|
|
212
|
+
exports.coinAmounts = {
|
|
213
|
+
amount1: { amount: '100000', denom: 'aISLM' },
|
|
214
|
+
amount2: { amount: '1000000', denom: 'aISLM' },
|
|
215
|
+
amount3: { amount: '10000000', denom: 'aISLM' },
|
|
216
|
+
amount4: { amount: '-1', denom: 'aISLM' },
|
|
217
|
+
amount5: { amount: '1000000000', denom: 'uISLM' },
|
|
218
|
+
};
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNsbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvcmVzb3VyY2VzL2lzbG0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDJGQUEyRjs7O0FBRTlFLFFBQUEsWUFBWSxHQUFHO0lBQzFCLFVBQVUsRUFBRSw2Q0FBNkM7SUFDekQsbUJBQW1CLEVBQUUsb0VBQW9FO0lBQ3pGLHNCQUFzQixFQUFFLG9FQUFvRTtJQUM1RixxQkFBcUIsRUFDbkIsb0lBQW9JO0lBQ3RJLFVBQVUsRUFBRSxrRUFBa0U7SUFDOUUsV0FBVyxFQUNULGlIQUFpSDtJQUNuSCxXQUFXLEVBQ1QsaUhBQWlIO0NBQ3BILENBQUM7QUFFVyxRQUFBLFlBQVksR0FBRztJQUMxQixJQUFJLEVBQUUsa0VBQWtFO0lBQ3hFLFNBQVMsRUFBRSwwRkFBMEY7SUFDckcsTUFBTSxFQUFFLDhDQUE4QztJQUN0RCxVQUFVLEVBQUUsOENBQThDO0lBQzFELGNBQWMsRUFDWixzY0FBc2M7SUFDeGMsTUFBTSxFQUFFLDZDQUE2QztJQUNyRCxTQUFTLEVBQUUsNkNBQTZDO0lBQ3hELE9BQU8sRUFBRSxjQUFjO0lBQ3ZCLGFBQWEsRUFBRSxNQUFNO0lBQ3JCLFFBQVEsRUFBRSxFQUFFO0lBQ1osVUFBVSxFQUFFLFFBQVE7SUFDcEIsU0FBUyxFQUFFLGtCQUFrQjtJQUM3QixXQUFXLEVBQUU7UUFDWCxPQUFPLEVBQUUsOEJBQThCO1FBQ3ZDLEtBQUssRUFBRTtZQUNMLFdBQVcsRUFBRSw2Q0FBNkM7WUFDMUQsU0FBUyxFQUFFLDZDQUE2QztZQUN4RCxNQUFNLEVBQUU7Z0JBQ047b0JBQ0UsS0FBSyxFQUFFLE9BQU87b0JBQ2QsTUFBTSxFQUFFLFFBQVE7aUJBQ2pCO2FBQ0Y7U0FDRjtLQUNGO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsTUFBTSxFQUFFLGtCQUFrQjthQUMzQjtTQUNGO1FBQ0QsUUFB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RSx3REFBd0Q7SUFDOUUscUJBQXFCLEVBQUUsZ0VBQWdFO0NBQ3hGLENBQUM7QUFFVyxRQUFBLFNBQVMsR0FBRztJQUN2QixLQUFLLEVBQUUsa0VBQWtFO0lBQ3pFLEtBQUssRUFBRSxrRUFBa0U7Q0FDMUUsQ0FBQztBQUVXLFFBQUEsS0FBSyxHQUFHO0lBQ25CLEtBQUssRUFBRSxrRUFBa0U7SUFDekUsS0FBSyxFQUFFLGtFQUFrRTtJQUN6RSxLQUFLLEVBQUUsa0VBQWtFO0NBQzFFLENBQUM7QUFFVyxRQUFBLFdBQVcsR0FBRztJQUN6QixPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7SUFDN0MsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO0lBQzlDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtJQUMvQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7SUFDekMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO0NBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHZXQgdGhlIHRlc3QgZGF0YSBieSBydW5uaW5nIHRoZSBzY3JpcHRzIGZvciB0aGUgcGFydGljdWxhciBjb2luIGZyb20gY29pbi1zYW5kYm94IHJlcG8uXG5cbmV4cG9ydCBjb25zdCBURVNUX0FDQ09VTlQgPSB7XG4gIHB1YkFkZHJlc3M6ICdoYXFxMXozNG14dHA5eGQwdHY4OWNmeXZjOXI0Y2NrZnF0M2dzMmEweGg1JyxcbiAgY29tcHJlc3NlZFB1YmxpY0tleTogJzAyOWFlNjJiYTUxNjhmNGE3ZTRhNDhjZTllYzg1YjZhMGJhMWM3Y2JiNjc2YTk1ZmY5OTNmOGIwZGY3NGE0NjFkZicsXG4gIGNvbXByZXNzZWRQdWJsaWNLZXlUd286ICcwMzFkYWJiMjA2OWRmYTYxNGI5NDU3Y2U5ZmM4NGMyYTdiM2I2ZjVlM2NiYjU3YzYzMzM4MGM1ZjRmY2ZkMTQ4NmEnLFxuICB1bmNvbXByZXNzZWRQdWJsaWNLZXk6XG4gICAgJzA0OWFlNjJiYTUxNjhmNGE3ZTRhNDhjZTllYzg1YjZhMGJhMWM3Y2JiNjc2YTk1ZmY5OTNmOGIwZGY3NGE0NjFkZjM3MWIxMzZhOWJlNWRiYzBlMjMzYWQ3MGE3MzNhMzdiZWViNDEzOThkZjY5Mzc2MzI2YzkyMDczNjgyNTVhNmEnLFxuICBwcml2YXRlS2V5OiAnMmJjMTVjN2VhNDg4MTUyNDQ2OWY5NGUwNTM0MjlkOTJiODlmNjBkMWVmYjUwNDgyNTgyOTEwNTJhZTBmNzBmZicsXG4gIGV4dGVuZGVkUHJ2OlxuICAgICd4cHJ2OXMyMVpyUUgxNDNLMnhTOFRXdUZrc0xCSFJSYzk5NGUxNjZrblNyYnRCWVZMcFhETmtFRjFEWDQ1TXZBZFc5N25WOUZzcnptUHRQQ2NnOGRNeHpGQmVTMlNaMXBXSEMyazh4TE11VHY2NzMnLFxuICBleHRlbmRlZFB1YjpcbiAgICAneHB1YjY2MU15TXdBcVJiY0ZTV2JaWVNHODFHdXFURzZZYm5WTksyTWFxR0RTWDVVRGNyTXZIWVZaMXFYdmRudDZFWldGWE13ZXJMOHlTcUp2ajkxODU1V1V4aVJjdkR5VlR3VFlEaEozSlluQzhmJyxcbn07XG5cbmV4cG9ydCBjb25zdCBURVNUX1NFTkRfVFggPSB7XG4gIGhhc2g6ICcyNjc5RDI5N0NENDEzNDY3MDdFRjgxMTZEMTY5MTA3ODE5OUZFQjgxMzREMUVFQ0FFNTg5NEI2MThENDVBQzg0JyxcbiAgc2lnbmF0dXJlOiAnRWRxeTU5cmZOcUlyZ21CY0hoNGo2dnNMSWw5TWVPbGRlVnkvYTFhYTB5dzMxNjN5UUJ0cXZWOUVzbjNycHdBV056TjZzQkZqQjAwT2YzVllkcW94TFE9PScsXG4gIHB1YktleTogJ0F5TzBFd3pCeGo3WXpUT21OYjlUY0lHeUV2cmRmQWxzTTJMa3lGYjZGV3pqJyxcbiAgcHJpdmF0ZUtleTogJzN4bjQzbG5oQjBSeHdZa0oydlc0VWVCUFBPY2I5NDdXWXNZdXFzT3pYYTA9JyxcbiAgc2lnbmVkVHhCYXNlNjQ6XG4gICAgJ0NvNEJDb3NCQ2h3dlkyOXpiVzl6TG1KaGJtc3VkakZpWlhSaE1TNU5jMmRUWlc1a0Vtc0tLMmhoY1hFeGMyVjViWGR5T0hwek5tTTVNbkpqWm5sNk5tcHNZVFJoTlRCa2NtMTNaM0U1ZEhwMmJIb1NLMmhoY1hFeE9YQXljbTUyZW1Gb2VIRm9PWGxyY21vemNuRnRhbVJuZGpCdGVqWmxabTVxYldSNllUY2FEd29GWVVsVFRFMFNCakV3TURBd01CSjhDbGtLVHdvb0wyVjBhR1Z5YldsdWRDNWpjbmx3ZEc4dWRqRXVaWFJvYzJWamNESTFObXN4TGxCMVlrdGxlUklqQ2lFREk3UVRETUhHUHRqTk02WTF2MU53Z2JJUyt0MThDV3d6WXVUSVZ2b1ZiT01TQkFvQ0NBRVlHQklmQ2hrS0JXRkpVMHhORWhBME1EQXdNREF3TURBd01EQXdNREF3RU1DYURCcEFFZHF5NTlyZk5xSXJnbUJjSGg0ajZ2c0xJbDlNZU9sZGVWeS9hMWFhMHl3MzE2M3lRQnRxdlY5RXNuM3Jwd0FXTnpONnNCRmpCMDBPZjNWWWRxb3hMUT09JyxcbiAgc2VuZGVyOiAnaGFxcTFzZXltd3I4enM2YzkycmNmeXo2amxhNGE1MGRybXdncTl0enZseicsXG4gIHJlY2lwaWVudDogJ2hhcXExOXAycm52emFoeHFoOXlrcmozcnFtamRndjBtejZlZm5qbWR6YTcnLFxuICBjaGFpbklkOiAnaGFxcV81NDIxMS0zJyxcbiAgYWNjb3VudE51bWJlcjogMTY3Njc2LFxuICBzZXF1ZW5jZTogMjQsXG4gIHNlbmRBbW91bnQ6ICcxMDAwMDAnLFxuICBmZWVBbW91bnQ6ICc0MDAwMDAwMDAwMDAwMDAwJyxcbiAgc2VuZE1lc3NhZ2U6IHtcbiAgICB0eXBlVXJsOiAnL2Nvc21vcy5iYW5rLnYxYmV0YTEuTXNnU2VuZCcsXG4gICAgdmFsdWU6IHtcbiAgICAgIGZyb21BZGRyZXNzOiAnaGFxcTFzZXltd3I4enM2YzkycmNmeXo2amxhNGE1MGRybXdncTl0enZseicsXG4gICAgICB0b0FkZHJlc3M6ICdoYXFxMTlwMnJudnphaHhxaDl5a3JqM3JxbWpkZ3YwbXo2ZWZuam1kemE3JyxcbiAgICAgIGFtb3VudDogW1xuICAgICAgICB7XG4gICAgICAgICAgZGVub206ICdhSVNMTScsXG4gICAgICAgICAgYW1vdW50OiAnMTAwMDAwJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgfSxcbiAgZ2FzQnVkZ2V0OiB7XG4gICAgYW1vdW50OiBbXG4gICAgICB7XG4gICAgICAgIGRlbm9tOiAnYUlTTE0nLFxuICAgICAgICBhbW91bnQ6ICc0MDAwMDAwMDAwMDAwMDAwJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBnYXNMaW1pdDogMjAwMDAwLFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IFRFU1RfREVMRUdBVEVfVFggPSB7XG4gIGhhc2g6ICdGN0U4OTMzQjU5RjUxNEEwRUVGNjY0MzRDMjQzOEI2MzlEMjA4NDM1MDcxQ0M2RjA5QkQwN0UyMjlBMTlBMjYyJyxcbiAgc2lnbmF0dXJlOiAnQmQ5ZXd3OU5oMldsSDZ2SThwUGtENjY3aERYaC9FcmZqTmtFU3NQNUVva2tVcC9xYlRhejBWV1JYRzZmSlNic1kwaVdodG9ubG5acUtDaWpBWXFQZ1E9PScsXG4gIHB1YktleTogJ0F5TzBFd3pCeGo3WXpUT21OYjlUY0lHeUV2cmRmQWxzTTJMa3lGYjZGV3pqJyxcbiAgcHJpdmF0ZUtleTogJzN4bjQzbG5oQjBSeHdZa0oydlc0VWVCUFBPY2I5NDdXWXNZdXFzT3pYYTA9JyxcbiAgc2lnbmVkVHhCYXNlNjQ6XG4gICAgJ0Nwd0JDcGtCQ2lNdlkyOXpiVzl6TG5OMFlXdHBibWN1ZGpGaVpYUmhNUzVOYzJkRVpXeGxaMkYwWlJKeUNpdG9ZWEZ4TVhObGVXMTNjamg2Y3paak9USnlZMlo1ZWpacWJHRTBZVFV3WkhKdGQyZHhPWFI2ZG14NkVqSm9ZWEZ4ZG1Gc2IzQmxjakU0ZUdFeVpUSjZORzVrYldkbFpqbGhOMk0zYkdvd01HVjBkWFIzTW1SaFpubDVhR1JyZUJvUENnVmhTVk5NVFJJR01UQXdNREF3RW53S1dRcFBDaWd2WlhSb1pYSnRhVzUwTG1OeWVYQjBieTUyTVM1bGRHaHpaV053TWpVMmF6RXVVSFZpUzJWNUVpTUtJUU1qdEJNTXdjWSsyTTB6cGpXL1UzQ0JzaEw2M1h3SmJETmk1TWhXK2hWczR4SUVDZ0lJQVJnUkVoOEtHUW9GWVVsVFRFMFNFRFF3TURBd01EQXdNREF3TURBd01EQVF3Sm9NR2tBRjMxN0REMDJIWmFVZnE4anlrK1FQcnJ1RU5lSDhTdCtNMlFSS3cva1NpU1JTbitwdE5yUFJWWkZjYnA4bEp1eGpTSmFHMmllV2Rtb29LS01CaW8rQicsXG4gIGRlbGVnYXRvcjogJ2hhcXExc2V5bXdyOHpzNmM5MnJjZnl6NmpsYTRhNTBkcm13Z3E5dHp2bHonLFxuICB2YWxpZGF0b3I6ICdoYXFxdmFsb3BlcjE4eGEyZTJ6NG5kbWdlZjlhN2M3bGowMGV0dXR3MmRhZnl5aGRreCcsXG4gIGNoYWluSWQ6ICdoYXFxXzU0MjExLTMnLFxuICBhY2NvdW50TnVtYmVyOiAxNjc2NzYsXG4gIHNlcXVlbmNlOiAxNyxcbiAgc2VuZEFtb3VudDogJzEwMDAwMCcsXG4gIGZlZUFtb3VudDogJzQwMDAwMDAwMDAwMDAwMDAnLFxuICBzZW5kTWVzc2FnZToge1xuICAgIHR5cGVVcmw6ICcvY29zbW9zLnN0YWtpbmcudjFiZXRhMS5Nc2dEZWxlZ2F0ZScsXG4gICAgdmFsdWU6IHtcbiAgICAgIGRlbGVnYXRvckFkZHJlc3M6ICdoYXFxMXNleW13cjh6czZjOTJyY2Z5ejZqbGE0YTUwZHJtd2dxOXR6dmx6JyxcbiAgICAgIHZhbGlkYXRvckFkZHJlc3M6ICdoYXFxdmFsb3BlcjE4eGEyZTJ6NG5kbWdlZjlhN2M3bGowMGV0dXR3MmRhZnl5aGRreCcsXG4gICAgICBhbW91bnQ6IHtcbiAgICAgICAgZGVub206ICdhSVNMTScsXG4gICAgICAgIGFtb3VudDogJzEwMDAwMCcsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIGdhc0J1ZGdldDoge1xuICAgIGFtb3VudDogW1xuICAgICAge1xuICAgICAgICBkZW5vbTogJ2FJU0xNJyxcbiAgICAgICAgYW1vdW50OiAnNDAwMDAwMDAwMDAwMDAwMCcsXG4gICAgICB9LFxuICAgIF0sXG4gICAgZ2FzTGltaXQ6IDIwMDAwMCxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBURVNUX1VOREVMRUdBVEVfVFggPSB7XG4gIGhhc2g6ICdDQ0JEOTI4MzEyNzgxMDNFODUyRThGQjBDMDM4NzE3RUEyQjEyMkE0QzU5QkZFREM3NkUyQkVFNUY0RjEyOEJFJyxcbiAgc2lnbmF0dXJlOiAnZkI4aUhjR2RqbGI2N1NpOUQ2OExLL2pLc0hQVmttNytYY3YrSHYrYWtHMFJIU1ZyUXZ5Mlhvd1NGamZUd3F0MTZKZTdSV2xMdmZ5Zkwvd3EyWTlNNnc9PScsXG4gIHB1YktleTogJ0F5TzBFd3pCeGo3WXpUT21OYjlUY0lHeUV2cmRmQWxzTTJMa3lGYjZGV3pqJyxcbiAgcHJpdmF0ZUtleTogJzN4bjQzbG5oQjBSeHdZa0oydlc0VWVCUFBPY2I5NDdXWXNZdXFzT3pYYTA9JyxcbiAgc2lnbmVkVHhCYXNlNjQ6XG4gICAgJ0NwNEJDcHNCQ2lVdlkyOXpiVzl6TG5OMFlXdHBibWN1ZGpGaVpYUmhNUzVOYzJkVmJtUmxiR1ZuWVhSbEVuSUtLMmhoY1hFeGMyVjViWGR5T0hwek5tTTVNbkpqWm5sNk5tcHNZVFJoTlRCa2NtMTNaM0U1ZEhwMmJIb1NNbWhoY1hGMllXeHZjR1Z5TVRoNFlUSmxNbm8wYm1SdFoyVm1PV0UzWXpkc2FqQXdaWFIxZEhjeVpHRm1lWGxvWkd0NEdnOEtCV0ZKVTB4TkVnWXhNREF3TURBU2ZBcFpDazhLS0M5bGRHaGxjbTFwYm5RdVkzSjVjSFJ2TG5ZeExtVjBhSE5sWTNBeU5UWnJNUzVRZFdKTFpYa1NJd29oQXlPMEV3ekJ4ajdZelRPbU5iOVRjSUd5RXZyZGZBbHNNMkxreUZiNkZXempFZ1FLQWdnQkdCTVNId29aQ2dWaFNWTk1UUklRTkRBd01EQXdNREF3TURBd01EQXdNQkRBbWd3YVFId2ZJaDNCblk1Vyt1MG92USt2Q3l2NHlyQnoxWkp1L2wzTC9oNy9tcEJ0RVIwbGEwTDh0bDZNRWhZMzA4S3JkZWlYdTBWcFM3MzhueS84S3RtUFRPcz0nLFxuICBkZWxlZ2F0b3I6ICdoYXFxMXNleW13cjh6czZjOTJyY2Z5ejZqbGE0YTUwZHJtd2dxOXR6dmx6JyxcbiAgdmFsaWRhdG9yOiAnaGFxcXZhbG9wZXIxOHhhMmUyejRuZG1nZWY5YTdjN2xqMDBldHV0dzJkYWZ5eWhka3gnLFxuICBjaGFpbklkOiAnaGFxcV81NDIxMS0zJyxcbiAgYWNjb3VudE51bWJlcjogMTY3Njc2LFxuICBzZXF1ZW5jZTogMTksXG4gIHNlbmRBbW91bnQ6ICcxMDAwMDAnLFxuICBmZWVBbW91bnQ6ICc0MDAwMDAwMDAwMDAwMDAwJyxcbiAgc2VuZE1lc3NhZ2U6IHtcbiAgICB0eXBlVXJsOiAnL2Nvc21vcy5zdGFraW5nLnYxYmV0YTEuTXNnVW5kZWxlZ2F0ZScsXG4gICAgdmFsdWU6IHtcbiAgICAgIGRlbGVnYXRvckFkZHJlc3M6ICdoYXFxMXNleW13cjh6czZjOTJyY2Z5ejZqbGE0YTUwZHJtd2dxOXR6dmx6JyxcbiAgICAgIHZhbGlkYXRvckFkZHJlc3M6ICdoYXFxdmFsb3BlcjE4eGEyZTJ6NG5kbWdlZjlhN2M3bGowMGV0dXR3MmRhZnl5aGRreCcsXG4gICAgICBhbW91bnQ6IHtcbiAgICAgICAgZGVub206ICdhSVNMTScsXG4gICAgICAgIGFtb3VudDogJzEwMDAwMCcsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIGdhc0J1ZGdldDoge1xuICAgIGFtb3VudDogW1xuICAgICAge1xuICAgICAgICBkZW5vbTogJ2FJU0xNJyxcbiAgICAgICAgYW1vdW50OiAnNDAwMDAwMDAwMDAwMDAwMCcsXG4gICAgICB9LFxuICAgIF0sXG4gICAgZ2FzTGltaXQ6IDIwMDAwMCxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBURVNUX1dJVEhEUkFXX1JFV0FSRFNfVFggPSB7XG4gIGhhc2g6ICcxMUNEODBBNkI1NjlENkVDNUQ0MkMwQ0UwODJDQkQxMjU0NzJBNkJGNjFGQzU1RTUwMDk1MEJEMUE5QTNCOTU3JyxcbiAgc2lnbmF0dXJlOiAnS1hGYlJ2TGVJK0N2cGhUTVpZejBVNndKdVo2VkFaQXBYZy9NNE44TVdXcExzSzhFUnpwcGJnU1NXR1UzMGhEdUkyR3REK0NIVUFpWXkxYlMzbUR6U1E9PScsXG4gIHB1YktleTogJ0F5TzBFd3pCeGo3WXpUT21OYjlUY0lHeUV2cmRmQWxzTTJMa3lGYjZGV3pqJyxcbiAgcHJpdmF0ZUtleTogJzN4bjQzbG5oQjBSeHdZa0oydlc0VWVCUFBPY2I5NDdXWXNZdXFzT3pYYTA9JyxcbiAgc2lnbmVkVHhCYXNlNjQ6XG4gICAgJ0NwOEJDcHdCQ2pjdlkyOXpiVzl6TG1ScGMzUnlhV0oxZEdsdmJpNTJNV0psZEdFeExrMXpaMWRwZEdoa2NtRjNSR1ZzWldkaGRHOXlVbVYzWVhKa0VtRUtLMmhoY1hFeGMyVjViWGR5T0hwek5tTTVNbkpqWm5sNk5tcHNZVFJoTlRCa2NtMTNaM0U1ZEhwMmJIb1NNbWhoY1hGMllXeHZjR1Z5TVRoNFlUSmxNbm8wYm1SdFoyVm1PV0UzWXpkc2FqQXdaWFIxZEhjeVpHRm1lWGxvWkd0NEVud0tXUXBQQ2lndlpYUm9aWEp0YVc1MExtTnllWEIwYnk1Mk1TNWxkR2h6WldOd01qVTJhekV1VUhWaVMyVjVFaU1LSVFNanRCTU13Y1krMk0wenBqVy9VM0NCc2hMNjNYd0piRE5pNU1oVytoVnM0eElFQ2dJSUFSZ1NFaDhLR1FvRllVbFRURTBTRURRd01EQXdNREF3TURBd01EQXdNREFRd0pvTUdrQXBjVnRHOHQ0ajRLK21GTXhsalBSVHJBbTVucFVCa0NsZUQ4emczd3haYWt1d3J3UkhPbWx1QkpKWVpUZlNFTzRqWWEwUDRJZFFDSmpMVnRMZVlQTkonLFxuICBkZWxlZ2F0b3I6ICdoYXFxMXNleW13cjh6czZjOTJyY2Z5ejZqbGE0YTUwZHJtd2dxOXR6dmx6JyxcbiAgdmFsaWRhdG9yOiAnaGFxcXZhbG9wZXIxOHhhMmUyejRuZG1nZWY5YTdjN2xqMDBldHV0dzJkYWZ5eWhka3gnLFxuICBjaGFpbklkOiAnaGFxcV81NDIxMS0zJyxcbiAgYWNjb3VudE51bWJlcjogMTY3Njc2LFxuICBzZXF1ZW5jZTogMTgsXG4gIHNlbmRBbW91bnQ6ICcxMDAwMDAnLFxuICBmZWVBbW91bnQ6ICc0MDAwMDAwMDAwMDAwMDAwJyxcbiAgc2VuZE1lc3NhZ2U6IHtcbiAgICB0eXBlVXJsOiAnL2Nvc21vcy5kaXN0cmlidXRpb24udjFiZXRhMS5Nc2dXaXRoZHJhd0RlbGVnYXRvclJld2FyZCcsXG4gICAgdmFsdWU6IHtcbiAgICAgIGRlbGVnYXRvckFkZHJlc3M6ICdoYXFxMXNleW13cjh6czZjOTJyY2Z5ejZqbGE0YTUwZHJtd2dxOXR6dmx6JyxcbiAgICAgIHZhbGlkYXRvckFkZHJlc3M6ICdoYXFxdmFsb3BlcjE4eGEyZTJ6NG5kbWdlZjlhN2M3bGowMGV0dXR3MmRhZnl5aGRreCcsXG4gICAgICBhbW91bnQ6IHtcbiAgICAgICAgZGVub206ICdhSVNMTScsXG4gICAgICAgIGFtb3VudDogJzEwMDAwMCcsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIGdhc0J1ZGdldDoge1xuICAgIGFtb3VudDogW1xuICAgICAge1xuICAgICAgICBkZW5vbTogJ2FJU0xNJyxcbiAgICAgICAgYW1vdW50OiAnNDAwMDAwMDAwMDAwMDAwMCcsXG4gICAgICB9LFxuICAgIF0sXG4gICAgZ2FzTGltaXQ6IDIwMDAwMCxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBURVNUX1RYX1dJVEhfTUVNTyA9IHtcbiAgaGFzaDogJ0Q5MzBGMTJCQzY3NjRBQTE5NzFBRkIyMEY0NjZBQzZGNTk4QzY2NEJCQ0ZFNzkyRDJENDIxQzhDNzdCMjM5QTgnLFxuICBzaWduYXR1cmU6ICdvanVQZTdjTzM3WnM2OWc1bEhTZytOTzE4V0UwLzZxTm9LbnllYW9tZVl4aHArVTdZbTdKNVovZldBV1RyUDIrQVdSbUNxTnVQT2huU3hmRlphYmtTdz09JyxcbiAgcHViS2V5OiAnQXlPMEV3ekJ4ajdZelRPbU5iOVRjSUd5RXZyZGZBbHNNMkxreUZiNkZXemonLFxuICBwcml2YXRlS2V5OiAnM3huNDNsbmhCMFJ4d1lrSjJ2VzRVZUJQUE9jYjk0N1dZc1l1cXNPelhhMD0nLFxuICBzaWduZWRUeEJhc2U2NDpcbiAgICAnQ3BJQkNvc0JDaHd2WTI5emJXOXpMbUpoYm1zdWRqRmlaWFJoTVM1TmMyZFRaVzVrRW1zS0syaGhjWEV4YzJWNWJYZHlPSHB6Tm1NNU1uSmpabmw2Tm1wc1lUUmhOVEJrY20xM1ozRTVkSHAyYkhvU0syaGhjWEV4T1hBeWNtNTJlbUZvZUhGb09YbHJjbW96Y25GdGFtUm5kakJ0ZWpabFptNXFiV1I2WVRjYUR3b0ZZVWxUVEUwU0JqRXdNREF3TUJJQ01qTVNmQXBaQ2s4S0tDOWxkR2hsY20xcGJuUXVZM0o1Y0hSdkxuWXhMbVYwYUhObFkzQXlOVFpyTVM1UWRXSkxaWGtTSXdvaEF5TzBFd3pCeGo3WXpUT21OYjlUY0lHeUV2cmRmQWxzTTJMa3lGYjZGV3pqRWdRS0FnZ0JHQlFTSHdvWkNnVmhTVk5NVFJJUU5EQXdNREF3TURBd01EQXdNREF3TUJEQW1nd2FRS0k3ajN1M0R0KzJiT3ZZT1pSMG9QalR0ZkZoTlArcWphQ3A4bm1xSm5tTVlhZmxPMkp1eWVXZjMxZ0ZrNno5dmdGa1pncWpianpvWjBzWHhXV201RXM9JyxcbiAgc2VuZGVyOiAnaGFxcTFzZXltd3I4enM2YzkycmNmeXo2amxhNGE1MGRybXdncTl0enZseicsXG4gIHJlY2lwaWVudDogJ2hhcXExOXAycm52emFoeHFoOXlrcmozcnFtamRndjBtejZlZm5qbWR6YTcnLFxuICBjaGFpbklkOiAnaGFxcV81NDIxMS0zJyxcbiAgYWNjb3VudE51bWJlcjogMTY3Njc2LFxuICBzZXF1ZW5jZTogMjAsXG4gIHNlbmRBbW91bnQ6ICcxMDAwMDAnLFxuICBmZWVBbW91bnQ6ICc0MDAwMDAwMDAwMDAwMDAwJyxcbiAgc2VuZE1lc3NhZ2U6IHtcbiAgICB0eXBlVXJsOiAnL2Nvc21vcy5iYW5rLnYxYmV0YTEuTXNnU2VuZCcsXG4gICAgdmFsdWU6IHtcbiAgICAgIGZyb21BZGRyZXNzOiAnaGFxcTFzZXltd3I4enM2YzkycmNmeXo2amxhNGE1MGRybXdncTl0enZseicsXG4gICAgICB0b0FkZHJlc3M6ICdoYXFxMTlwMnJudnphaHhxaDl5a3JqM3JxbWpkZ3YwbXo2ZWZuam1kemE3JyxcbiAgICAgIGFtb3VudDogW1xuICAgICAgICB7XG4gICAgICAgICAgZGVub206ICdhSVNMTScsXG4gICAgICAgICAgYW1vdW50OiAnMTAwMDAwJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgfSxcbiAgbWVtbzogJzIzJyxcbiAgZ2FzQnVkZ2V0OiB7XG4gICAgYW1vdW50OiBbXG4gICAgICB7XG4gICAgICAgIGRlbm9tOiAnYUlTTE0nLFxuICAgICAgICBhbW91bnQ6ICc0MDAwMDAwMDAwMDAwMDAwJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBnYXNMaW1pdDogMjAwMDAwLFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IGFkZHJlc3MgPSB7XG4gIGFkZHJlc3MxOiAnaGFxcTFnM2c2bmZtcWYzZjlsbWRoZjVnODRwdTd1c3R3OGp0N3R2cmZ6YycsXG4gIGFkZHJlc3MyOiAnaGFxcTFqM2hod2w2ZXhlOXlqbmdneTMzcmFqNXMzeGVza2dzbGp2emFndCcsXG4gIGFkZHJlc3MzOiAnaGFxcTJrM2hod2w2ZXhlOXlqbmdneTMzcmFqNXMzeGVza2dzbGp2emFndCcsXG4gIGFkZHJlc3M0OiAnaGFxcTF0bW0wMDV4Z21zN3FyZm03andwc3QzbWo5ZHA4dHpkbGQzNGpndicsXG4gIHZhbGlkYXRvckFkZHJlc3MxOiAnaGFxcXZhbG9wZXIxNmxwMHhwcTg3Y3JlNXo0amtmZGRxNzhyNWw0dmNkN2VsMmpsbWonLFxuICB2YWxpZGF0b3JBZGRyZXNzMjogJ2hhcXF2YWxvcGVyMTZnZzN3enE4aDk4enluOWtqcDdhdzNqd3k2cG54c2xyZGhsN3pwJyxcbiAgdmFsaWRhdG9yQWRkcmVzczM6ICdoYXFxdmFsb3BlcjM1ZWFmdXZjcmgzYzA3ejRnM3BxZ3E2OG4zbG1zeXU1amQ5c3dzeScsXG4gIHZhbGlkYXRvckFkZHJlc3M0OiAnaGFxcXZhbG9kZXIxcDhrNnhrOTR1MjR2djlkbXh1M3ZrZ2c0M2ZzM3Y3Mmdya3BqaG0nLFxuICBub01lbW9JZEFkZHJlc3M6ICdoYXFxMWczZzZuZm1xZjNmOWxtZGhmNWc4NHB1N3VzdHc4anQ3dHZyZnpjJyxcbiAgdmFsaWRNZW1vSWRBZGRyZXNzOiAnaGFxcTFnM2c2bmZtcWYzZjlsbWRoZjVnODRwdTd1c3R3OGp0N3R2cmZ6Yz9tZW1vSWQ9MicsXG4gIGludmFsaWRNZW1vSWRBZGRyZXNzOiAnaGFxcTFnM2c2bmZtcWYzZjlsbWRoZjVnODRwdTd1c3R3OGp0N3R2cmZ6Yz9tZW1vSWQ9eHl6JyxcbiAgbXVsdGlwbGVNZW1vSWRBZGRyZXNzOiAnaGFxcTFnM2c2bmZtcWYzZjlsbWRoZjVnODRwdTd1c3R3OGp0N3R2cmZ6Yz9tZW1vSWQ9MyZtZW1vSWQ9MTInLFxufTtcblxuZXhwb3J0IGNvbnN0IGJsb2NrSGFzaCA9IHtcbiAgaGFzaDE6ICc3ODAwOUYzRjA0M0QzQkZERTc4RDNEQjQ2Qzk4QUM2QzREMzBCRTU4NkU4REEyQTI4RkIxRkU1MzdERjc5MjY1JyxcbiAgaGFzaDI6ICcxQ0NCNUUzNThDRTg0RkI5RkJENzczMTFEMjVFMDYyMTM1NkNGMjgzMTU5RUE3MDM0NTVCQTcyQTVDQjYxRjk3Jyxcbn07XG5cbmV4cG9ydCBjb25zdCB0eElkcyA9IHtcbiAgaGFzaDE6ICdDQ0RDRkFDMDc5QkEzODMzQUQzRjhFRUYzQjQxMUM5RDhBRTI3NDdFRjMzQ0E1MTY0ODhBNDBFNTIyREREMzREJyxcbiAgaGFzaDI6ICdCNTE3MTNDNkZGRDlFQkVBRkYxNTg0OThCQjZDNDA2QUZDQzVFMUQwNDIzRjM4MDczNzE0REMxRjU0RTU3NkY2JyxcbiAgaGFzaDM6ICc3NEJGMDJGRTYyMEMzN0VGQzI0MkI5NDVCMDFBMjFEOEUzQkRBRURDMjM2MTdCQjA5NjRBRkM1QkM1OTgwNDJFJyxcbn07XG5cbmV4cG9ydCBjb25zdCBjb2luQW1vdW50cyA9IHtcbiAgYW1vdW50MTogeyBhbW91bnQ6ICcxMDAwMDAnLCBkZW5vbTogJ2FJU0xNJyB9LFxuICBhbW91bnQyOiB7IGFtb3VudDogJzEwMDAwMDAnLCBkZW5vbTogJ2FJU0xNJyB9LFxuICBhbW91bnQzOiB7IGFtb3VudDogJzEwMDAwMDAwJywgZGVub206ICdhSVNMTScgfSxcbiAgYW1vdW50NDogeyBhbW91bnQ6ICctMScsIGRlbm9tOiAnYUlTTE0nIH0sXG4gIGFtb3VudDU6IHsgYW1vdW50OiAnMTAwMDAwMDAwMCcsIGRlbm9tOiAndUlTTE0nIH0sXG59O1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"islm.d.ts","sourceRoot":"","sources":["../../../test/unit/islm.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const sdk_api_1 = require("@bitgo-beta/sdk-api");
|
|
7
|
+
const sdk_test_1 = require("@bitgo-beta/sdk-test");
|
|
8
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
9
|
+
const sinon_1 = __importDefault(require("sinon"));
|
|
10
|
+
const src_1 = require("../../src");
|
|
11
|
+
const utils_1 = __importDefault(require("../../src/lib/utils"));
|
|
12
|
+
const islm_1 = require("../resources/islm");
|
|
13
|
+
const should = require("should");
|
|
14
|
+
describe('Islm', function () {
|
|
15
|
+
let bitgo;
|
|
16
|
+
let basecoin;
|
|
17
|
+
before(function () {
|
|
18
|
+
bitgo = sdk_test_1.TestBitGo.decorate(sdk_api_1.BitGoAPI, { env: 'mock' });
|
|
19
|
+
bitgo.safeRegister('islm', src_1.Islm.createInstance);
|
|
20
|
+
bitgo.safeRegister('tislm', src_1.Tislm.createInstance);
|
|
21
|
+
bitgo.initializeTestVars();
|
|
22
|
+
basecoin = bitgo.coin('tislm');
|
|
23
|
+
});
|
|
24
|
+
it('should return the right info', function () {
|
|
25
|
+
const islm = bitgo.coin('islm');
|
|
26
|
+
const tislm = bitgo.coin('tislm');
|
|
27
|
+
islm.getChain().should.equal('islm');
|
|
28
|
+
islm.getFamily().should.equal('islm');
|
|
29
|
+
islm.getFullName().should.equal('Islamic Coin');
|
|
30
|
+
islm.getBaseFactor().should.equal(1e18);
|
|
31
|
+
tislm.getChain().should.equal('tislm');
|
|
32
|
+
tislm.getFamily().should.equal('islm');
|
|
33
|
+
tislm.getFullName().should.equal('Testnet Islamic Coin');
|
|
34
|
+
tislm.getBaseFactor().should.equal(1e18);
|
|
35
|
+
});
|
|
36
|
+
describe('Address Validation', () => {
|
|
37
|
+
it('should get address details without memoId', function () {
|
|
38
|
+
const addressDetails = basecoin.getAddressDetails(islm_1.address.noMemoIdAddress);
|
|
39
|
+
addressDetails.address.should.equal(islm_1.address.noMemoIdAddress);
|
|
40
|
+
should.not.exist(addressDetails.memoId);
|
|
41
|
+
});
|
|
42
|
+
it('should get address details with memoId', function () {
|
|
43
|
+
const addressDetails = basecoin.getAddressDetails(islm_1.address.validMemoIdAddress);
|
|
44
|
+
addressDetails.address.should.equal(islm_1.address.validMemoIdAddress.split('?')[0]);
|
|
45
|
+
addressDetails.memoId.should.equal('2');
|
|
46
|
+
});
|
|
47
|
+
it('should throw on multiple memo id address', () => {
|
|
48
|
+
(() => {
|
|
49
|
+
basecoin.getAddressDetails(islm_1.address.multipleMemoIdAddress);
|
|
50
|
+
}).should.throw();
|
|
51
|
+
});
|
|
52
|
+
it('should validate wallet receive address', async function () {
|
|
53
|
+
const receiveAddress = {
|
|
54
|
+
address: 'haqq1g3g6nfmqf3f9lmdhf5g84pu7ustw8jt7tvrfzc?memoId=7',
|
|
55
|
+
coinSpecific: {
|
|
56
|
+
rootAddress: 'haqq1g3g6nfmqf3f9lmdhf5g84pu7ustw8jt7tvrfzc',
|
|
57
|
+
memoID: '7',
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
const isValid = await basecoin.isWalletAddress(receiveAddress);
|
|
61
|
+
isValid.should.equal(true);
|
|
62
|
+
});
|
|
63
|
+
it('should validate account addresses correctly', () => {
|
|
64
|
+
should.equal(utils_1.default.isValidAddress(islm_1.address.address1), true);
|
|
65
|
+
should.equal(utils_1.default.isValidAddress(islm_1.address.address2), true);
|
|
66
|
+
should.equal(utils_1.default.isValidAddress(islm_1.address.address3), false);
|
|
67
|
+
should.equal(utils_1.default.isValidAddress(islm_1.address.address4), true);
|
|
68
|
+
should.equal(utils_1.default.isValidAddress('dfjk35y'), false);
|
|
69
|
+
should.equal(utils_1.default.isValidAddress(undefined), false);
|
|
70
|
+
should.equal(utils_1.default.isValidAddress(''), false);
|
|
71
|
+
should.equal(utils_1.default.isValidAddress(islm_1.address.validMemoIdAddress), true);
|
|
72
|
+
should.equal(utils_1.default.isValidAddress(islm_1.address.multipleMemoIdAddress), false);
|
|
73
|
+
});
|
|
74
|
+
it('should validate validator addresses correctly', () => {
|
|
75
|
+
should.equal(utils_1.default.isValidValidatorAddress(islm_1.address.validatorAddress1), true);
|
|
76
|
+
should.equal(utils_1.default.isValidValidatorAddress(islm_1.address.validatorAddress2), true);
|
|
77
|
+
should.equal(utils_1.default.isValidValidatorAddress(islm_1.address.validatorAddress3), false);
|
|
78
|
+
should.equal(utils_1.default.isValidValidatorAddress(islm_1.address.validatorAddress4), false);
|
|
79
|
+
should.equal(utils_1.default.isValidValidatorAddress('dfjk35y'), false);
|
|
80
|
+
should.equal(utils_1.default.isValidValidatorAddress(undefined), false);
|
|
81
|
+
should.equal(utils_1.default.isValidValidatorAddress(''), false);
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
describe('Verify transaction: ', () => {
|
|
85
|
+
it('should succeed to verify transaction', async function () {
|
|
86
|
+
const txPrebuild = {
|
|
87
|
+
txHex: islm_1.TEST_SEND_TX.signedTxBase64,
|
|
88
|
+
txInfo: {},
|
|
89
|
+
};
|
|
90
|
+
const txParams = {
|
|
91
|
+
recipients: [
|
|
92
|
+
{
|
|
93
|
+
address: islm_1.TEST_SEND_TX.recipient,
|
|
94
|
+
amount: islm_1.TEST_SEND_TX.sendAmount,
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
};
|
|
98
|
+
const verification = {};
|
|
99
|
+
const isTransactionVerified = await basecoin.verifyTransaction({ txParams, txPrebuild, verification });
|
|
100
|
+
isTransactionVerified.should.equal(true);
|
|
101
|
+
});
|
|
102
|
+
it('should succeed to verify delegate transaction', async function () {
|
|
103
|
+
const txPrebuild = {
|
|
104
|
+
txHex: islm_1.TEST_DELEGATE_TX.signedTxBase64,
|
|
105
|
+
txInfo: {},
|
|
106
|
+
};
|
|
107
|
+
const txParams = {
|
|
108
|
+
recipients: [
|
|
109
|
+
{
|
|
110
|
+
address: islm_1.TEST_DELEGATE_TX.validator,
|
|
111
|
+
amount: islm_1.TEST_DELEGATE_TX.sendAmount,
|
|
112
|
+
},
|
|
113
|
+
],
|
|
114
|
+
};
|
|
115
|
+
const verification = {};
|
|
116
|
+
const isTransactionVerified = await basecoin.verifyTransaction({ txParams, txPrebuild, verification });
|
|
117
|
+
isTransactionVerified.should.equal(true);
|
|
118
|
+
});
|
|
119
|
+
it('should succeed to verify undelegate transaction', async function () {
|
|
120
|
+
const txPrebuild = {
|
|
121
|
+
txHex: islm_1.TEST_UNDELEGATE_TX.signedTxBase64,
|
|
122
|
+
txInfo: {},
|
|
123
|
+
};
|
|
124
|
+
const txParams = {
|
|
125
|
+
recipients: [
|
|
126
|
+
{
|
|
127
|
+
address: islm_1.TEST_UNDELEGATE_TX.validator,
|
|
128
|
+
amount: islm_1.TEST_UNDELEGATE_TX.sendAmount,
|
|
129
|
+
},
|
|
130
|
+
],
|
|
131
|
+
};
|
|
132
|
+
const verification = {};
|
|
133
|
+
const isTransactionVerified = await basecoin.verifyTransaction({ txParams, txPrebuild, verification });
|
|
134
|
+
isTransactionVerified.should.equal(true);
|
|
135
|
+
});
|
|
136
|
+
it('should succeed to verify withdraw rewards transaction', async function () {
|
|
137
|
+
const txPrebuild = {
|
|
138
|
+
txHex: islm_1.TEST_WITHDRAW_REWARDS_TX.signedTxBase64,
|
|
139
|
+
txInfo: {},
|
|
140
|
+
};
|
|
141
|
+
const txParams = {
|
|
142
|
+
recipients: [
|
|
143
|
+
{
|
|
144
|
+
address: islm_1.TEST_WITHDRAW_REWARDS_TX.validator,
|
|
145
|
+
amount: 'UNAVAILABLE',
|
|
146
|
+
},
|
|
147
|
+
],
|
|
148
|
+
};
|
|
149
|
+
const verification = {};
|
|
150
|
+
const isTransactionVerified = await basecoin.verifyTransaction({ txParams, txPrebuild, verification });
|
|
151
|
+
isTransactionVerified.should.equal(true);
|
|
152
|
+
});
|
|
153
|
+
it('should fail to verify transaction with invalid param', async function () {
|
|
154
|
+
const txPrebuild = {};
|
|
155
|
+
const txParams = { recipients: undefined };
|
|
156
|
+
await basecoin
|
|
157
|
+
.verifyTransaction({
|
|
158
|
+
txParams,
|
|
159
|
+
txPrebuild,
|
|
160
|
+
})
|
|
161
|
+
.should.rejectedWith('missing required tx prebuild property txHex');
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
describe('Explain Transaction: ', () => {
|
|
165
|
+
it('should explain a transfer transaction', async function () {
|
|
166
|
+
const explainedTransaction = await basecoin.explainTransaction({
|
|
167
|
+
txHex: islm_1.TEST_SEND_TX.signedTxBase64,
|
|
168
|
+
});
|
|
169
|
+
explainedTransaction.should.deepEqual({
|
|
170
|
+
displayOrder: ['id', 'outputs', 'outputAmount', 'changeOutputs', 'changeAmount', 'fee', 'type'],
|
|
171
|
+
id: islm_1.TEST_SEND_TX.hash,
|
|
172
|
+
outputs: [
|
|
173
|
+
{
|
|
174
|
+
address: islm_1.TEST_SEND_TX.recipient,
|
|
175
|
+
amount: islm_1.TEST_SEND_TX.sendAmount,
|
|
176
|
+
},
|
|
177
|
+
],
|
|
178
|
+
outputAmount: islm_1.TEST_SEND_TX.sendAmount,
|
|
179
|
+
changeOutputs: [],
|
|
180
|
+
changeAmount: '0',
|
|
181
|
+
fee: { fee: islm_1.TEST_SEND_TX.gasBudget.amount[0].amount },
|
|
182
|
+
type: 0,
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
|
+
it('should explain a delegate transaction', async function () {
|
|
186
|
+
const explainedTransaction = await basecoin.explainTransaction({
|
|
187
|
+
txHex: islm_1.TEST_DELEGATE_TX.signedTxBase64,
|
|
188
|
+
});
|
|
189
|
+
explainedTransaction.should.deepEqual({
|
|
190
|
+
displayOrder: ['id', 'outputs', 'outputAmount', 'changeOutputs', 'changeAmount', 'fee', 'type'],
|
|
191
|
+
id: islm_1.TEST_DELEGATE_TX.hash,
|
|
192
|
+
outputs: [
|
|
193
|
+
{
|
|
194
|
+
address: islm_1.TEST_DELEGATE_TX.validator,
|
|
195
|
+
amount: islm_1.TEST_DELEGATE_TX.sendAmount,
|
|
196
|
+
},
|
|
197
|
+
],
|
|
198
|
+
outputAmount: islm_1.TEST_DELEGATE_TX.sendAmount,
|
|
199
|
+
changeOutputs: [],
|
|
200
|
+
changeAmount: '0',
|
|
201
|
+
fee: { fee: islm_1.TEST_DELEGATE_TX.gasBudget.amount[0].amount },
|
|
202
|
+
type: 13,
|
|
203
|
+
});
|
|
204
|
+
});
|
|
205
|
+
it('should explain a undelegate transaction', async function () {
|
|
206
|
+
const explainedTransaction = await basecoin.explainTransaction({
|
|
207
|
+
txHex: islm_1.TEST_UNDELEGATE_TX.signedTxBase64,
|
|
208
|
+
});
|
|
209
|
+
explainedTransaction.should.deepEqual({
|
|
210
|
+
displayOrder: ['id', 'outputs', 'outputAmount', 'changeOutputs', 'changeAmount', 'fee', 'type'],
|
|
211
|
+
id: islm_1.TEST_UNDELEGATE_TX.hash,
|
|
212
|
+
outputs: [
|
|
213
|
+
{
|
|
214
|
+
address: islm_1.TEST_UNDELEGATE_TX.validator,
|
|
215
|
+
amount: islm_1.TEST_UNDELEGATE_TX.sendAmount,
|
|
216
|
+
},
|
|
217
|
+
],
|
|
218
|
+
outputAmount: islm_1.TEST_UNDELEGATE_TX.sendAmount,
|
|
219
|
+
changeOutputs: [],
|
|
220
|
+
changeAmount: '0',
|
|
221
|
+
fee: { fee: islm_1.TEST_UNDELEGATE_TX.gasBudget.amount[0].amount },
|
|
222
|
+
type: 17,
|
|
223
|
+
});
|
|
224
|
+
});
|
|
225
|
+
it('should explain a withdraw transaction', async function () {
|
|
226
|
+
const explainedTransaction = await basecoin.explainTransaction({
|
|
227
|
+
txHex: islm_1.TEST_WITHDRAW_REWARDS_TX.signedTxBase64,
|
|
228
|
+
});
|
|
229
|
+
explainedTransaction.should.deepEqual({
|
|
230
|
+
displayOrder: ['id', 'outputs', 'outputAmount', 'changeOutputs', 'changeAmount', 'fee', 'type'],
|
|
231
|
+
id: islm_1.TEST_WITHDRAW_REWARDS_TX.hash,
|
|
232
|
+
outputs: [
|
|
233
|
+
{
|
|
234
|
+
address: islm_1.TEST_WITHDRAW_REWARDS_TX.validator,
|
|
235
|
+
amount: 'UNAVAILABLE',
|
|
236
|
+
},
|
|
237
|
+
],
|
|
238
|
+
outputAmount: undefined,
|
|
239
|
+
changeOutputs: [],
|
|
240
|
+
changeAmount: '0',
|
|
241
|
+
fee: { fee: islm_1.TEST_WITHDRAW_REWARDS_TX.gasBudget.amount[0].amount },
|
|
242
|
+
type: 15,
|
|
243
|
+
});
|
|
244
|
+
});
|
|
245
|
+
it('should explain a transfer transaction with memo', async function () {
|
|
246
|
+
const explainedTransaction = await basecoin.explainTransaction({
|
|
247
|
+
txHex: islm_1.TEST_TX_WITH_MEMO.signedTxBase64,
|
|
248
|
+
});
|
|
249
|
+
explainedTransaction.should.deepEqual({
|
|
250
|
+
displayOrder: ['id', 'outputs', 'outputAmount', 'changeOutputs', 'changeAmount', 'fee', 'type'],
|
|
251
|
+
id: islm_1.TEST_TX_WITH_MEMO.hash,
|
|
252
|
+
outputs: [
|
|
253
|
+
{
|
|
254
|
+
address: islm_1.TEST_TX_WITH_MEMO.recipient,
|
|
255
|
+
amount: islm_1.TEST_TX_WITH_MEMO.sendAmount,
|
|
256
|
+
memo: islm_1.TEST_TX_WITH_MEMO.memo,
|
|
257
|
+
},
|
|
258
|
+
],
|
|
259
|
+
outputAmount: islm_1.TEST_TX_WITH_MEMO.sendAmount,
|
|
260
|
+
changeOutputs: [],
|
|
261
|
+
changeAmount: '0',
|
|
262
|
+
fee: { fee: islm_1.TEST_TX_WITH_MEMO.gasBudget.amount[0].amount },
|
|
263
|
+
type: 0,
|
|
264
|
+
});
|
|
265
|
+
});
|
|
266
|
+
it('should fail to explain transaction with missing params', async function () {
|
|
267
|
+
try {
|
|
268
|
+
await basecoin.explainTransaction({});
|
|
269
|
+
}
|
|
270
|
+
catch (error) {
|
|
271
|
+
should.equal(error.message, 'missing required txHex parameter');
|
|
272
|
+
}
|
|
273
|
+
});
|
|
274
|
+
it('should fail to explain transaction with invalid params', async function () {
|
|
275
|
+
try {
|
|
276
|
+
await basecoin.explainTransaction({ txHex: 'randomString' });
|
|
277
|
+
}
|
|
278
|
+
catch (error) {
|
|
279
|
+
should.equal(error.message.startsWith('Invalid transaction:'), true);
|
|
280
|
+
}
|
|
281
|
+
});
|
|
282
|
+
});
|
|
283
|
+
describe('Parse Transactions: ', () => {
|
|
284
|
+
it('should parse a transfer transaction', async function () {
|
|
285
|
+
const transferInputsResponse = {
|
|
286
|
+
address: islm_1.TEST_SEND_TX.recipient,
|
|
287
|
+
amount: new bignumber_js_1.default(islm_1.TEST_SEND_TX.sendAmount).plus(islm_1.TEST_SEND_TX.gasBudget.amount[0].amount).toFixed(),
|
|
288
|
+
};
|
|
289
|
+
const transferOutputsResponse = {
|
|
290
|
+
address: islm_1.TEST_SEND_TX.recipient,
|
|
291
|
+
amount: islm_1.TEST_SEND_TX.sendAmount,
|
|
292
|
+
};
|
|
293
|
+
const parsedTransaction = await basecoin.parseTransaction({ txHex: islm_1.TEST_SEND_TX.signedTxBase64 });
|
|
294
|
+
parsedTransaction.should.deepEqual({
|
|
295
|
+
inputs: [transferInputsResponse],
|
|
296
|
+
outputs: [transferOutputsResponse],
|
|
297
|
+
});
|
|
298
|
+
});
|
|
299
|
+
it('should fail to parse a transfer transaction when explainTransaction response is undefined', async function () {
|
|
300
|
+
const stub = sinon_1.default.stub(src_1.Islm.prototype, 'explainTransaction');
|
|
301
|
+
stub.resolves(undefined);
|
|
302
|
+
await basecoin
|
|
303
|
+
.parseTransaction({ txHex: islm_1.TEST_SEND_TX.signedTxBase64 })
|
|
304
|
+
.should.be.rejectedWith('Invalid transaction');
|
|
305
|
+
stub.restore();
|
|
306
|
+
});
|
|
307
|
+
});
|
|
308
|
+
});
|
|
309
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNsbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdW5pdC9pc2xtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaURBQStDO0FBQy9DLG1EQUErRDtBQUMvRCxnRUFBcUM7QUFDckMsa0RBQTBCO0FBQzFCLG1DQUF3QztBQUN4QyxnRUFBd0M7QUFDeEMsNENBTzJCO0FBQzNCLGlDQUFrQztBQUVsQyxRQUFRLENBQUMsTUFBTSxFQUFFO0lBQ2YsSUFBSSxLQUFtQixDQUFDO0lBQ3hCLElBQUksUUFBUSxDQUFDO0lBQ2IsTUFBTSxDQUFDO1FBQ0wsS0FBSyxHQUFHLG9CQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN0RCxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxVQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDaEQsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsV0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2xELEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzNCLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDhCQUE4QixFQUFFO1FBQ2pDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVsQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsV0FB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QUFDLFNBQVM7Z0JBQy9CLE1BQU0sRUFBRSxtQkFBWSxDQUFDLFVBQVU7YUFDaEMsQ0FBQztZQUVGLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxLQUFLLEVBQUUsbUJBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1lBRWxHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7Z0JBQ2pDLE1BQU0sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2dCQUNoQyxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQzthQUNuQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywyRkFBMkYsRUFBRSxLQUFLO1lBQ25HLE1BQU0sSUFBSSxHQUFHLGVBQUssQ0FBQyxJQUFJLENBQUMsVUFBSSxDQUFDLFNBQVMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDekIsTUFBTSxRQUFRO2lCQUNYLGdCQUFnQixDQUFDLEVBQUUsS0FBSyxFQUFFLG1CQUFZLENBQUMsY0FBYyxFQUFFLENBQUM7aUJBQ3hELE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJpdEdvQVBJIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWFwaSc7XG5pbXBvcnQgeyBUZXN0Qml0R28sIFRlc3RCaXRHb0FQSSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay10ZXN0JztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCBzaW5vbiBmcm9tICdzaW5vbic7XG5pbXBvcnQgeyBJc2xtLCBUaXNsbSB9IGZyb20gJy4uLy4uL3NyYyc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi4vLi4vc3JjL2xpYi91dGlscyc7XG5pbXBvcnQge1xuICBURVNUX0RFTEVHQVRFX1RYLFxuICBURVNUX1NFTkRfVFgsXG4gIFRFU1RfVFhfV0lUSF9NRU1PLFxuICBURVNUX1VOREVMRUdBVEVfVFgsXG4gIFRFU1RfV0lUSERSQVdfUkVXQVJEU19UWCxcbiAgYWRkcmVzcyxcbn0gZnJvbSAnLi4vcmVzb3VyY2VzL2lzbG0nO1xuaW1wb3J0IHNob3VsZCA9IHJlcXVpcmUoJ3Nob3VsZCcpO1xuXG5kZXNjcmliZSgnSXNsbScsIGZ1bmN0aW9uICgpIHtcbiAgbGV0IGJpdGdvOiBUZXN0Qml0R29BUEk7XG4gIGxldCBiYXNlY29pbjtcbiAgYmVmb3JlKGZ1bmN0aW9uICgpIHtcbiAgICBiaXRnbyA9IFRlc3RCaXRHby5kZWNvcmF0ZShCaXRHb0FQSSwgeyBlbnY6ICdtb2NrJyB9KTtcbiAgICBiaXRnby5zYWZlUmVnaXN0ZXIoJ2lzbG0nLCBJc2xtLmNyZWF0ZUluc3RhbmNlKTtcbiAgICBiaXRnby5zYWZlUmVnaXN0ZXIoJ3Rpc2xtJywgVGlzbG0uY3JlYXRlSW5zdGFuY2UpO1xuICAgIGJpdGdvLmluaXRpYWxpemVUZXN0VmFycygpO1xuICAgIGJhc2Vjb2luID0gYml0Z28uY29pbigndGlzbG0nKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZXR1cm4gdGhlIHJpZ2h0IGluZm8nLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgaXNsbSA9IGJpdGdvLmNvaW4oJ2lzbG0nKTtcbiAgICBjb25zdCB0aXNsbSA9IGJpdGdvLmNvaW4oJ3Rpc2xtJyk7XG5cbiAgICBpc2xtLmdldENoYWluKCkuc2hvdWxkLmVxdWFsKCdpc2xtJyk7XG4gICAgaXNsbS5nZXRGYW1pbHkoKS5zaG91bGQuZXF1YWwoJ2lzbG0nKTtcbiAgICBpc2xtLmdldEZ1bGxOYW1lKCkuc2hvdWxkLmVxdWFsKCdJc2xhbWljIENvaW4nKTtcbiAgICBpc2xtLmdldEJhc2VGYWN0b3IoKS5zaG91bGQuZXF1YWwoMWUxOCk7XG5cbiAgICB0aXNsbS5nZXRDaGFpbigpLnNob3VsZC5lcXVhbCgndGlzbG0nKTtcbiAgICB0aXNsbS5nZXRGYW1pbHkoKS5zaG91bGQuZXF1YWwoJ2lzbG0nKTtcbiAgICB0aXNsbS5nZXRGdWxsTmFtZSgpLnNob3VsZC5lcXVhbCgnVGVzdG5ldCBJc2xhbWljIENvaW4nKTtcbiAgICB0aXNsbS5nZXRCYXNlRmFjdG9yKCkuc2hvdWxkLmVxdWFsKDFlMTgpO1xuICB9KTtcblxuICBkZXNjcmliZSgnQWRkcmVzcyBWYWxpZGF0aW9uJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgZ2V0IGFkZHJlc3MgZGV0YWlscyB3aXRob3V0IG1lbW9JZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGFkZHJlc3NEZXRhaWxzID0gYmFzZWNvaW4uZ2V0QWRkcmVzc0RldGFpbHMoYWRkcmVzcy5ub01lbW9JZEFkZHJlc3MpO1xuICAgICAgYWRkcmVzc0RldGFpbHMuYWRkcmVzcy5zaG91bGQuZXF1YWwoYWRkcmVzcy5ub01lbW9JZEFkZHJlc3MpO1xuICAgICAgc2hvdWxkLm5vdC5leGlzdChhZGRyZXNzRGV0YWlscy5tZW1vSWQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBnZXQgYWRkcmVzcyBkZXRhaWxzIHdpdGggbWVtb0lkJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYWRkcmVzc0RldGFpbHMgPSBiYXNlY29pbi5nZXRBZGRyZXNzRGV0YWlscyhhZGRyZXNzLnZhbGlkTWVtb0lkQWRkcmVzcyk7XG4gICAgICBhZGRyZXNzRGV0YWlscy5hZGRyZXNzLnNob3VsZC5lcXVhbChhZGRyZXNzLnZhbGlkTWVtb0lkQWRkcmVzcy5zcGxpdCgnPycpWzBdKTtcbiAgICAgIGFkZHJlc3NEZXRhaWxzLm1lbW9JZC5zaG91bGQuZXF1YWwoJzInKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgb24gbXVsdGlwbGUgbWVtbyBpZCBhZGRyZXNzJywgKCkgPT4ge1xuICAgICAgKCgpID0+IHtcbiAgICAgICAgYmFzZWNvaW4uZ2V0QWRkcmVzc0RldGFpbHMoYWRkcmVzcy5tdWx0aXBsZU1lbW9JZEFkZHJlc3MpO1xuICAgICAgfSkuc2hvdWxkLnRocm93KCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIHdhbGxldCByZWNlaXZlIGFkZHJlc3MnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCByZWNlaXZlQWRkcmVzcyA9IHtcbiAgICAgICAgYWRkcmVzczogJ2hhcXExZzNnNm5mbXFmM2Y5bG1kaGY1Zzg0cHU3dXN0dzhqdDd0dnJmemM/bWVtb0lkPTcnLFxuICAgICAgICBjb2luU3BlY2lmaWM6IHtcbiAgICAgICAgICByb290QWRkcmVzczogJ2hhcXExZzNnNm5mbXFmM2Y5bG1kaGY1Zzg0cHU3dXN0dzhqdDd0dnJmemMnLFxuICAgICAgICAgIG1lbW9JRDogJzcnLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGlzVmFsaWQgPSBhd2FpdCBiYXNlY29pbi5pc1dhbGxldEFkZHJlc3MocmVjZWl2ZUFkZHJlc3MpO1xuICAgICAgaXNWYWxpZC5zaG91bGQuZXF1YWwodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGFjY291bnQgYWRkcmVzc2VzIGNvcnJlY3RseScsICgpID0+IHtcbiAgICAgIHNob3VsZC5lcXVhbCh1dGlscy5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzLmFkZHJlc3MxKSwgdHJ1ZSk7XG4gICAgICBzaG91bGQuZXF1YWwodXRpbHMuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcy5hZGRyZXNzMiksIHRydWUpO1xuICAgICAgc2hvdWxkLmVxdWFsKHV0aWxzLmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MuYWRkcmVzczMpLCBmYWxzZSk7XG4gICAgICBzaG91bGQuZXF1YWwodXRpbHMuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcy5hZGRyZXNzNCksIHRydWUpO1xuICAgICAgc2hvdWxkLmVxdWFsKHV0aWxzLmlzVmFsaWRBZGRyZXNzKCdkZmprMzV5JyksIGZhbHNlKTtcbiAgICAgIHNob3VsZC5lcXVhbCh1dGlscy5pc1ZhbGlkQWRkcmVzcyh1bmRlZmluZWQgYXMgdW5rbm93biBhcyBzdHJpbmcpLCBmYWxzZSk7XG4gICAgICBzaG91bGQuZXF1YWwodXRpbHMuaXNWYWxpZEFkZHJlc3MoJycpLCBmYWxzZSk7XG4gICAgICBzaG91bGQuZXF1YWwodXRpbHMuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcy52YWxpZE1lbW9JZEFkZHJlc3MpLCB0cnVlKTtcbiAgICAgIHNob3VsZC5lcXVhbCh1dGlscy5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzLm11bHRpcGxlTWVtb0lkQWRkcmVzcyksIGZhbHNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgdmFsaWRhdG9yIGFkZHJlc3NlcyBjb3JyZWN0bHknLCAoKSA9PiB7XG4gICAgICBzaG91bGQuZXF1YWwodXRpbHMuaXNWYWxpZFZhbGlkYXRvckFkZHJlc3MoYWRkcmVzcy52YWxpZGF0b3JBZGRyZXNzMSksIHRydWUpO1xuICAgICAgc2hvdWxkLmVxdWFsKHV0aWxzLmlzVmFsaWRWYWxpZGF0b3JBZGRyZXNzKGFkZHJlc3MudmFsaWRhdG9yQWRkcmVzczIpLCB0cnVlKTtcbiAgICAgIHNob3VsZC5lcXVhbCh1dGlscy5pc1ZhbGlkVmFsaWRhdG9yQWRkcmVzcyhhZGRyZXNzLnZhbGlkYXRvckFkZHJlc3MzKSwgZmFsc2UpO1xuICAgICAgc2hvdWxkLmVxdWFsKHV0aWxzLmlzVmFsaWRWYWxpZGF0b3JBZGRyZXNzKGFkZHJlc3MudmFsaWRhdG9yQWRkcmVzczQpLCBmYWxzZSk7XG4gICAgICBzaG91bGQuZXF1YWwodXRpbHMuaXNWYWxpZFZhbGlkYXRvckFkZHJlc3MoJ2RmamszNXknKSwgZmFsc2UpO1xuICAgICAgc2hvdWxkLmVxdWFsKHV0aWxzLmlzVmFsaWRWYWxpZGF0b3JBZGRyZXNzKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIHN0cmluZyksIGZhbHNlKTtcbiAgICAgIHNob3VsZC5lcXVhbCh1dGlscy5pc1ZhbGlkVmFsaWRhdG9yQWRkcmVzcygnJyksIGZhbHNlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ1ZlcmlmeSB0cmFuc2FjdGlvbjogJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgc3VjY2VlZCB0byB2ZXJpZnkgdHJhbnNhY3Rpb24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB0eFByZWJ1aWxkID0ge1xuICAgICAgICB0eEhleDogVEVTVF9TRU5EX1RYLnNpZ25lZFR4QmFzZTY0LFxuICAgICAgICB0eEluZm86IHt9LFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHR4UGFyYW1zID0ge1xuICAgICAgICByZWNpcGllbnRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWRkcmVzczogVEVTVF9TRU5EX1RYLnJlY2lwaWVudCxcbiAgICAgICAgICAgIGFtb3VudDogVEVTVF9TRU5EX1RYLnNlbmRBbW91bnQsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH07XG4gICAgICBjb25zdCB2ZXJpZmljYXRpb24gPSB7fTtcbiAgICAgIGNvbnN0IGlzVHJhbnNhY3Rpb25WZXJpZmllZCA9IGF3YWl0IGJhc2Vjb2luLnZlcmlmeVRyYW5zYWN0aW9uKHsgdHhQYXJhbXMsIHR4UHJlYnVpbGQsIHZlcmlmaWNhdGlvbiB9KTtcbiAgICAgIGlzVHJhbnNhY3Rpb25WZXJpZmllZC5zaG91bGQuZXF1YWwodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHN1Y2NlZWQgdG8gdmVyaWZ5IGRlbGVnYXRlIHRyYW5zYWN0aW9uJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHhQcmVidWlsZCA9IHtcbiAgICAgICAgdHhIZXg6IFRFU1RfREVMRUdBVEVfVFguc2lnbmVkVHhCYXNlNjQsXG4gICAgICAgIHR4SW5mbzoge30sXG4gICAgICB9O1xuICAgICAgY29uc3QgdHhQYXJhbXMgPSB7XG4gICAgICAgIHJlY2lwaWVudHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhZGRyZXNzOiBURVNUX0RFTEVHQVRFX1RYLnZhbGlkYXRvcixcbiAgICAgICAgICAgIGFtb3VudDogVEVTVF9ERUxFR0FURV9UWC5zZW5kQW1vdW50LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9O1xuICAgICAgY29uc3QgdmVyaWZpY2F0aW9uID0ge307XG4gICAgICBjb25zdCBpc1RyYW5zYWN0aW9uVmVyaWZpZWQgPSBhd2FpdCBiYXNlY29pbi52ZXJpZnlUcmFuc2FjdGlvbih7IHR4UGFyYW1zLCB0eFByZWJ1aWxkLCB2ZXJpZmljYXRpb24gfSk7XG4gICAgICBpc1RyYW5zYWN0aW9uVmVyaWZpZWQuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBzdWNjZWVkIHRvIHZlcmlmeSB1bmRlbGVnYXRlIHRyYW5zYWN0aW9uJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHhQcmVidWlsZCA9IHtcbiAgICAgICAgdHhIZXg6IFRFU1RfVU5ERUxFR0FURV9UWC5zaWduZWRUeEJhc2U2NCxcbiAgICAgICAgdHhJbmZvOiB7fSxcbiAgICAgIH07XG4gICAgICBjb25zdCB0eFBhcmFtcyA9IHtcbiAgICAgICAgcmVjaXBpZW50czogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFkZHJlc3M6IFRFU1RfVU5ERUxFR0FURV9UWC52YWxpZGF0b3IsXG4gICAgICAgICAgICBhbW91bnQ6IFRFU1RfVU5ERUxFR0FURV9UWC5zZW5kQW1vdW50LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9O1xuICAgICAgY29uc3QgdmVyaWZpY2F0aW9uID0ge307XG4gICAgICBjb25zdCBpc1RyYW5zYWN0aW9uVmVyaWZpZWQgPSBhd2FpdCBiYXNlY29pbi52ZXJpZnlUcmFuc2FjdGlvbih7IHR4UGFyYW1zLCB0eFByZWJ1aWxkLCB2ZXJpZmljYXRpb24gfSk7XG4gICAgICBpc1RyYW5zYWN0aW9uVmVyaWZpZWQuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBzdWNjZWVkIHRvIHZlcmlmeSB3aXRoZHJhdyByZXdhcmRzIHRyYW5zYWN0aW9uJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHhQcmVidWlsZCA9IHtcbiAgICAgICAgdHhIZXg6IFRFU1RfV0lUSERSQVdfUkVXQVJEU19UWC5zaWduZWRUeEJhc2U2NCxcbiAgICAgICAgdHhJbmZvOiB7fSxcbiAgICAgIH07XG4gICAgICBjb25zdCB0eFBhcmFtcyA9IHtcbiAgICAgICAgcmVjaXBpZW50czogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFkZHJlc3M6IFRFU1RfV0lUSERSQVdfUkVXQVJEU19UWC52YWxpZGF0b3IsXG4gICAgICAgICAgICBhbW91bnQ6ICdVTkFWQUlMQUJMRScsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH07XG4gICAgICBjb25zdCB2ZXJpZmljYXRpb24gPSB7fTtcbiAgICAgIGNvbnN0IGlzVHJhbnNhY3Rpb25WZXJpZmllZCA9IGF3YWl0IGJhc2Vjb2luLnZlcmlmeVRyYW5zYWN0aW9uKHsgdHhQYXJhbXMsIHR4UHJlYnVpbGQsIHZlcmlmaWNhdGlvbiB9KTtcbiAgICAgIGlzVHJhbnNhY3Rpb25WZXJpZmllZC5zaG91bGQuZXF1YWwodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgdG8gdmVyaWZ5IHRyYW5zYWN0aW9uIHdpdGggaW52YWxpZCBwYXJhbScsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHR4UHJlYnVpbGQgPSB7fTtcbiAgICAgIGNvbnN0IHR4UGFyYW1zID0geyByZWNpcGllbnRzOiB1bmRlZmluZWQgfTtcbiAgICAgIGF3YWl0IGJhc2Vjb2luXG4gICAgICAgIC52ZXJpZnlUcmFuc2FjdGlvbih7XG4gICAgICAgICAgdHhQYXJhbXMsXG4gICAgICAgICAgdHhQcmVidWlsZCxcbiAgICAgICAgfSlcbiAgICAgICAgLnNob3VsZC5yZWplY3RlZFdpdGgoJ21pc3NpbmcgcmVxdWlyZWQgdHggcHJlYnVpbGQgcHJvcGVydHkgdHhIZXgnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0V4cGxhaW4gVHJhbnNhY3Rpb246ICcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGV4cGxhaW4gYSB0cmFuc2ZlciB0cmFuc2FjdGlvbicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGV4cGxhaW5lZFRyYW5zYWN0aW9uID0gYXdhaXQgYmFzZWNvaW4uZXhwbGFpblRyYW5zYWN0aW9uKHtcbiAgICAgICAgdHhIZXg6IFRFU1RfU0VORF9UWC5zaWduZWRUeEJhc2U2NCxcbiAgICAgIH0pO1xuICAgICAgZXhwbGFpbmVkVHJhbnNhY3Rpb24uc2hvdWxkLmRlZXBFcXVhbCh7XG4gICAgICAgIGRpc3BsYXlPcmRlcjogWydpZCcsICdvdXRwdXRzJywgJ291dHB1dEFtb3VudCcsICdjaGFuZ2VPdXRwdXRzJywgJ2NoYW5nZUFtb3VudCcsICdmZWUnLCAndHlwZSddLFxuICAgICAgICBpZDogVEVTVF9TRU5EX1RYLmhhc2gsXG4gICAgICAgIG91dHB1dHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhZGRyZXNzOiBURVNUX1NFTkRfVFgucmVjaXBpZW50LFxuICAgICAgICAgICAgYW1vdW50OiBURVNUX1NFTkRfVFguc2VuZEFtb3VudCxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBvdXRwdXRBbW91bnQ6IFRFU1RfU0VORF9UWC5zZW5kQW1vdW50LFxuICAgICAgICBjaGFuZ2VPdXRwdXRzOiBbXSxcbiAgICAgICAgY2hhbmdlQW1vdW50OiAnMCcsXG4gICAgICAgIGZlZTogeyBmZWU6IFRFU1RfU0VORF9UWC5nYXNCdWRnZXQuYW1vdW50WzBdLmFtb3VudCB9LFxuICAgICAgICB0eXBlOiAwLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGV4cGxhaW4gYSBkZWxlZ2F0ZSB0cmFuc2FjdGlvbicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGV4cGxhaW5lZFRyYW5zYWN0aW9uID0gYXdhaXQgYmFzZWNvaW4uZXhwbGFpblRyYW5zYWN0aW9uKHtcbiAgICAgICAgdHhIZXg6IFRFU1RfREVMRUdBVEVfVFguc2lnbmVkVHhCYXNlNjQsXG4gICAgICB9KTtcbiAgICAgIGV4cGxhaW5lZFRyYW5zYWN0aW9uLnNob3VsZC5kZWVwRXF1YWwoe1xuICAgICAgICBkaXNwbGF5T3JkZXI6IFsnaWQnLCAnb3V0cHV0cycsICdvdXRwdXRBbW91bnQnLCAnY2hhbmdlT3V0cHV0cycsICdjaGFuZ2VBbW91bnQnLCAnZmVlJywgJ3R5cGUnXSxcbiAgICAgICAgaWQ6IFRFU1RfREVMRUdBVEVfVFguaGFzaCxcbiAgICAgICAgb3V0cHV0czogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFkZHJlc3M6IFRFU1RfREVMRUdBVEVfVFgudmFsaWRhdG9yLFxuICAgICAgICAgICAgYW1vdW50OiBURVNUX0RFTEVHQVRFX1RYLnNlbmRBbW91bnQsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgb3V0cHV0QW1vdW50OiBURVNUX0RFTEVHQVRFX1RYLnNlbmRBbW91bnQsXG4gICAgICAgIGNoYW5nZU91dHB1dHM6IFtdLFxuICAgICAgICBjaGFuZ2VBbW91bnQ6ICcwJyxcbiAgICAgICAgZmVlOiB7IGZlZTogVEVTVF9ERUxFR0FURV9UWC5nYXNCdWRnZXQuYW1vdW50WzBdLmFtb3VudCB9LFxuICAgICAgICB0eXBlOiAxMyxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBleHBsYWluIGEgdW5kZWxlZ2F0ZSB0cmFuc2FjdGlvbicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGV4cGxhaW5lZFRyYW5zYWN0aW9uID0gYXdhaXQgYmFzZWNvaW4uZXhwbGFpblRyYW5zYWN0aW9uKHtcbiAgICAgICAgdHhIZXg6IFRFU1RfVU5ERUxFR0FURV9UWC5zaWduZWRUeEJhc2U2NCxcbiAgICAgIH0pO1xuICAgICAgZXhwbGFpbmVkVHJhbnNhY3Rpb24uc2hvdWxkLmRlZXBFcXVhbCh7XG4gICAgICAgIGRpc3BsYXlPcmRlcjogWydpZCcsICdvdXRwdXRzJywgJ291dHB1dEFtb3VudCcsICdjaGFuZ2VPdXRwdXRzJywgJ2NoYW5nZUFtb3VudCcsICdmZWUnLCAndHlwZSddLFxuICAgICAgICBpZDogVEVTVF9VTkRFTEVHQVRFX1RYLmhhc2gsXG4gICAgICAgIG91dHB1dHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhZGRyZXNzOiBURVNUX1VOREVMRUdBVEVfVFgudmFsaWRhdG9yLFxuICAgICAgICAgICAgYW1vdW50OiBURVNUX1VOREVMRUdBVEVfVFguc2VuZEFtb3VudCxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBvdXRwdXRBbW91bnQ6IFRFU1RfVU5ERUxFR0FURV9UWC5zZW5kQW1vdW50LFxuICAgICAgICBjaGFuZ2VPdXRwdXRzOiBbXSxcbiAgICAgICAgY2hhbmdlQW1vdW50OiAnMCcsXG4gICAgICAgIGZlZTogeyBmZWU6IFRFU1RfVU5ERUxFR0FURV9UWC5nYXNCdWRnZXQuYW1vdW50WzBdLmFtb3VudCB9LFxuICAgICAgICB0eXBlOiAxNyxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBleHBsYWluIGEgd2l0aGRyYXcgdHJhbnNhY3Rpb24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBleHBsYWluZWRUcmFuc2FjdGlvbiA9IGF3YWl0IGJhc2Vjb2luLmV4cGxhaW5UcmFuc2FjdGlvbih7XG4gICAgICAgIHR4SGV4OiBURVNUX1dJVEhEUkFXX1JFV0FSRFNfVFguc2lnbmVkVHhCYXNlNjQsXG4gICAgICB9KTtcbiAgICAgIGV4cGxhaW5lZFRyYW5zYWN0aW9uLnNob3VsZC5kZWVwRXF1YWwoe1xuICAgICAgICBkaXNwbGF5T3JkZXI6IFsnaWQnLCAnb3V0cHV0cycsICdvdXRwdXRBbW91bnQnLCAnY2hhbmdlT3V0cHV0cycsICdjaGFuZ2VBbW91bnQnLCAnZmVlJywgJ3R5cGUnXSxcbiAgICAgICAgaWQ6IFRFU1RfV0lUSERSQVdfUkVXQVJEU19UWC5oYXNoLFxuICAgICAgICBvdXRwdXRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWRkcmVzczogVEVTVF9XSVRIRFJBV19SRVdBUkRTX1RYLnZhbGlkYXRvcixcbiAgICAgICAgICAgIGFtb3VudDogJ1VOQVZBSUxBQkxFJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBvdXRwdXRBbW91bnQ6IHVuZGVmaW5lZCxcbiAgICAgICAgY2hhbmdlT3V0cHV0czogW10sXG4gICAgICAgIGNoYW5nZUFtb3VudDogJzAnLFxuICAgICAgICBmZWU6IHsgZmVlOiBURVNUX1dJVEhEUkFXX1JFV0FSRFNfVFguZ2FzQnVkZ2V0LmFtb3VudFswXS5hbW91bnQgfSxcbiAgICAgICAgdHlwZTogMTUsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZXhwbGFpbiBhIHRyYW5zZmVyIHRyYW5zYWN0aW9uIHdpdGggbWVtbycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGV4cGxhaW5lZFRyYW5zYWN0aW9uID0gYXdhaXQgYmFzZWNvaW4uZXhwbGFpblRyYW5zYWN0aW9uKHtcbiAgICAgICAgdHhIZXg6IFRFU1RfVFhfV0lUSF9NRU1PLnNpZ25lZFR4QmFzZTY0LFxuICAgICAgfSk7XG4gICAgICBleHBsYWluZWRUcmFuc2FjdGlvbi5zaG91bGQuZGVlcEVxdWFsKHtcbiAgICAgICAgZGlzcGxheU9yZGVyOiBbJ2lkJywgJ291dHB1dHMnLCAnb3V0cHV0QW1vdW50JywgJ2NoYW5nZU91dHB1dHMnLCAnY2hhbmdlQW1vdW50JywgJ2ZlZScsICd0eXBlJ10sXG4gICAgICAgIGlkOiBURVNUX1RYX1dJVEhfTUVNTy5oYXNoLFxuICAgICAgICBvdXRwdXRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWRkcmVzczogVEVTVF9UWF9XSVRIX01FTU8ucmVjaXBpZW50LFxuICAgICAgICAgICAgYW1vdW50OiBURVNUX1RYX1dJVEhfTUVNTy5zZW5kQW1vdW50LFxuICAgICAgICAgICAgbWVtbzogVEVTVF9UWF9XSVRIX01FTU8ubWVtbyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBvdXRwdXRBbW91bnQ6IFRFU1RfVFhfV0lUSF9NRU1PLnNlbmRBbW91bnQsXG4gICAgICAgIGNoYW5nZU91dHB1dHM6IFtdLFxuICAgICAgICBjaGFuZ2VBbW91bnQ6ICcwJyxcbiAgICAgICAgZmVlOiB7IGZlZTogVEVTVF9UWF9XSVRIX01FTU8uZ2FzQnVkZ2V0LmFtb3VudFswXS5hbW91bnQgfSxcbiAgICAgICAgdHlwZTogMCxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIHRvIGV4cGxhaW4gdHJhbnNhY3Rpb24gd2l0aCBtaXNzaW5nIHBhcmFtcycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IGJhc2Vjb2luLmV4cGxhaW5UcmFuc2FjdGlvbih7fSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBzaG91bGQuZXF1YWwoZXJyb3IubWVzc2FnZSwgJ21pc3NpbmcgcmVxdWlyZWQgdHhIZXggcGFyYW1ldGVyJyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgdG8gZXhwbGFpbiB0cmFuc2FjdGlvbiB3aXRoIGludmFsaWQgcGFyYW1zJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgYmFzZWNvaW4uZXhwbGFpblRyYW5zYWN0aW9uKHsgdHhIZXg6ICdyYW5kb21TdHJpbmcnIH0pO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgc2hvdWxkLmVxdWFsKGVycm9yLm1lc3NhZ2Uuc3RhcnRzV2l0aCgnSW52YWxpZCB0cmFuc2FjdGlvbjonKSwgdHJ1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdQYXJzZSBUcmFuc2FjdGlvbnM6ICcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHBhcnNlIGEgdHJhbnNmZXIgdHJhbnNhY3Rpb24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB0cmFuc2ZlcklucHV0c1Jlc3BvbnNlID0ge1xuICAgICAgICBhZGRyZXNzOiBURVNUX1NFTkRfVFgucmVjaXBpZW50LFxuICAgICAgICBhbW91bnQ6IG5ldyBCaWdOdW1iZXIoVEVTVF9TRU5EX1RYLnNlbmRBbW91bnQpLnBsdXMoVEVTVF9TRU5EX1RYLmdhc0J1ZGdldC5hbW91bnRbMF0uYW1vdW50KS50b0ZpeGVkKCksXG4gICAgICB9O1xuXG4gICAgICBjb25zdCB0cmFuc2Zlck91dHB1dHNSZXNwb25zZSA9IHtcbiAgICAgICAgYWRkcmVzczogVEVTVF9TRU5EX1RYLnJlY2lwaWVudCxcbiAgICAgICAgYW1vdW50OiBURVNUX1NFTkRfVFguc2VuZEFtb3VudCxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHBhcnNlZFRyYW5zYWN0aW9uID0gYXdhaXQgYmFzZWNvaW4ucGFyc2VUcmFuc2FjdGlvbih7IHR4SGV4OiBURVNUX1NFTkRfVFguc2lnbmVkVHhCYXNlNjQgfSk7XG5cbiAgICAgIHBhcnNlZFRyYW5zYWN0aW9uLnNob3VsZC5kZWVwRXF1YWwoe1xuICAgICAgICBpbnB1dHM6IFt0cmFuc2ZlcklucHV0c1Jlc3BvbnNlXSxcbiAgICAgICAgb3V0cHV0czogW3RyYW5zZmVyT3V0cHV0c1Jlc3BvbnNlXSxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIHRvIHBhcnNlIGEgdHJhbnNmZXIgdHJhbnNhY3Rpb24gd2hlbiBleHBsYWluVHJhbnNhY3Rpb24gcmVzcG9uc2UgaXMgdW5kZWZpbmVkJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgc3R1YiA9IHNpbm9uLnN0dWIoSXNsbS5wcm90b3R5cGUsICdleHBsYWluVHJhbnNhY3Rpb24nKTtcbiAgICAgIHN0dWIucmVzb2x2ZXModW5kZWZpbmVkKTtcbiAgICAgIGF3YWl0IGJhc2Vjb2luXG4gICAgICAgIC5wYXJzZVRyYW5zYWN0aW9uKHsgdHhIZXg6IFRFU1RfU0VORF9UWC5zaWduZWRUeEJhc2U2NCB9KVxuICAgICAgICAuc2hvdWxkLmJlLnJlamVjdGVkV2l0aCgnSW52YWxpZCB0cmFuc2FjdGlvbicpO1xuICAgICAgc3R1Yi5yZXN0b3JlKCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../test/unit/keyPair.ts"],"names":[],"mappings":""}
|