@ledgerhq/coin-solana 0.8.6 → 0.9.0-next.1
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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +20 -0
- package/lib/tx-fees.js +1 -1
- package/lib/tx-fees.js.map +1 -1
- package/lib/utils.d.ts +5 -1
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +25 -10
- package/lib/utils.js.map +1 -1
- package/lib-es/tx-fees.js +2 -2
- package/lib-es/tx-fees.js.map +1 -1
- package/lib-es/utils.d.ts +5 -1
- package/lib-es/utils.d.ts.map +1 -1
- package/lib-es/utils.js +24 -9
- package/lib-es/utils.js.map +1 -1
- package/package.json +3 -3
- package/src/tx-fees.ts +2 -2
- package/src/utils.ts +30 -10
package/.turbo/turbo-build.log
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# @ledgerhq/coin-solana
|
|
2
2
|
|
|
3
|
+
## 0.9.0-next.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [[`61aedb7`](https://github.com/LedgerHQ/ledger-live/commit/61aedb7bbd45e73d6bc2b53e55f562262d5c5fa7)]:
|
|
8
|
+
- @ledgerhq/types-live@6.55.0-next.1
|
|
9
|
+
- @ledgerhq/coin-framework@0.20.1-next.1
|
|
10
|
+
|
|
11
|
+
## 0.9.0-next.0
|
|
12
|
+
|
|
13
|
+
### Minor Changes
|
|
14
|
+
|
|
15
|
+
- [#8563](https://github.com/LedgerHQ/ledger-live/pull/8563) [`93f8f78`](https://github.com/LedgerHQ/ledger-live/commit/93f8f7885d1300208310599e743a4d1fae4ec2a4) Thanks [@Canestin](https://github.com/Canestin)! - add another ledger solana validator
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- Updated dependencies [[`40f1cd4`](https://github.com/LedgerHQ/ledger-live/commit/40f1cd4c22d17480dcf86c73e90a07866667b0ba), [`c45ee45`](https://github.com/LedgerHQ/ledger-live/commit/c45ee457a9f5500ae42f2a8fb7f0cfb7926f319b), [`322fd58`](https://github.com/LedgerHQ/ledger-live/commit/322fd58ffcde6d592eb27af1fd93f8c45d33205c)]:
|
|
20
|
+
- @ledgerhq/types-live@6.55.0-next.0
|
|
21
|
+
- @ledgerhq/coin-framework@0.20.1-next.0
|
|
22
|
+
|
|
3
23
|
## 0.8.6
|
|
4
24
|
|
|
5
25
|
### Patch Changes
|
package/lib/tx-fees.js
CHANGED
|
@@ -79,7 +79,7 @@ const createDummyStakeCreateAccountTx = (address) => __awaiter(void 0, void 0, v
|
|
|
79
79
|
kind: "stake.createAccount",
|
|
80
80
|
amount: 0,
|
|
81
81
|
delegate: {
|
|
82
|
-
voteAccAddress: utils_1.
|
|
82
|
+
voteAccAddress: utils_1.LEDGER_VALIDATOR_DEFAULT.voteAccount,
|
|
83
83
|
},
|
|
84
84
|
fromAccAddress: address,
|
|
85
85
|
seed: "",
|
package/lib/tx-fees.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx-fees.js","sourceRoot":"","sources":["../src/tx-fees.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,yDAA6D;AAC7D,4EAAoD;AAEpD,
|
|
1
|
+
{"version":3,"file":"tx-fees.js","sourceRoot":"","sources":["../src/tx-fees.ts"],"names":[],"mappings":"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"}
|
package/lib/utils.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { Cluster } from "@solana/web3.js";
|
|
2
2
|
import { ValidatorsAppValidator } from "./validator-app";
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const LEDGER_VALIDATOR_BY_FIGMENT: ValidatorsAppValidator;
|
|
4
|
+
export declare const LEDGER_VALIDATOR_BY_CHORUS_ONE: ValidatorsAppValidator;
|
|
5
|
+
export declare const LEDGER_VALIDATOR_LIST: ValidatorsAppValidator[];
|
|
6
|
+
export declare const LEDGER_VALIDATOR_DEFAULT: ValidatorsAppValidator;
|
|
7
|
+
export declare const LEDGER_VALIDATORS_VOTE_ACCOUNTS: string[];
|
|
4
8
|
export declare const SOLANA_DELEGATION_RESERVE = 0.01;
|
|
5
9
|
export declare const assertUnreachable: (_: never) => never;
|
|
6
10
|
export declare function drainSeqAsyncGen<T>(...asyncGens: AsyncGenerator<T>[]): Promise<T[]>;
|
package/lib/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAiB,MAAM,iBAAiB,CAAC;AAGzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAKzD,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAiB,MAAM,iBAAiB,CAAC;AAGzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAKzD,eAAO,MAAM,2BAA2B,EAAE,sBASzC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,sBAS5C,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,sBAAsB,EAGzD,CAAC;AAEF,eAAO,MAAM,wBAAwB,wBAA8B,CAAC;AAEpE,eAAO,MAAM,+BAA+B,UAAgD,CAAC;AAE7F,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAE9C,eAAO,MAAM,iBAAiB,MAAO,KAAK,KAAG,KAE5C,CAAC;AAEF,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAQzF;AAED,wBAAsB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,gBAM3D;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAc/D;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAc/D;AAED,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAcrF;AAQD,wBAAgB,UAAU,CAAC,MAAM,EAAE;IAAE,gBAAgB,EAAE,MAAM,CAAA;CAAE,GAAG;IAChE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CACjD,CAqCA;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,QAIpD;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,MAAM;KAE9B,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;CAC1D,CAAC;AAGF,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,sBAAsB,EAAE,GACnC,sBAAsB,EAAE,CAQ1B;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,sBAAsB,EAAE,4BAExE;AAGD,eAAO,MAAM,YAAY,kCAGd,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,GAAG,yCAAyC,CAAC,wFAErF,CAAC;AAEV,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAE/E;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAY/C"}
|
package/lib/utils.js
CHANGED
|
@@ -19,22 +19,37 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
19
19
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
20
20
|
};
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.median = exports.sweetch = exports.tupleOfUnion = exports.profitableValidators = exports.ledgerFirstValidators = exports.swap = exports.asyncQueue = exports.defaultVoteAccAddrByCurrencyId = exports.clusterByCurrencyId = exports.endpointByCurrencyId = exports.drainSeq = exports.drainSeqAsyncGen = exports.assertUnreachable = exports.SOLANA_DELEGATION_RESERVE = exports.
|
|
22
|
+
exports.median = exports.sweetch = exports.tupleOfUnion = exports.profitableValidators = exports.ledgerFirstValidators = exports.swap = exports.asyncQueue = exports.defaultVoteAccAddrByCurrencyId = exports.clusterByCurrencyId = exports.endpointByCurrencyId = exports.drainSeq = exports.drainSeqAsyncGen = exports.assertUnreachable = exports.SOLANA_DELEGATION_RESERVE = exports.LEDGER_VALIDATORS_VOTE_ACCOUNTS = exports.LEDGER_VALIDATOR_DEFAULT = exports.LEDGER_VALIDATOR_LIST = exports.LEDGER_VALIDATOR_BY_CHORUS_ONE = exports.LEDGER_VALIDATOR_BY_FIGMENT = void 0;
|
|
23
23
|
const web3_js_1 = require("@solana/web3.js");
|
|
24
24
|
const fp_1 = require("lodash/fp");
|
|
25
25
|
const live_env_1 = require("@ledgerhq/live-env");
|
|
26
26
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
27
|
-
// Hardcoding the Ledger
|
|
27
|
+
// Hardcoding the Ledger validators info as backup,
|
|
28
28
|
// because backend is flaky and sometimes doesn't return it anymore
|
|
29
|
-
exports.
|
|
29
|
+
exports.LEDGER_VALIDATOR_BY_FIGMENT = {
|
|
30
30
|
voteAccount: "26pV97Ce83ZQ6Kz9XT4td8tdoUFPTng8Fb8gPyc53dJx",
|
|
31
31
|
name: "Ledger by Figment",
|
|
32
32
|
avatarUrl: "https://s3.amazonaws.com/keybase_processed_uploads/3c47b62f3d28ecfd821536f69be82905_360_360.jpg",
|
|
33
33
|
wwwUrl: "https://www.ledger.com/staking",
|
|
34
|
-
activeStake:
|
|
34
|
+
activeStake: 9079057178046828,
|
|
35
35
|
commission: 7,
|
|
36
36
|
totalScore: 6,
|
|
37
37
|
};
|
|
38
|
+
exports.LEDGER_VALIDATOR_BY_CHORUS_ONE = {
|
|
39
|
+
voteAccount: "CpfvLiiPALdzZTP3fUrALg2TXwEDSAknRh1sn5JCt9Sr",
|
|
40
|
+
name: "Ledger by Chorus One",
|
|
41
|
+
avatarUrl: "https://s3.amazonaws.com/keybase_processed_uploads/3c47b62f3d28ecfd821536f69be82905_360_360.jpg",
|
|
42
|
+
wwwUrl: "https://www.ledger.com/staking",
|
|
43
|
+
activeStake: 0,
|
|
44
|
+
commission: 7,
|
|
45
|
+
totalScore: 6,
|
|
46
|
+
};
|
|
47
|
+
exports.LEDGER_VALIDATOR_LIST = [
|
|
48
|
+
exports.LEDGER_VALIDATOR_BY_CHORUS_ONE,
|
|
49
|
+
exports.LEDGER_VALIDATOR_BY_FIGMENT,
|
|
50
|
+
];
|
|
51
|
+
exports.LEDGER_VALIDATOR_DEFAULT = exports.LEDGER_VALIDATOR_BY_FIGMENT;
|
|
52
|
+
exports.LEDGER_VALIDATORS_VOTE_ACCOUNTS = exports.LEDGER_VALIDATOR_LIST.map(v => v.voteAccount);
|
|
38
53
|
exports.SOLANA_DELEGATION_RESERVE = 0.01;
|
|
39
54
|
const assertUnreachable = (_) => {
|
|
40
55
|
throw new Error("unreachable assertion failed");
|
|
@@ -101,7 +116,7 @@ function clusterByCurrencyId(currencyId) {
|
|
|
101
116
|
exports.clusterByCurrencyId = clusterByCurrencyId;
|
|
102
117
|
function defaultVoteAccAddrByCurrencyId(currencyId) {
|
|
103
118
|
const voteAccAddrs = {
|
|
104
|
-
solana:
|
|
119
|
+
solana: undefined,
|
|
105
120
|
solana_devnet: undefined,
|
|
106
121
|
solana_testnet: undefined,
|
|
107
122
|
};
|
|
@@ -154,12 +169,12 @@ function swap(arr, i, j) {
|
|
|
154
169
|
arr[j] = tmp;
|
|
155
170
|
}
|
|
156
171
|
exports.swap = swap;
|
|
157
|
-
// move Ledger
|
|
172
|
+
// move Ledger validators to the first positions
|
|
158
173
|
function ledgerFirstValidators(validators) {
|
|
159
|
-
const [
|
|
160
|
-
return
|
|
161
|
-
?
|
|
162
|
-
:
|
|
174
|
+
const [ledgerValidators, restValidators] = (0, fp_1.partition)(v => exports.LEDGER_VALIDATORS_VOTE_ACCOUNTS.includes(v.voteAccount), validators);
|
|
175
|
+
return ledgerValidators.length === 2
|
|
176
|
+
? ledgerValidators.concat(restValidators)
|
|
177
|
+
: exports.LEDGER_VALIDATOR_LIST.concat(restValidators);
|
|
163
178
|
}
|
|
164
179
|
exports.ledgerFirstValidators = ledgerFirstValidators;
|
|
165
180
|
function profitableValidators(validators) {
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAyD;AACzD,kCAAsC;AACtC,iDAA4C;AAE5C,gEAAqC;AAErC,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/lib-es/tx-fees.js
CHANGED
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import { buildTransactionWithAPI } from "./buildTransaction";
|
|
11
11
|
import createTransaction from "./createTransaction";
|
|
12
|
-
import {
|
|
12
|
+
import { LEDGER_VALIDATOR_DEFAULT, assertUnreachable } from "./utils";
|
|
13
13
|
import { log } from "@ledgerhq/logs";
|
|
14
14
|
import { getStakeAccountAddressWithSeed } from "./api/chain/web3";
|
|
15
15
|
const DEFAULT_TX_FEE = 5000;
|
|
@@ -72,7 +72,7 @@ const createDummyStakeCreateAccountTx = (address) => __awaiter(void 0, void 0, v
|
|
|
72
72
|
kind: "stake.createAccount",
|
|
73
73
|
amount: 0,
|
|
74
74
|
delegate: {
|
|
75
|
-
voteAccAddress:
|
|
75
|
+
voteAccAddress: LEDGER_VALIDATOR_DEFAULT.voteAccount,
|
|
76
76
|
},
|
|
77
77
|
fromAccAddress: address,
|
|
78
78
|
seed: "",
|
package/lib-es/tx-fees.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx-fees.js","sourceRoot":"","sources":["../src/tx-fees.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tx-fees.js","sourceRoot":"","sources":["../src/tx-fees.ts"],"names":[],"mappings":"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"}
|
package/lib-es/utils.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { Cluster } from "@solana/web3.js";
|
|
2
2
|
import { ValidatorsAppValidator } from "./validator-app";
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const LEDGER_VALIDATOR_BY_FIGMENT: ValidatorsAppValidator;
|
|
4
|
+
export declare const LEDGER_VALIDATOR_BY_CHORUS_ONE: ValidatorsAppValidator;
|
|
5
|
+
export declare const LEDGER_VALIDATOR_LIST: ValidatorsAppValidator[];
|
|
6
|
+
export declare const LEDGER_VALIDATOR_DEFAULT: ValidatorsAppValidator;
|
|
7
|
+
export declare const LEDGER_VALIDATORS_VOTE_ACCOUNTS: string[];
|
|
4
8
|
export declare const SOLANA_DELEGATION_RESERVE = 0.01;
|
|
5
9
|
export declare const assertUnreachable: (_: never) => never;
|
|
6
10
|
export declare function drainSeqAsyncGen<T>(...asyncGens: AsyncGenerator<T>[]): Promise<T[]>;
|
package/lib-es/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAiB,MAAM,iBAAiB,CAAC;AAGzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAKzD,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAiB,MAAM,iBAAiB,CAAC;AAGzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAKzD,eAAO,MAAM,2BAA2B,EAAE,sBASzC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,sBAS5C,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,sBAAsB,EAGzD,CAAC;AAEF,eAAO,MAAM,wBAAwB,wBAA8B,CAAC;AAEpE,eAAO,MAAM,+BAA+B,UAAgD,CAAC;AAE7F,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAE9C,eAAO,MAAM,iBAAiB,MAAO,KAAK,KAAG,KAE5C,CAAC;AAEF,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAQzF;AAED,wBAAsB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,gBAM3D;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAc/D;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAc/D;AAED,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAcrF;AAQD,wBAAgB,UAAU,CAAC,MAAM,EAAE;IAAE,gBAAgB,EAAE,MAAM,CAAA;CAAE,GAAG;IAChE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CACjD,CAqCA;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,QAIpD;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,MAAM;KAE9B,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;CAC1D,CAAC;AAGF,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,sBAAsB,EAAE,GACnC,sBAAsB,EAAE,CAQ1B;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,sBAAsB,EAAE,4BAExE;AAGD,eAAO,MAAM,YAAY,kCAGd,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,GAAG,yCAAyC,CAAC,wFAErF,CAAC;AAEV,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAE/E;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAY/C"}
|
package/lib-es/utils.js
CHANGED
|
@@ -18,17 +18,32 @@ import { clusterApiUrl } from "@solana/web3.js";
|
|
|
18
18
|
import { partition } from "lodash/fp";
|
|
19
19
|
import { getEnv } from "@ledgerhq/live-env";
|
|
20
20
|
import BigNumber from "bignumber.js";
|
|
21
|
-
// Hardcoding the Ledger
|
|
21
|
+
// Hardcoding the Ledger validators info as backup,
|
|
22
22
|
// because backend is flaky and sometimes doesn't return it anymore
|
|
23
|
-
export const
|
|
23
|
+
export const LEDGER_VALIDATOR_BY_FIGMENT = {
|
|
24
24
|
voteAccount: "26pV97Ce83ZQ6Kz9XT4td8tdoUFPTng8Fb8gPyc53dJx",
|
|
25
25
|
name: "Ledger by Figment",
|
|
26
26
|
avatarUrl: "https://s3.amazonaws.com/keybase_processed_uploads/3c47b62f3d28ecfd821536f69be82905_360_360.jpg",
|
|
27
27
|
wwwUrl: "https://www.ledger.com/staking",
|
|
28
|
-
activeStake:
|
|
28
|
+
activeStake: 9079057178046828,
|
|
29
29
|
commission: 7,
|
|
30
30
|
totalScore: 6,
|
|
31
31
|
};
|
|
32
|
+
export const LEDGER_VALIDATOR_BY_CHORUS_ONE = {
|
|
33
|
+
voteAccount: "CpfvLiiPALdzZTP3fUrALg2TXwEDSAknRh1sn5JCt9Sr",
|
|
34
|
+
name: "Ledger by Chorus One",
|
|
35
|
+
avatarUrl: "https://s3.amazonaws.com/keybase_processed_uploads/3c47b62f3d28ecfd821536f69be82905_360_360.jpg",
|
|
36
|
+
wwwUrl: "https://www.ledger.com/staking",
|
|
37
|
+
activeStake: 0,
|
|
38
|
+
commission: 7,
|
|
39
|
+
totalScore: 6,
|
|
40
|
+
};
|
|
41
|
+
export const LEDGER_VALIDATOR_LIST = [
|
|
42
|
+
LEDGER_VALIDATOR_BY_CHORUS_ONE,
|
|
43
|
+
LEDGER_VALIDATOR_BY_FIGMENT,
|
|
44
|
+
];
|
|
45
|
+
export const LEDGER_VALIDATOR_DEFAULT = LEDGER_VALIDATOR_BY_FIGMENT;
|
|
46
|
+
export const LEDGER_VALIDATORS_VOTE_ACCOUNTS = LEDGER_VALIDATOR_LIST.map(v => v.voteAccount);
|
|
32
47
|
export const SOLANA_DELEGATION_RESERVE = 0.01;
|
|
33
48
|
export const assertUnreachable = (_) => {
|
|
34
49
|
throw new Error("unreachable assertion failed");
|
|
@@ -90,7 +105,7 @@ export function clusterByCurrencyId(currencyId) {
|
|
|
90
105
|
}
|
|
91
106
|
export function defaultVoteAccAddrByCurrencyId(currencyId) {
|
|
92
107
|
const voteAccAddrs = {
|
|
93
|
-
solana:
|
|
108
|
+
solana: undefined,
|
|
94
109
|
solana_devnet: undefined,
|
|
95
110
|
solana_testnet: undefined,
|
|
96
111
|
};
|
|
@@ -140,12 +155,12 @@ export function swap(arr, i, j) {
|
|
|
140
155
|
arr[i] = arr[j];
|
|
141
156
|
arr[j] = tmp;
|
|
142
157
|
}
|
|
143
|
-
// move Ledger
|
|
158
|
+
// move Ledger validators to the first positions
|
|
144
159
|
export function ledgerFirstValidators(validators) {
|
|
145
|
-
const [
|
|
146
|
-
return
|
|
147
|
-
?
|
|
148
|
-
:
|
|
160
|
+
const [ledgerValidators, restValidators] = partition(v => LEDGER_VALIDATORS_VOTE_ACCOUNTS.includes(v.voteAccount), validators);
|
|
161
|
+
return ledgerValidators.length === 2
|
|
162
|
+
? ledgerValidators.concat(restValidators)
|
|
163
|
+
: LEDGER_VALIDATOR_LIST.concat(restValidators);
|
|
149
164
|
}
|
|
150
165
|
export function profitableValidators(validators) {
|
|
151
166
|
return validators.filter(v => v.commission < 100);
|
package/lib-es/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,EAAW,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/coin-solana",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0-next.1",
|
|
4
4
|
"description": "Ledger Solana Coin integration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ledger",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"object-hash": "^2.2.0",
|
|
55
55
|
"rxjs": "^7.8.1",
|
|
56
56
|
"superstruct": "0.14.2",
|
|
57
|
-
"@ledgerhq/coin-framework": "^0.20.
|
|
57
|
+
"@ledgerhq/coin-framework": "^0.20.1-next.1",
|
|
58
58
|
"@ledgerhq/cryptoassets": "^13.7.0",
|
|
59
59
|
"@ledgerhq/devices": "8.4.4",
|
|
60
60
|
"@ledgerhq/errors": "^6.19.1",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"@ledgerhq/live-network": "^2.0.3",
|
|
63
63
|
"@ledgerhq/logs": "^6.12.0",
|
|
64
64
|
"@ledgerhq/types-cryptoassets": "^7.17.0",
|
|
65
|
-
"@ledgerhq/types-live": "^6.
|
|
65
|
+
"@ledgerhq/types-live": "^6.55.0-next.1"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
68
|
"@faker-js/faker": "^8.4.1",
|
package/src/tx-fees.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { ChainAPI } from "./api";
|
|
|
2
2
|
import { buildTransactionWithAPI } from "./buildTransaction";
|
|
3
3
|
import createTransaction from "./createTransaction";
|
|
4
4
|
import { Transaction, TransactionModel } from "./types";
|
|
5
|
-
import {
|
|
5
|
+
import { LEDGER_VALIDATOR_DEFAULT, assertUnreachable } from "./utils";
|
|
6
6
|
import { VersionedTransaction as OnChainTransaction } from "@solana/web3.js";
|
|
7
7
|
import { log } from "@ledgerhq/logs";
|
|
8
8
|
import { getStakeAccountAddressWithSeed } from "./api/chain/web3";
|
|
@@ -88,7 +88,7 @@ const createDummyStakeCreateAccountTx = async (address: string): Promise<Transac
|
|
|
88
88
|
kind: "stake.createAccount",
|
|
89
89
|
amount: 0,
|
|
90
90
|
delegate: {
|
|
91
|
-
voteAccAddress:
|
|
91
|
+
voteAccAddress: LEDGER_VALIDATOR_DEFAULT.voteAccount,
|
|
92
92
|
},
|
|
93
93
|
fromAccAddress: address,
|
|
94
94
|
seed: "",
|
package/src/utils.ts
CHANGED
|
@@ -4,19 +4,39 @@ import { getEnv } from "@ledgerhq/live-env";
|
|
|
4
4
|
import { ValidatorsAppValidator } from "./validator-app";
|
|
5
5
|
import BigNumber from "bignumber.js";
|
|
6
6
|
|
|
7
|
-
// Hardcoding the Ledger
|
|
7
|
+
// Hardcoding the Ledger validators info as backup,
|
|
8
8
|
// because backend is flaky and sometimes doesn't return it anymore
|
|
9
|
-
export const
|
|
9
|
+
export const LEDGER_VALIDATOR_BY_FIGMENT: ValidatorsAppValidator = {
|
|
10
10
|
voteAccount: "26pV97Ce83ZQ6Kz9XT4td8tdoUFPTng8Fb8gPyc53dJx",
|
|
11
11
|
name: "Ledger by Figment",
|
|
12
12
|
avatarUrl:
|
|
13
13
|
"https://s3.amazonaws.com/keybase_processed_uploads/3c47b62f3d28ecfd821536f69be82905_360_360.jpg",
|
|
14
14
|
wwwUrl: "https://www.ledger.com/staking",
|
|
15
|
-
activeStake:
|
|
15
|
+
activeStake: 9079057178046828,
|
|
16
16
|
commission: 7,
|
|
17
17
|
totalScore: 6,
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
+
export const LEDGER_VALIDATOR_BY_CHORUS_ONE: ValidatorsAppValidator = {
|
|
21
|
+
voteAccount: "CpfvLiiPALdzZTP3fUrALg2TXwEDSAknRh1sn5JCt9Sr",
|
|
22
|
+
name: "Ledger by Chorus One",
|
|
23
|
+
avatarUrl:
|
|
24
|
+
"https://s3.amazonaws.com/keybase_processed_uploads/3c47b62f3d28ecfd821536f69be82905_360_360.jpg",
|
|
25
|
+
wwwUrl: "https://www.ledger.com/staking",
|
|
26
|
+
activeStake: 0,
|
|
27
|
+
commission: 7,
|
|
28
|
+
totalScore: 6,
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export const LEDGER_VALIDATOR_LIST: ValidatorsAppValidator[] = [
|
|
32
|
+
LEDGER_VALIDATOR_BY_CHORUS_ONE,
|
|
33
|
+
LEDGER_VALIDATOR_BY_FIGMENT,
|
|
34
|
+
];
|
|
35
|
+
|
|
36
|
+
export const LEDGER_VALIDATOR_DEFAULT = LEDGER_VALIDATOR_BY_FIGMENT;
|
|
37
|
+
|
|
38
|
+
export const LEDGER_VALIDATORS_VOTE_ACCOUNTS = LEDGER_VALIDATOR_LIST.map(v => v.voteAccount);
|
|
39
|
+
|
|
20
40
|
export const SOLANA_DELEGATION_RESERVE = 0.01;
|
|
21
41
|
|
|
22
42
|
export const assertUnreachable = (_: never): never => {
|
|
@@ -75,7 +95,7 @@ export function clusterByCurrencyId(currencyId: string): Cluster {
|
|
|
75
95
|
|
|
76
96
|
export function defaultVoteAccAddrByCurrencyId(currencyId: string): string | undefined {
|
|
77
97
|
const voteAccAddrs: Record<string, string | undefined> = {
|
|
78
|
-
solana:
|
|
98
|
+
solana: undefined,
|
|
79
99
|
solana_devnet: undefined,
|
|
80
100
|
solana_testnet: undefined,
|
|
81
101
|
};
|
|
@@ -147,17 +167,17 @@ export type Functions<T> = keyof {
|
|
|
147
167
|
[K in keyof T as T[K] extends Function ? K : never]: T[K];
|
|
148
168
|
};
|
|
149
169
|
|
|
150
|
-
// move Ledger
|
|
170
|
+
// move Ledger validators to the first positions
|
|
151
171
|
export function ledgerFirstValidators(
|
|
152
172
|
validators: ValidatorsAppValidator[],
|
|
153
173
|
): ValidatorsAppValidator[] {
|
|
154
|
-
const [
|
|
155
|
-
v => v.voteAccount
|
|
174
|
+
const [ledgerValidators, restValidators] = partition(
|
|
175
|
+
v => LEDGER_VALIDATORS_VOTE_ACCOUNTS.includes(v.voteAccount),
|
|
156
176
|
validators,
|
|
157
177
|
);
|
|
158
|
-
return
|
|
159
|
-
?
|
|
160
|
-
:
|
|
178
|
+
return ledgerValidators.length === 2
|
|
179
|
+
? ledgerValidators.concat(restValidators)
|
|
180
|
+
: LEDGER_VALIDATOR_LIST.concat(restValidators);
|
|
161
181
|
}
|
|
162
182
|
|
|
163
183
|
export function profitableValidators(validators: ValidatorsAppValidator[]) {
|