@marinade.finance/web3js-1x 4.0.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 (83) hide show
  1. package/README.md +75 -0
  2. package/dist/package.json +57 -0
  3. package/dist/src/account.d.ts +38 -0
  4. package/dist/src/account.d.ts.map +1 -0
  5. package/dist/src/account.js +72 -0
  6. package/dist/src/account.js.map +1 -0
  7. package/dist/src/borsh.d.ts +3 -0
  8. package/dist/src/borsh.d.ts.map +1 -0
  9. package/dist/src/borsh.js +31 -0
  10. package/dist/src/borsh.js.map +1 -0
  11. package/dist/src/epoch.d.ts +5 -0
  12. package/dist/src/epoch.d.ts.map +1 -0
  13. package/dist/src/epoch.js +31 -0
  14. package/dist/src/epoch.js.map +1 -0
  15. package/dist/src/equalityTesters.d.ts +2 -0
  16. package/dist/src/equalityTesters.d.ts.map +1 -0
  17. package/dist/src/equalityTesters.js +34 -0
  18. package/dist/src/equalityTesters.js.map +1 -0
  19. package/dist/src/error.d.ts +22 -0
  20. package/dist/src/error.d.ts.map +1 -0
  21. package/dist/src/error.js +65 -0
  22. package/dist/src/error.js.map +1 -0
  23. package/dist/src/execution.d.ts +12 -0
  24. package/dist/src/execution.d.ts.map +1 -0
  25. package/dist/src/execution.js +24 -0
  26. package/dist/src/execution.js.map +1 -0
  27. package/dist/src/fileKeypair.d.ts +7 -0
  28. package/dist/src/fileKeypair.d.ts.map +1 -0
  29. package/dist/src/fileKeypair.js +53 -0
  30. package/dist/src/fileKeypair.js.map +1 -0
  31. package/dist/src/formatter.d.ts +27 -0
  32. package/dist/src/formatter.d.ts.map +1 -0
  33. package/dist/src/formatter.js +113 -0
  34. package/dist/src/formatter.js.map +1 -0
  35. package/dist/src/index.d.ts +19 -0
  36. package/dist/src/index.d.ts.map +1 -0
  37. package/dist/src/index.js +35 -0
  38. package/dist/src/index.js.map +1 -0
  39. package/dist/src/math.d.ts +3 -0
  40. package/dist/src/math.d.ts.map +1 -0
  41. package/dist/src/math.js +19 -0
  42. package/dist/src/math.js.map +1 -0
  43. package/dist/src/parse.d.ts +12 -0
  44. package/dist/src/parse.d.ts.map +1 -0
  45. package/dist/src/parse.js +123 -0
  46. package/dist/src/parse.js.map +1 -0
  47. package/dist/src/provider.d.ts +43 -0
  48. package/dist/src/provider.d.ts.map +1 -0
  49. package/dist/src/provider.js +88 -0
  50. package/dist/src/provider.js.map +1 -0
  51. package/dist/src/solana.d.ts +19 -0
  52. package/dist/src/solana.d.ts.map +1 -0
  53. package/dist/src/solana.js +106 -0
  54. package/dist/src/solana.js.map +1 -0
  55. package/dist/src/stakeAccount.d.ts +22 -0
  56. package/dist/src/stakeAccount.d.ts.map +1 -0
  57. package/dist/src/stakeAccount.js +70 -0
  58. package/dist/src/stakeAccount.js.map +1 -0
  59. package/dist/src/tokenMetadata.d.ts +4 -0
  60. package/dist/src/tokenMetadata.d.ts.map +1 -0
  61. package/dist/src/tokenMetadata.js +14 -0
  62. package/dist/src/tokenMetadata.js.map +1 -0
  63. package/dist/src/tx.d.ts +102 -0
  64. package/dist/src/tx.d.ts.map +1 -0
  65. package/dist/src/tx.js +543 -0
  66. package/dist/src/tx.js.map +1 -0
  67. package/dist/src/txBulk.d.ts +30 -0
  68. package/dist/src/txBulk.d.ts.map +1 -0
  69. package/dist/src/txBulk.js +194 -0
  70. package/dist/src/txBulk.js.map +1 -0
  71. package/dist/src/txToBase64.d.ts +24 -0
  72. package/dist/src/txToBase64.d.ts.map +1 -0
  73. package/dist/src/txToBase64.js +72 -0
  74. package/dist/src/txToBase64.js.map +1 -0
  75. package/dist/src/voteAccount.d.ts +39 -0
  76. package/dist/src/voteAccount.d.ts.map +1 -0
  77. package/dist/src/voteAccount.js +320 -0
  78. package/dist/src/voteAccount.js.map +1 -0
  79. package/dist/src/wallet.d.ts +31 -0
  80. package/dist/src/wallet.d.ts.map +1 -0
  81. package/dist/src/wallet.js +100 -0
  82. package/dist/src/wallet.js.map +1 -0
  83. package/package.json +57 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/formatter.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,cAAc,GAGtB;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,EAAE,CAAA;CAAE,GAGlE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAGlB;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAA;AAS9B,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,cAAc,CAAA;AAE3E,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,iBAAiB,CAAA;CAC1B;AAED,qBAAa,mBAAoB,YAAW,wBAAwB;IAClE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,cAAc;CAGlD;AAKD,qBAAa,uBAAwB,SAAQ,mBAAmB;IAC9D,QAAQ,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAK;gBAEjC,GAAG,UAAU,EAAE,iBAAiB,EAAE;IAKrC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,cAAc;IAYxD,YAAY,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;CAKjD;AAMD,wBAAgB,QAAQ,CACtB,KAAK,EAAE,GAAG,EACV,SAAS,GAAE,iBAAiB,GAAG,mBAA+C,GAC7E,GAAG,CAsDL;AASD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,cAAc,CASxE"}
