@wireio/stake 0.0.6 → 0.1.0
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/README.md +203 -13
- package/lib/stake.browser.js +2800 -3329
- package/lib/stake.browser.js.map +1 -1
- package/lib/stake.d.ts +376 -6261
- package/lib/stake.js +2937 -3476
- package/lib/stake.js.map +1 -1
- package/lib/stake.m.js +2800 -3329
- package/lib/stake.m.js.map +1 -1
- package/package.json +2 -2
- package/src/assets/solana/idl/deposit.json +46 -10
- package/src/assets/solana/idl/distribution.json +40 -8
- package/src/assets/solana/idl/liq_sol_token.json +25 -2
- package/src/assets/solana/idl/mint_helper.json +110 -0
- package/src/assets/solana/idl/read_tracked_balance.json +140 -0
- package/src/assets/solana/idl/stake_controller.json +1141 -780
- package/src/assets/solana/idl/treasury.json +1 -227
- package/src/assets/solana/idl/validator_leaderboard.json +88 -47
- package/src/assets/solana/idl/validator_registry.json +115 -46
- package/src/assets/solana/idl/yield_oracle.json +1 -1
- package/src/assets/solana/types/deposit.ts +46 -10
- package/src/assets/solana/types/distribution.ts +40 -8
- package/src/assets/solana/types/liq_sol_token.ts +25 -2
- package/src/assets/solana/types/mint_helper.ts +116 -0
- package/src/assets/solana/types/read_tracked_balance.ts +146 -0
- package/src/assets/solana/types/stake_controller.ts +1141 -780
- package/src/assets/solana/types/treasury.ts +1 -227
- package/src/assets/solana/types/validator_leaderboard.ts +88 -47
- package/src/assets/solana/types/validator_registry.ts +115 -46
- package/src/assets/solana/types/yield_oracle.ts +1 -1
- package/src/index.ts +3 -4
- package/src/networks/ethereum/ethereum.ts +2 -2
- package/src/networks/solana/clients/deposit.client.ts +71 -80
- package/src/networks/solana/clients/distribution.client.ts +392 -141
- package/src/networks/solana/clients/leaderboard.client.ts +82 -107
- package/src/networks/solana/constants.ts +141 -56
- package/src/networks/solana/program.ts +36 -89
- package/src/networks/solana/solana.ts +168 -34
- package/src/networks/solana/types.ts +57 -0
- package/src/scripts/fetch-artifacts.sh +24 -0
- package/src/staker/staker.ts +32 -28
- package/src/staker/types.ts +24 -21
- package/src/assets/solana/idl/stake_registry.json +0 -435
- package/src/networks/solana/utils.ts +0 -122
- /package/src/{utils.ts → common/utils.ts} +0 -0
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* IDL can be found at `target/idl/deposit.json`.
|
|
6
6
|
*/
|
|
7
7
|
export type Deposit = {
|
|
8
|
-
"address": "
|
|
8
|
+
"address": "GqksbjX3r7SHZ5e8c6nFyPecZNnBSUTYHbF8U2YDb5Qf",
|
|
9
9
|
"metadata": {
|
|
10
10
|
"name": "deposit",
|
|
11
11
|
"version": "0.1.0",
|
|
@@ -61,10 +61,6 @@ export type Deposit = {
|
|
|
61
61
|
]
|
|
62
62
|
}
|
|
63
63
|
},
|
|
64
|
-
{
|
|
65
|
-
"name": "treasuryWallet",
|
|
66
|
-
"writable": true
|
|
67
|
-
},
|
|
68
64
|
{
|
|
69
65
|
"name": "systemProgram",
|
|
70
66
|
"address": "11111111111111111111111111111111"
|
|
@@ -78,14 +74,13 @@ export type Deposit = {
|
|
|
78
74
|
},
|
|
79
75
|
{
|
|
80
76
|
"name": "stakeControllerProgram",
|
|
81
|
-
"address": "
|
|
77
|
+
"address": "4Ab1SwV6RPUN5Btnf95qvQCyNVR3iHnXjnMYaKsgimTp"
|
|
82
78
|
},
|
|
83
79
|
{
|
|
84
80
|
"name": "liqsolProgram"
|
|
85
81
|
},
|
|
86
82
|
{
|
|
87
|
-
"name": "
|
|
88
|
-
"address": "ABMUzgJCoJ17WPYvxZg4Biuo5oCaEbuD4svUVGFBTWCz"
|
|
83
|
+
"name": "payRateHistory"
|
|
89
84
|
},
|
|
90
85
|
{
|
|
91
86
|
"name": "stakeProgram",
|
|
@@ -93,7 +88,7 @@ export type Deposit = {
|
|
|
93
88
|
},
|
|
94
89
|
{
|
|
95
90
|
"name": "distributionProgram",
|
|
96
|
-
"address": "
|
|
91
|
+
"address": "26LF4typrWwBapujpvUPFpdfs4pBb6RwcWoBBy7Awf5j"
|
|
97
92
|
},
|
|
98
93
|
{
|
|
99
94
|
"name": "liqsolMint",
|
|
@@ -172,7 +167,48 @@ export type Deposit = {
|
|
|
172
167
|
"writable": true
|
|
173
168
|
},
|
|
174
169
|
{
|
|
175
|
-
"name": "controllerState"
|
|
170
|
+
"name": "controllerState",
|
|
171
|
+
"writable": true
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"name": "globalStakeInfo",
|
|
175
|
+
"writable": true
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"name": "bucketAuthority",
|
|
179
|
+
"pda": {
|
|
180
|
+
"seeds": [
|
|
181
|
+
{
|
|
182
|
+
"kind": "const",
|
|
183
|
+
"value": [
|
|
184
|
+
108,
|
|
185
|
+
105,
|
|
186
|
+
113,
|
|
187
|
+
115,
|
|
188
|
+
111,
|
|
189
|
+
108,
|
|
190
|
+
95,
|
|
191
|
+
98,
|
|
192
|
+
117,
|
|
193
|
+
99,
|
|
194
|
+
107,
|
|
195
|
+
101,
|
|
196
|
+
116
|
|
197
|
+
]
|
|
198
|
+
}
|
|
199
|
+
],
|
|
200
|
+
"program": {
|
|
201
|
+
"kind": "account",
|
|
202
|
+
"path": "stakeControllerProgram"
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"name": "bucketTokenAccount",
|
|
208
|
+
"docs": [
|
|
209
|
+
"The bucket's associated token account"
|
|
210
|
+
],
|
|
211
|
+
"writable": true
|
|
176
212
|
},
|
|
177
213
|
{
|
|
178
214
|
"name": "userRecord",
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* IDL can be found at `target/idl/distribution.json`.
|
|
6
6
|
*/
|
|
7
7
|
export type Distribution = {
|
|
8
|
-
"address": "
|
|
8
|
+
"address": "26LF4typrWwBapujpvUPFpdfs4pBb6RwcWoBBy7Awf5j",
|
|
9
9
|
"metadata": {
|
|
10
10
|
"name": "distribution",
|
|
11
11
|
"version": "0.1.0",
|
|
@@ -185,18 +185,47 @@ export type Distribution = {
|
|
|
185
185
|
"writable": true
|
|
186
186
|
},
|
|
187
187
|
{
|
|
188
|
-
"name": "
|
|
189
|
-
"address": "
|
|
188
|
+
"name": "stakeControllerProgram",
|
|
189
|
+
"address": "4Ab1SwV6RPUN5Btnf95qvQCyNVR3iHnXjnMYaKsgimTp"
|
|
190
190
|
},
|
|
191
191
|
{
|
|
192
|
-
"name": "
|
|
192
|
+
"name": "bucketAuthority",
|
|
193
|
+
"pda": {
|
|
194
|
+
"seeds": [
|
|
195
|
+
{
|
|
196
|
+
"kind": "const",
|
|
197
|
+
"value": [
|
|
198
|
+
108,
|
|
199
|
+
105,
|
|
200
|
+
113,
|
|
201
|
+
115,
|
|
202
|
+
111,
|
|
203
|
+
108,
|
|
204
|
+
95,
|
|
205
|
+
98,
|
|
206
|
+
117,
|
|
207
|
+
99,
|
|
208
|
+
107,
|
|
209
|
+
101,
|
|
210
|
+
116
|
|
211
|
+
]
|
|
212
|
+
}
|
|
213
|
+
],
|
|
214
|
+
"program": {
|
|
215
|
+
"kind": "account",
|
|
216
|
+
"path": "stakeControllerProgram"
|
|
217
|
+
}
|
|
218
|
+
}
|
|
193
219
|
},
|
|
194
220
|
{
|
|
195
|
-
"name": "
|
|
196
|
-
"
|
|
221
|
+
"name": "bucketTokenAccount",
|
|
222
|
+
"docs": [
|
|
223
|
+
"The bucket's associated token account holding liqSOL"
|
|
224
|
+
],
|
|
225
|
+
"writable": true
|
|
197
226
|
},
|
|
198
227
|
{
|
|
199
|
-
"name": "
|
|
228
|
+
"name": "payRateHistory"
|
|
200
229
|
},
|
|
201
230
|
{
|
|
202
231
|
"name": "tokenProgram"
|
|
@@ -386,7 +415,10 @@ export type Distribution = {
|
|
|
386
415
|
"name": "tokenProgram"
|
|
387
416
|
},
|
|
388
417
|
{
|
|
389
|
-
"name": "
|
|
418
|
+
"name": "stakeControllerProgram"
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
"name": "payRateHistory"
|
|
390
422
|
},
|
|
391
423
|
{
|
|
392
424
|
"name": "systemProgram",
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* IDL can be found at `target/idl/liq_sol_token.json`.
|
|
6
6
|
*/
|
|
7
7
|
export type LiqSolToken = {
|
|
8
|
-
"address": "
|
|
8
|
+
"address": "5MRFSLCkXPEzfR6gkcZCVttq9g83mMUHyTZ85Z3TSpvU",
|
|
9
9
|
"metadata": {
|
|
10
10
|
"name": "liqSolToken",
|
|
11
11
|
"version": "0.1.0",
|
|
@@ -62,8 +62,31 @@ export type LiqSolToken = {
|
|
|
62
62
|
},
|
|
63
63
|
{
|
|
64
64
|
"name": "mint",
|
|
65
|
+
"docs": [
|
|
66
|
+
"The mint PDA - deterministic address for liqSOL token"
|
|
67
|
+
],
|
|
65
68
|
"writable": true,
|
|
66
|
-
"
|
|
69
|
+
"pda": {
|
|
70
|
+
"seeds": [
|
|
71
|
+
{
|
|
72
|
+
"kind": "const",
|
|
73
|
+
"value": [
|
|
74
|
+
108,
|
|
75
|
+
105,
|
|
76
|
+
113,
|
|
77
|
+
95,
|
|
78
|
+
115,
|
|
79
|
+
111,
|
|
80
|
+
108,
|
|
81
|
+
95,
|
|
82
|
+
109,
|
|
83
|
+
105,
|
|
84
|
+
110,
|
|
85
|
+
116
|
|
86
|
+
]
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
}
|
|
67
90
|
},
|
|
68
91
|
{
|
|
69
92
|
"name": "mintTokenAccount",
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Program IDL in camelCase format in order to be used in JS/TS.
|
|
3
|
+
*
|
|
4
|
+
* Note that this is only a type helper and is not the actual IDL. The original
|
|
5
|
+
* IDL can be found at `target/idl/mint_helper.json`.
|
|
6
|
+
*/
|
|
7
|
+
export type MintHelper = {
|
|
8
|
+
"address": "JXcNGqZVmeVsHorECRmsK2FtEt7dZRfqqaY451BDppW",
|
|
9
|
+
"metadata": {
|
|
10
|
+
"name": "mintHelper",
|
|
11
|
+
"version": "0.1.0",
|
|
12
|
+
"spec": "0.1.0",
|
|
13
|
+
"description": "Created with Anchor"
|
|
14
|
+
},
|
|
15
|
+
"instructions": [
|
|
16
|
+
{
|
|
17
|
+
"name": "mintToAccount",
|
|
18
|
+
"discriminator": [
|
|
19
|
+
67,
|
|
20
|
+
25,
|
|
21
|
+
254,
|
|
22
|
+
173,
|
|
23
|
+
127,
|
|
24
|
+
166,
|
|
25
|
+
62,
|
|
26
|
+
85
|
|
27
|
+
],
|
|
28
|
+
"accounts": [
|
|
29
|
+
{
|
|
30
|
+
"name": "payer",
|
|
31
|
+
"writable": true,
|
|
32
|
+
"signer": true
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "programAuthority",
|
|
36
|
+
"docs": [
|
|
37
|
+
"The mint-helper program authority PDA that will authorize the CPI"
|
|
38
|
+
],
|
|
39
|
+
"writable": true,
|
|
40
|
+
"pda": {
|
|
41
|
+
"seeds": [
|
|
42
|
+
{
|
|
43
|
+
"kind": "const",
|
|
44
|
+
"value": [
|
|
45
|
+
109,
|
|
46
|
+
105,
|
|
47
|
+
110,
|
|
48
|
+
116,
|
|
49
|
+
95,
|
|
50
|
+
104,
|
|
51
|
+
101,
|
|
52
|
+
108,
|
|
53
|
+
112,
|
|
54
|
+
101,
|
|
55
|
+
114,
|
|
56
|
+
95,
|
|
57
|
+
97,
|
|
58
|
+
117,
|
|
59
|
+
116,
|
|
60
|
+
104,
|
|
61
|
+
111,
|
|
62
|
+
114,
|
|
63
|
+
105,
|
|
64
|
+
116,
|
|
65
|
+
121
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "liqsolMint",
|
|
73
|
+
"docs": [
|
|
74
|
+
"The liqSOL token mint"
|
|
75
|
+
],
|
|
76
|
+
"writable": true
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": "recipientTokenAccount",
|
|
80
|
+
"docs": [
|
|
81
|
+
"The recipient token account to receive minted liqSOL"
|
|
82
|
+
],
|
|
83
|
+
"writable": true
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": "liqsolMintAuthority",
|
|
87
|
+
"docs": [
|
|
88
|
+
"The liq-sol-token mint authority PDA"
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"name": "liqsolProgram",
|
|
93
|
+
"docs": [
|
|
94
|
+
"The liq-sol-token program for CPI"
|
|
95
|
+
]
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"name": "tokenProgram",
|
|
99
|
+
"docs": [
|
|
100
|
+
"Token program (Token2022)"
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"name": "instructionsSysvar",
|
|
105
|
+
"address": "Sysvar1nstructions1111111111111111111111111"
|
|
106
|
+
}
|
|
107
|
+
],
|
|
108
|
+
"args": [
|
|
109
|
+
{
|
|
110
|
+
"name": "amount",
|
|
111
|
+
"type": "u64"
|
|
112
|
+
}
|
|
113
|
+
]
|
|
114
|
+
}
|
|
115
|
+
]
|
|
116
|
+
};
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Program IDL in camelCase format in order to be used in JS/TS.
|
|
3
|
+
*
|
|
4
|
+
* Note that this is only a type helper and is not the actual IDL. The original
|
|
5
|
+
* IDL can be found at `target/idl/read_tracked_balance.json`.
|
|
6
|
+
*/
|
|
7
|
+
export type ReadTrackedBalance = {
|
|
8
|
+
"address": "4NBX78FYgvrg4sDoG5AR2LDbtXnuXcZ32sGAHvz9ao89",
|
|
9
|
+
"metadata": {
|
|
10
|
+
"name": "readTrackedBalance",
|
|
11
|
+
"version": "0.1.0",
|
|
12
|
+
"spec": "0.1.0",
|
|
13
|
+
"description": "Program for reading tracked balance from distribution state"
|
|
14
|
+
},
|
|
15
|
+
"instructions": [
|
|
16
|
+
{
|
|
17
|
+
"name": "readTotalTrackedBalance",
|
|
18
|
+
"discriminator": [
|
|
19
|
+
50,
|
|
20
|
+
249,
|
|
21
|
+
152,
|
|
22
|
+
17,
|
|
23
|
+
91,
|
|
24
|
+
135,
|
|
25
|
+
116,
|
|
26
|
+
90
|
|
27
|
+
],
|
|
28
|
+
"accounts": [
|
|
29
|
+
{
|
|
30
|
+
"name": "distributionState",
|
|
31
|
+
"docs": [
|
|
32
|
+
"The distribution state account from the distribution program",
|
|
33
|
+
"We validate it using the same PDA seeds as the distribution program"
|
|
34
|
+
],
|
|
35
|
+
"pda": {
|
|
36
|
+
"seeds": [
|
|
37
|
+
{
|
|
38
|
+
"kind": "const",
|
|
39
|
+
"value": [
|
|
40
|
+
100,
|
|
41
|
+
105,
|
|
42
|
+
115,
|
|
43
|
+
116,
|
|
44
|
+
114,
|
|
45
|
+
105,
|
|
46
|
+
98,
|
|
47
|
+
117,
|
|
48
|
+
116,
|
|
49
|
+
105,
|
|
50
|
+
111,
|
|
51
|
+
110,
|
|
52
|
+
95,
|
|
53
|
+
115,
|
|
54
|
+
116,
|
|
55
|
+
97,
|
|
56
|
+
116,
|
|
57
|
+
101
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
"program": {
|
|
62
|
+
"kind": "const",
|
|
63
|
+
"value": [
|
|
64
|
+
192,
|
|
65
|
+
77,
|
|
66
|
+
48,
|
|
67
|
+
221,
|
|
68
|
+
223,
|
|
69
|
+
198,
|
|
70
|
+
148,
|
|
71
|
+
69,
|
|
72
|
+
53,
|
|
73
|
+
195,
|
|
74
|
+
230,
|
|
75
|
+
52,
|
|
76
|
+
221,
|
|
77
|
+
10,
|
|
78
|
+
39,
|
|
79
|
+
100,
|
|
80
|
+
176,
|
|
81
|
+
246,
|
|
82
|
+
220,
|
|
83
|
+
132,
|
|
84
|
+
12,
|
|
85
|
+
148,
|
|
86
|
+
188,
|
|
87
|
+
218,
|
|
88
|
+
70,
|
|
89
|
+
17,
|
|
90
|
+
75,
|
|
91
|
+
89,
|
|
92
|
+
171,
|
|
93
|
+
198,
|
|
94
|
+
208,
|
|
95
|
+
210
|
|
96
|
+
]
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
],
|
|
101
|
+
"args": [],
|
|
102
|
+
"returns": "u64"
|
|
103
|
+
}
|
|
104
|
+
],
|
|
105
|
+
"accounts": [
|
|
106
|
+
{
|
|
107
|
+
"name": "distributionState",
|
|
108
|
+
"discriminator": [
|
|
109
|
+
7,
|
|
110
|
+
25,
|
|
111
|
+
94,
|
|
112
|
+
15,
|
|
113
|
+
208,
|
|
114
|
+
170,
|
|
115
|
+
4,
|
|
116
|
+
103
|
|
117
|
+
]
|
|
118
|
+
}
|
|
119
|
+
],
|
|
120
|
+
"types": [
|
|
121
|
+
{
|
|
122
|
+
"name": "distributionState",
|
|
123
|
+
"type": {
|
|
124
|
+
"kind": "struct",
|
|
125
|
+
"fields": [
|
|
126
|
+
{
|
|
127
|
+
"name": "liqsolMint",
|
|
128
|
+
"type": "pubkey"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"name": "totalTrackedBalance",
|
|
132
|
+
"type": "u64"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"name": "availableBalance",
|
|
136
|
+
"type": "u64"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"name": "bump",
|
|
140
|
+
"type": "u8"
|
|
141
|
+
}
|
|
142
|
+
]
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
]
|
|
146
|
+
};
|