@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.
Files changed (44) hide show
  1. package/README.md +203 -13
  2. package/lib/stake.browser.js +2800 -3329
  3. package/lib/stake.browser.js.map +1 -1
  4. package/lib/stake.d.ts +376 -6261
  5. package/lib/stake.js +2937 -3476
  6. package/lib/stake.js.map +1 -1
  7. package/lib/stake.m.js +2800 -3329
  8. package/lib/stake.m.js.map +1 -1
  9. package/package.json +2 -2
  10. package/src/assets/solana/idl/deposit.json +46 -10
  11. package/src/assets/solana/idl/distribution.json +40 -8
  12. package/src/assets/solana/idl/liq_sol_token.json +25 -2
  13. package/src/assets/solana/idl/mint_helper.json +110 -0
  14. package/src/assets/solana/idl/read_tracked_balance.json +140 -0
  15. package/src/assets/solana/idl/stake_controller.json +1141 -780
  16. package/src/assets/solana/idl/treasury.json +1 -227
  17. package/src/assets/solana/idl/validator_leaderboard.json +88 -47
  18. package/src/assets/solana/idl/validator_registry.json +115 -46
  19. package/src/assets/solana/idl/yield_oracle.json +1 -1
  20. package/src/assets/solana/types/deposit.ts +46 -10
  21. package/src/assets/solana/types/distribution.ts +40 -8
  22. package/src/assets/solana/types/liq_sol_token.ts +25 -2
  23. package/src/assets/solana/types/mint_helper.ts +116 -0
  24. package/src/assets/solana/types/read_tracked_balance.ts +146 -0
  25. package/src/assets/solana/types/stake_controller.ts +1141 -780
  26. package/src/assets/solana/types/treasury.ts +1 -227
  27. package/src/assets/solana/types/validator_leaderboard.ts +88 -47
  28. package/src/assets/solana/types/validator_registry.ts +115 -46
  29. package/src/assets/solana/types/yield_oracle.ts +1 -1
  30. package/src/index.ts +3 -4
  31. package/src/networks/ethereum/ethereum.ts +2 -2
  32. package/src/networks/solana/clients/deposit.client.ts +71 -80
  33. package/src/networks/solana/clients/distribution.client.ts +392 -141
  34. package/src/networks/solana/clients/leaderboard.client.ts +82 -107
  35. package/src/networks/solana/constants.ts +141 -56
  36. package/src/networks/solana/program.ts +36 -89
  37. package/src/networks/solana/solana.ts +168 -34
  38. package/src/networks/solana/types.ts +57 -0
  39. package/src/scripts/fetch-artifacts.sh +24 -0
  40. package/src/staker/staker.ts +32 -28
  41. package/src/staker/types.ts +24 -21
  42. package/src/assets/solana/idl/stake_registry.json +0 -435
  43. package/src/networks/solana/utils.ts +0 -122
  44. /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": "8dtZVExD471mgT5hx8PWMZQT1YJ6aBbTdYw8BbydCdFJ",
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": "2BLSWVneoJAFXTDW2siQuEaZ7RUPTb9df482VChToK7K"
77
+ "address": "4Ab1SwV6RPUN5Btnf95qvQCyNVR3iHnXjnMYaKsgimTp"
82
78
  },
83
79
  {
84
80
  "name": "liqsolProgram"
85
81
  },
86
82
  {
87
- "name": "yieldOracleProgram",
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": "4MAXmFPeLotiGBt1BRWQwUYrWcsvGKrWWKxMwiMgKfci"
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": "4MAXmFPeLotiGBt1BRWQwUYrWcsvGKrWWKxMwiMgKfci",
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": "liqsolProgram",
189
- "address": "4XtXy6aa2VCi6GN2Vnj3F5GfGG2qbVhBz2DpDSy8MF4X"
188
+ "name": "stakeControllerProgram",
189
+ "address": "4Ab1SwV6RPUN5Btnf95qvQCyNVR3iHnXjnMYaKsgimTp"
190
190
  },
191
191
  {
192
- "name": "liqsolMintAuthority"
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": "instructionsSysvar",
196
- "address": "Sysvar1nstructions1111111111111111111111111"
221
+ "name": "bucketTokenAccount",
222
+ "docs": [
223
+ "The bucket's associated token account holding liqSOL"
224
+ ],
225
+ "writable": true
197
226
  },
198
227
  {
199
- "name": "yieldOracleProgram"
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": "yieldOracleProgram"
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": "4XtXy6aa2VCi6GN2Vnj3F5GfGG2qbVhBz2DpDSy8MF4X",
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
- "signer": true
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
+ };