@@ -0,0 +1,113 @@
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
+ exports.ChainedKeyNameFormatter = exports.BaseObjectFormatter = void 0;
7
+ exports.reformat = reformat;
8
+ exports.reformatReserved = reformatReserved;
9
+ const web3_js_1 = require("@solana/web3.js");
10
+ const bn_js_1 = __importDefault(require("bn.js"));
11
+ function isPublicKey(value) {
12
+ return ((value?.constructor?.name === 'PublicKey' &&
13
+ value?.toBase58 !== undefined) ||
14
+ value instanceof web3_js_1.PublicKey);
15
+ }
16
+ class BaseObjectFormatter {
17
+ format(_key, _value) {
18
+ return { type: 'UsePassThrough' };
19
+ }
20
+ }
21
+ exports.BaseObjectFormatter = BaseObjectFormatter;
22
+ class ChainedKeyNameFormatter extends BaseObjectFormatter {
23
+ formatters = [];
24
+ constructor(...formatters) {
25
+ super();
26
+ this.formatters = formatters;
27
+ }
28
+ format(key, value) {
29
+ for (const formatFn of this.formatters) {
30
+ const result = formatFn(key, value);
31
+ if (result.type !== 'UsePassThrough') {
32
+ return result;
33
+ }
34
+ }
35
+ return { type: 'UsePassThrough' };
36
+ }
37
+ addFormatter(formatter) {
38
+ if (formatter) {
39
+ this.formatters.push(formatter);
40
+ }
41
+ }
42
+ }
43
+ exports.ChainedKeyNameFormatter = ChainedKeyNameFormatter;
44
+ function reformat(value, formatter = new BaseObjectFormatter()) {
45
+ let result;
46
+ if (value === null) {
47
+ result = null;
48
+ }
49
+ else if (value instanceof bn_js_1.default) {
50
+ try {
51
+ return value.toNumber();
52
+ }
53
+ catch (_e) {
54
+ return value.toString(10);
55
+ }
56
+ }
57
+ else if (value instanceof BigInt || typeof value === 'bigint') {
58
+ result = value.toString();
59
+ }
60
+ else if (isPublicKey(value)) {
61
+ if (value.equals(web3_js_1.PublicKey.default)) {
62
+ result = null;
63
+ }
64
+ else {
65
+ result = value.toBase58();
66
+ }
67
+ }
68
+ else if (value instanceof web3_js_1.Keypair) {
69
+ result = value.publicKey.toBase58();
70
+ }
71
+ else if (value instanceof Function) {
72
+ return value.name;
73
+ }
74
+ else if (Array.isArray(value)) {
75
+ result = value.map(v => reformat(v, formatter));
76
+ }
77
+ else if (typeof value === 'object') {
78
+ result = {};
79
+ Object.entries(value).forEach(([key, value]) => {
80
+ const formatterResult = formatter instanceof BaseObjectFormatter
81
+ ? formatter.format(key, value)
82
+ : formatter(key, value);
83
+ switch (formatterResult.type) {
84
+ case 'UseExclusively': {
85
+ formatterResult.records.forEach(({ key: formattedKey, value: formattedValue }) => {
86
+ result[formattedKey] = formattedValue;
87
+ });
88
+ break;
89
+ }
90
+ case 'Remove': {
91
+ break;
92
+ }
93
+ default: {
94
+ result[key] = reformat(value, formatter);
95
+ break;
96
+ }
97
+ }
98
+ });
99
+ }
100
+ else {
101
+ result = value;
102
+ }
103
+ return result;
104
+ }
105
+ function reformatReserved(key, value) {
106
+ if (typeof key === 'string' &&
107
+ key.startsWith('reserved') &&
108
+ (Array.isArray(value) || value instanceof Uint8Array)) {
109
+ return { type: 'UseExclusively', records: [{ key, value: [value.length] }] };
110
+ }
111
+ return { type: 'UsePassThrough' };
112
+ }
113
+ //# sourceMappingURL=formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../src/formatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export * from './account';
2
+ export * from './borsh';
3
+ export * from './epoch';
4
+ export * from './error';
5
+ export * from './execution';
6
+ export * from './formatter';
7
+ export * from './fileKeypair';
8
+ export * from './math';
9
+ export * from './parse';
10
+ export * from './provider';
11
+ export * from './solana';
12
+ export * from './stakeAccount';
13
+ export * from './tokenMetadata';
14
+ export * from './tx';
15
+ export * from './txBulk';
16
+ export * from './txToBase64';
17
+ export * from './voteAccount';
18
+ export * from './wallet';
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,MAAM,CAAA;AACpB,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./account"), exports);
18
+ __exportStar(require("./borsh"), exports);
19
+ __exportStar(require("./epoch"), exports);
20
+ __exportStar(require("./error"), exports);
21
+ __exportStar(require("./execution"), exports);
22
+ __exportStar(require("./formatter"), exports);
23
+ __exportStar(require("./fileKeypair"), exports);
24
+ __exportStar(require("./math"), exports);
25
+ __exportStar(require("./parse"), exports);
26
+ __exportStar(require("./provider"), exports);
27
+ __exportStar(require("./solana"), exports);
28
+ __exportStar(require("./stakeAccount"), exports);
29
+ __exportStar(require("./tokenMetadata"), exports);
30
+ __exportStar(require("./tx"), exports);
31
+ __exportStar(require("./txBulk"), exports);
32
+ __exportStar(require("./txToBase64"), exports);
33
+ __exportStar(require("./voteAccount"), exports);
34
+ __exportStar(require("./wallet"), exports);
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,0CAAuB;AACvB,0CAAuB;AACvB,0CAAuB;AACvB,8CAA2B;AAC3B,8CAA2B;AAC3B,gDAA6B;AAC7B,yCAAsB;AACtB,0CAAuB;AACvB,6CAA0B;AAC1B,2CAAwB;AACxB,iDAA8B;AAC9B,kDAA+B;AAC/B,uCAAoB;AACpB,2CAAwB;AACxB,+CAA4B;AAC5B,gDAA6B;AAC7B,2CAAwB"}
@@ -0,0 +1,3 @@
1
+ import BN from 'bn.js';
2
+ export declare function toBigint(convertNumber: number | bigint | BN): bigint;
3
+ //# sourceMappingURL=math.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/math.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAA;AAEtB,wBAAgB,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM,CAQpE"}
@@ -0,0 +1,19 @@
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
+ exports.toBigint = toBigint;
7
+ const bn_js_1 = __importDefault(require("bn.js"));
8
+ function toBigint(convertNumber) {
9
+ if (bn_js_1.default.isBN(convertNumber)) {
10
+ return BigInt(convertNumber.toString());
11
+ }
12
+ else if (typeof convertNumber === 'number') {
13
+ return BigInt(convertNumber);
14
+ }
15
+ else {
16
+ return convertNumber;
17
+ }
18
+ }
19
+ //# sourceMappingURL=math.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/math.ts"],"names":[],"mappings":";;;;;AAEA,4BAQC;AAVD,kDAAsB;AAEtB,SAAgB,QAAQ,CAAC,aAAmC;IAC1D,IAAI,eAAE,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAA;IACzC,CAAC;SAAM,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC,aAAa,CAAC,CAAA;IAC9B,CAAC;SAAM,CAAC;QACN,OAAO,aAAa,CAAA;IACtB,CAAC;AACH,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { Keypair, PublicKey } from '@solana/web3.js';
2
+ import type { Wallet } from './wallet';
3
+ import type { LoggerPlaceholder } from '@marinade.finance/ts-common';
4
+ export declare function parsePubkey(pubkeyOrPath: string): Promise<PublicKey>;
5
+ export declare function parseKeypairOrPubkey(pubkeyOrPath: string): Promise<PublicKey | Keypair>;
6
+ export declare function parseKeypair(pathOrPrivKey: string): Promise<Keypair>;
7
+ export declare function parseWallet(pathOrLedger: string, logger: LoggerPlaceholder | undefined): Promise<Wallet>;
8
+ export declare function parseWalletOrPubkey(pubkeyOrPathOrLedger: string, logger?: LoggerPlaceholder): Promise<Wallet | PublicKey>;
9
+ export declare function parseWalletOrPubkeyOption(value: string): Promise<Wallet | PublicKey>;
10
+ export declare function parsePubkeyOrPubkeyFromWallet(pubkeyOrPathOrLedger: string): Promise<PublicKey>;
11
+ export declare function parseWalletFromOpts(keypairArg: string | undefined, printOnly: boolean, commandArgs: string[], logger?: LoggerPlaceholder, defaultKeypair?: string, solanaConfigPath?: string): Promise<Wallet>;
12
+ //# sourceMappingURL=parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/parse.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAKpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAEpE,wBAAsB,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAa1E;AAED,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,CAM9B;AAED,wBAAsB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAe1E;AAgBD,wBAAsB,WAAW,CAC/B,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,iBAAiB,GAAG,SAAS,GACpC,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED,wBAAsB,mBAAmB,CACvC,oBAAoB,EAAE,MAAM,EAC5B,MAAM,CAAC,EAAE,iBAAiB,GACzB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAW7B;AAED,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE7B;AAED,wBAAsB,6BAA6B,CACjD,oBAAoB,EAAE,MAAM,GAC3B,OAAO,CAAC,SAAS,CAAC,CAEpB;AAQD,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,SAAS,EAAE,OAAO,EAClB,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,cAAc,CAAC,EAAE,MAAM,EACvB,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,MAAM,CAAC,CAqCjB"}
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parsePubkey = parsePubkey;
4
+ exports.parseKeypairOrPubkey = parseKeypairOrPubkey;
5
+ exports.parseKeypair = parseKeypair;
6
+ exports.parseWallet = parseWallet;
7
+ exports.parseWalletOrPubkey = parseWalletOrPubkey;
8
+ exports.parseWalletOrPubkeyOption = parseWalletOrPubkeyOption;
9
+ exports.parsePubkeyOrPubkeyFromWallet = parsePubkeyOrPubkeyFromWallet;
10
+ exports.parseWalletFromOpts = parseWalletFromOpts;
11
+ const ledger_utils_1 = require("@marinade.finance/ledger-utils");
12
+ const ts_common_1 = require("@marinade.finance/ts-common");
13
+ const web3_js_1 = require("@solana/web3.js");
14
+ const solana_1 = require("./solana");
15
+ const wallet_1 = require("./wallet");
16
+ async function parsePubkey(pubkeyOrPath) {
17
+ try {
18
+ return await parsePubkeyWithPath(pubkeyOrPath);
19
+ }
20
+ catch (_err) {
21
+ try {
22
+ const keypair = await parseKeypair(pubkeyOrPath);
23
+ return keypair.publicKey;
24
+ }
25
+ catch (_err2) {
26
+ return new web3_js_1.PublicKey(new Uint8Array(JSON.parse(await (0, ts_common_1.loadFile)(pubkeyOrPath))));
27
+ }
28
+ }
29
+ }
30
+ async function parseKeypairOrPubkey(pubkeyOrPath) {
31
+ try {
32
+ return await parseKeypair(pubkeyOrPath);
33
+ }
34
+ catch (_err) {
35
+ return await parsePubkey(pubkeyOrPath);
36
+ }
37
+ }
38
+ async function parseKeypair(pathOrPrivKey) {
39
+ try {
40
+ const privateKey = new Uint8Array(JSON.parse(pathOrPrivKey));
41
+ if (privateKey.length !== 64) {
42
+ throw new Error('Invalid private key, expecting 64 bytes');
43
+ }
44
+ return web3_js_1.Keypair.fromSecretKey(privateKey);
45
+ }
46
+ catch (_err) {
47
+ return web3_js_1.Keypair.fromSecretKey(new Uint8Array(JSON.parse(await (0, ts_common_1.loadFile)(pathOrPrivKey))));
48
+ }
49
+ }
50
+ async function parsePubkeyWithPath(pubkeyOrPath) {
51
+ try {
52
+ return new web3_js_1.PublicKey(pubkeyOrPath);
53
+ }
54
+ catch (_err) {
55
+ return new web3_js_1.PublicKey(new Uint8Array(JSON.parse(await (0, ts_common_1.loadFile)(pubkeyOrPath))));
56
+ }
57
+ }
58
+ const PARSE_SIGNER_LOCK = 'parseSignerLock';
59
+ async function parseWallet(pathOrLedger, logger) {
60
+ let wallet;
61
+ try {
62
+ wallet = await (0, ts_common_1.doWithLock)(PARSE_SIGNER_LOCK, async () => (0, ledger_utils_1.parseLedgerWallet)(pathOrLedger, logger));
63
+ }
64
+ catch (err) {
65
+ throw new ts_common_1.ErrorWithCause({
66
+ msg: `Failed loading Ledger device [${pathOrLedger}]`,
67
+ cause: err,
68
+ });
69
+ }
70
+ if (wallet) {
71
+ return wallet;
72
+ }
73
+ const keypair = await parseKeypair(pathOrLedger);
74
+ return new wallet_1.KeypairWallet(keypair);
75
+ }
76
+ async function parseWalletOrPubkey(pubkeyOrPathOrLedger, logger) {
77
+ const pubkeyOrPathOrLedgerTrimmed = pubkeyOrPathOrLedger.trim();
78
+ try {
79
+ return await parseWallet(pubkeyOrPathOrLedgerTrimmed, logger);
80
+ }
81
+ catch (err) {
82
+ if (pubkeyOrPathOrLedgerTrimmed.startsWith('usb://')) {
83
+ throw err;
84
+ }
85
+ return await parsePubkey(pubkeyOrPathOrLedgerTrimmed);
86
+ }
87
+ }
88
+ async function parseWalletOrPubkeyOption(value) {
89
+ return await parseWalletOrPubkey(value);
90
+ }
91
+ async function parsePubkeyOrPubkeyFromWallet(pubkeyOrPathOrLedger) {
92
+ return (0, wallet_1.pubkey)(await parseWalletOrPubkey(pubkeyOrPathOrLedger));
93
+ }
94
+ async function parseWalletFromOpts(keypairArg, printOnly, commandArgs, logger, defaultKeypair, solanaConfigPath) {
95
+ const wallet = keypairArg;
96
+ let walletInterface;
97
+ try {
98
+ if (wallet) {
99
+ walletInterface = await parseWallet(wallet, logger);
100
+ }
101
+ else {
102
+ const defaultKeypairDefined = defaultKeypair ??
103
+ (0, solana_1.resolveSolanaConfig)({ logger, solanaConfigPath }).keypairPath;
104
+ walletInterface = await parseWallet(defaultKeypairDefined, logger);
105
+ }
106
+ }
107
+ catch (err) {
108
+ if (commandArgs.find(arg => arg.startsWith('show')) !== undefined ||
109
+ printOnly) {
110
+ (0, ts_common_1.logDebug)(logger, `Cannot load --keypair wallet '${wallet || defaultKeypair}' but it's show or --print-only command, using NullWallet`);
111
+ walletInterface = new wallet_1.NullWallet();
112
+ }
113
+ else {
114
+ const definedMsg = wallet !== undefined
115
+ ? `--keypair wallet '${wallet}'`
116
+ : `default keypair path ${defaultKeypair}`;
117
+ (0, ts_common_1.logError)(logger, `Failed to use ${definedMsg}, exiting.`);
118
+ throw err;
119
+ }
120
+ }
121
+ return walletInterface;
122
+ }
123
+ //# sourceMappingURL=parse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/parse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { Keypair } from '@solana/web3.js';
2
+ import type { Wallet } from './wallet';
3
+ import type { Commitment, ConfirmOptions, Connection, PublicKey, SendOptions, Signer, SimulatedTransactionResponse, Transaction, TransactionInstruction, TransactionInstructionCtorFields, TransactionSignature, VersionedTransaction } from '@solana/web3.js';
4
+ export interface Provider {
5
+ readonly connection: Connection;
6
+ readonly publicKey?: PublicKey;
7
+ send?(tx: Transaction | VersionedTransaction, signers?: Signer[], opts?: SendOptions): Promise<TransactionSignature>;
8
+ sendAndConfirm?(tx: Transaction | VersionedTransaction, signers?: Signer[], opts?: ConfirmOptions): Promise<TransactionSignature>;
9
+ sendAll?<T extends Transaction | VersionedTransaction>(txWithSigners: {
10
+ tx: T;
11
+ signers?: Signer[];
12
+ }[], opts?: ConfirmOptions): Promise<Array<TransactionSignature>>;
13
+ simulate?(tx: Transaction | VersionedTransaction, signers?: Signer[], commitment?: Commitment, includeAccounts?: boolean | PublicKey[]): Promise<SuccessfulTxSimulationResponse>;
14
+ }
15
+ export type SuccessfulTxSimulationResponse = Omit<SimulatedTransactionResponse, 'err'>;
16
+ export type WalletProvider = Provider & {
17
+ wallet: Wallet | Signer | Keypair;
18
+ };
19
+ export declare function instanceOfProvider(object: any): object is Provider;
20
+ export declare function instanceOfProviderWithWallet(object: any): object is Provider & {
21
+ wallet: Wallet | Signer | Keypair;
22
+ };
23
+ export declare function providerPubkey(provider: Provider): PublicKey;
24
+ export declare function providerOrConnection(provider: Provider | Connection, feePayer?: PublicKey): [Connection, PublicKey];
25
+ export declare function walletProviderOrConnection(provider: Provider | Connection, feePayer?: Wallet | Signer | Keypair): [Connection, Wallet | Signer | Keypair];
26
+ export declare class NullProvider implements Provider {
27
+ readonly connection: Connection;
28
+ publicKey?: PublicKey;
29
+ constructor(connection: Connection);
30
+ send(tx: Transaction | VersionedTransaction, signers?: Signer[], opts?: SendOptions): Promise<string>;
31
+ sendAndConfirm(tx: Transaction | VersionedTransaction, signers?: Signer[], opts?: ConfirmOptions): Promise<string>;
32
+ sendAll<T extends Transaction | VersionedTransaction>(txWithSigners: {
33
+ tx: T;
34
+ signers?: Signer[] | undefined;
35
+ }[], opts?: ConfirmOptions): Promise<string[]>;
36
+ simulate(tx: Transaction | VersionedTransaction, signers?: Signer[], commitment?: Commitment, includeAccounts?: boolean | PublicKey[]): Promise<SuccessfulTxSimulationResponse>;
37
+ }
38
+ export type SignerType = Keypair | Signer | Wallet;
39
+ export interface ExtendedProvider extends Provider {
40
+ sendIx(signers: SignerType[], ...ixes: (Transaction | TransactionInstruction | TransactionInstructionCtorFields)[]): Promise<void>;
41
+ get walletPubkey(): PublicKey;
42
+ }
43
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NullProvider = void 0;
4
+ exports.instanceOfProvider = instanceOfProvider;
5
+ exports.instanceOfProviderWithWallet = instanceOfProviderWithWallet;
6
+ exports.providerPubkey = providerPubkey;
7
+ exports.providerOrConnection = providerOrConnection;
8
+ exports.walletProviderOrConnection = walletProviderOrConnection;
9
+ const web3_js_1 = require("@solana/web3.js");
10
+ function instanceOfProvider(object) {
11
+ return (object !== undefined &&
12
+ object !== null &&
13
+ typeof object === 'object' &&
14
+ 'connection' in object);
15
+ }
16
+ function instanceOfProviderWithWallet(object) {
17
+ if (object === undefined ||
18
+ object === null ||
19
+ typeof object !== 'object' ||
20
+ !('connection' in object) ||
21
+ !('wallet' in object)) {
22
+ return false;
23
+ }
24
+ const wallet = object.wallet;
25
+ return (wallet !== undefined &&
26
+ wallet !== null &&
27
+ typeof wallet === 'object' &&
28
+ (wallet instanceof web3_js_1.Keypair ||
29
+ 'secretKey' in wallet ||
30
+ ('signTransaction' in wallet && 'signAllTransactions' in wallet)));
31
+ }
32
+ function providerPubkey(provider) {
33
+ if (provider.publicKey === undefined) {
34
+ throw new Error(`Provider instance ${JSON.stringify(provider)} ` +
35
+ 'does not specify public key');
36
+ }
37
+ return provider.publicKey;
38
+ }
39
+ function providerOrConnection(provider, feePayer) {
40
+ let feePayerDefined = feePayer;
41
+ if (feePayerDefined === undefined && instanceOfProvider(provider)) {
42
+ feePayerDefined = providerPubkey(provider);
43
+ }
44
+ if (feePayerDefined === undefined) {
45
+ throw new Error('providerOrConnection: feePayer or instance of Provider has to be passed in to ' +
46
+ 'find the transaction fee payer');
47
+ }
48
+ const connection = instanceOfProvider(provider)
49
+ ? provider.connection
50
+ : provider;
51
+ return [connection, feePayerDefined];
52
+ }
53
+ function walletProviderOrConnection(provider, feePayer) {
54
+ let feePayerDefined = feePayer;
55
+ if (feePayerDefined === undefined && instanceOfProviderWithWallet(provider)) {
56
+ feePayerDefined = provider.wallet;
57
+ }
58
+ if (feePayerDefined === undefined) {
59
+ throw new Error('walletProviderOrConnection: feePayer or instance of Wallet Provider has to be passed in to ' +
60
+ 'find the signer of transaction fee payer');
61
+ }
62
+ const connection = instanceOfProvider(provider)
63
+ ? provider.connection
64
+ : provider;
65
+ return [connection, feePayerDefined];
66
+ }
67
+ class NullProvider {
68
+ connection;
69
+ publicKey;
70
+ constructor(connection) {
71
+ this.connection = connection;
72
+ this.connection = connection;
73
+ }
74
+ send(tx, signers, opts) {
75
+ throw new Error('Method not implemented.');
76
+ }
77
+ sendAndConfirm(tx, signers, opts) {
78
+ throw new Error('Method not implemented.');
79
+ }
80
+ sendAll(txWithSigners, opts) {
81
+ throw new Error('Method not implemented.');
82
+ }
83
+ simulate(tx, signers, commitment, includeAccounts) {
84
+ throw new Error('Method not implemented.');
85
+ }
86
+ }
87
+ exports.NullProvider = NullProvider;
88
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { type Commitment, type Finality } from '@solana/web3.js';
2
+ import type { LoggerPlaceholder } from '@marinade.finance/ts-common';
3
+ export declare const DEFAULT_CONFIG_PATH = "~/.config/solana/cli/config.yml";
4
+ export declare const DEFAULT_KEYPAIR_PATH = "~/.config/solana/id.json";
5
+ export declare const DEFAULT_CLUSTER_URL = "http://127.0.0.1:8899";
6
+ export declare function resolveSolanaConfig({ solanaConfigPath, defaultKeypair, defaultRpcUrl, logger, }: {
7
+ solanaConfigPath?: string;
8
+ defaultKeypair?: string;
9
+ defaultRpcUrl?: string;
10
+ logger?: LoggerPlaceholder;
11
+ }): {
12
+ keypairPath: string;
13
+ jsonRpcUrl: string;
14
+ commitment?: Commitment;
15
+ };
16
+ export declare function parseCommitment(commitment: string | undefined): Commitment;
17
+ export declare function parseConfirmationFinality(confirmationFinality: string): Finality;
18
+ export declare function parseClusterUrl(url: string | undefined, solanaConfigPath?: string): string;
19
+ //# sourceMappingURL=solana.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../src/solana.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiB,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAG/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAGpE,eAAO,MAAM,mBAAmB,oCAAoC,CAAA;AACpE,eAAO,MAAM,oBAAoB,6BAA6B,CAAA;AAC9D,eAAO,MAAM,mBAAmB,0BAA0B,CAAA;AAE1D,wBAAgB,mBAAmB,CAAC,EAClC,gBAAsC,EACtC,cAAqC,EACrC,aAAmC,EACnC,MAAM,GACP,EAAE;IACD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,iBAAiB,CAAA;CAC3B,GAAG;IACF,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB,CAwCA;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAyB1E;AAED,wBAAgB,yBAAyB,CACvC,oBAAoB,EAAE,MAAM,GAC3B,QAAQ,CAYV;AAED,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,gBAAgB,CAAC,EAAE,MAAM,GACxB,MAAM,CAsBR"}
@@ -0,0 +1,106 @@
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
+ exports.DEFAULT_CLUSTER_URL = exports.DEFAULT_KEYPAIR_PATH = exports.DEFAULT_CONFIG_PATH = void 0;
7
+ exports.resolveSolanaConfig = resolveSolanaConfig;
8
+ exports.parseCommitment = parseCommitment;
9
+ exports.parseConfirmationFinality = parseConfirmationFinality;
10
+ exports.parseClusterUrl = parseClusterUrl;
11
+ const ts_common_1 = require("@marinade.finance/ts-common");
12
+ const ts_common_2 = require("@marinade.finance/ts-common");
13
+ const web3_js_1 = require("@solana/web3.js");
14
+ const yaml_1 = __importDefault(require("yaml"));
15
+ exports.DEFAULT_CONFIG_PATH = '~/.config/solana/cli/config.yml';
16
+ exports.DEFAULT_KEYPAIR_PATH = '~/.config/solana/id.json';
17
+ exports.DEFAULT_CLUSTER_URL = 'http://127.0.0.1:8899';
18
+ function resolveSolanaConfig({ solanaConfigPath = exports.DEFAULT_CONFIG_PATH, defaultKeypair = exports.DEFAULT_KEYPAIR_PATH, defaultRpcUrl = exports.DEFAULT_CLUSTER_URL, logger, }) {
19
+ let configFromFile;
20
+ try {
21
+ configFromFile = (0, ts_common_2.loadFileSync)(solanaConfigPath);
22
+ }
23
+ catch (err) {
24
+ (0, ts_common_1.logDebug)(logger, `Failed to load Solana config file ${solanaConfigPath}: ${String(err)}`);
25
+ return {
26
+ keypairPath: defaultKeypair,
27
+ jsonRpcUrl: defaultRpcUrl,
28
+ };
29
+ }
30
+ const configData = yaml_1.default.parse(configFromFile);
31
+ let parsedCommitment = undefined;
32
+ if (configData.commitment !== undefined) {
33
+ try {
34
+ parsedCommitment = parseCommitment(configData.commitment);
35
+ }
36
+ catch (err) {
37
+ (0, ts_common_1.logDebug)(logger, `Failed to parse commitment ${configData.commitment} ` +
38
+ `from Solana config file ${solanaConfigPath}: ${String(err)}`);
39
+ }
40
+ }
41
+ return {
42
+ keypairPath: configData.keypair_path ?? defaultKeypair,
43
+ jsonRpcUrl: configData.json_rpc_url ?? defaultRpcUrl,
44
+ commitment: parsedCommitment,
45
+ };
46
+ }
47
+ function parseCommitment(commitment) {
48
+ let parsedCommitment = undefined;
49
+ switch (commitment) {
50
+ case 'processed':
51
+ case 'confirmed':
52
+ case 'finalized':
53
+ case 'recent':
54
+ case 'single':
55
+ case 'singleGossip':
56
+ case 'root':
57
+ case 'max':
58
+ parsedCommitment = commitment;
59
+ break;
60
+ default:
61
+ parsedCommitment = resolveSolanaConfig({}).commitment;
62
+ }
63
+ if (parsedCommitment !== undefined) {
64
+ return parsedCommitment;
65
+ }
66
+ else {
67
+ throw new Error('Invalid value of --commitment: ' +
68
+ commitment +
69
+ '. Permitted values: processed, confirmed, finalized, recent, single, singleGossip, root, max');
70
+ }
71
+ }
72
+ function parseConfirmationFinality(confirmationFinality) {
73
+ if (confirmationFinality === 'confirmed') {
74
+ return 'confirmed';
75
+ }
76
+ else if (confirmationFinality === 'finalized') {
77
+ return 'finalized';
78
+ }
79
+ else {
80
+ throw new Error('Invalid value of --confirmation-finality: ' +
81
+ confirmationFinality +
82
+ '. Permitted values: confirmed and finalized');
83
+ }
84
+ }
85
+ function parseClusterUrl(url, solanaConfigPath) {
86
+ const localhost = 'http://127.0.0.1:8899';
87
+ let clusterUrl = url === 'd'
88
+ ? 'devnet'
89
+ : url === 't'
90
+ ? 'testnet'
91
+ : url === 'm' || url === 'mainnet' || url === 'mainnet-beta'
92
+ ? 'mainnet-beta'
93
+ : url === 'l' || url === 'localnet' || url === 'localhost'
94
+ ? localhost
95
+ : url;
96
+ try {
97
+ clusterUrl = (0, web3_js_1.clusterApiUrl)(clusterUrl);
98
+ }
99
+ catch (_e) {
100
+ }
101
+ if (!clusterUrl) {
102
+ clusterUrl = resolveSolanaConfig({ solanaConfigPath }).jsonRpcUrl;
103
+ }
104
+ return clusterUrl;
105
+ }
106
+ //# sourceMappingURL=solana.js.map