@ledgerhq/coin-solana 0.8.4 → 0.8.5-next.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/CHANGELOG.md +10 -0
- package/lib/api/cached.d.ts.map +1 -1
- package/lib/api/cached.js +12 -0
- package/lib/api/cached.js.map +1 -1
- package/lib/api/chain/account/stake.d.ts +0 -1
- package/lib/api/chain/account/stake.d.ts.map +1 -1
- package/lib/api/chain/account/token.d.ts +0 -1
- package/lib/api/chain/account/token.d.ts.map +1 -1
- package/lib/api/chain/account/vote.d.ts +0 -1
- package/lib/api/chain/account/vote.d.ts.map +1 -1
- package/lib/api/chain/index.d.ts +3 -1
- package/lib/api/chain/index.d.ts.map +1 -1
- package/lib/api/chain/index.js +39 -1
- package/lib/api/chain/index.js.map +1 -1
- package/lib/api/chain/instruction/associated-token-account/types.d.ts +0 -1
- package/lib/api/chain/instruction/associated-token-account/types.d.ts.map +1 -1
- package/lib/api/chain/instruction/stake/types.d.ts +0 -1
- package/lib/api/chain/instruction/stake/types.d.ts.map +1 -1
- package/lib/api/chain/instruction/system/types.d.ts +0 -1
- package/lib/api/chain/instruction/system/types.d.ts.map +1 -1
- package/lib/api/chain/instruction/token/types.d.ts +0 -1
- package/lib/api/chain/instruction/token/types.d.ts.map +1 -1
- package/lib/api/chain/web3.d.ts +11 -7
- package/lib/api/chain/web3.d.ts.map +1 -1
- package/lib/api/chain/web3.js +118 -61
- package/lib/api/chain/web3.js.map +1 -1
- package/lib/bridge.integration.test.js +13 -0
- package/lib/bridge.integration.test.js.map +1 -1
- package/lib/buildTransaction.js +35 -31
- package/lib/buildTransaction.js.map +1 -1
- package/lib/synchronization.js +2 -2
- package/lib/synchronization.js.map +1 -1
- package/lib/tx-fees.d.ts.map +1 -1
- package/lib/tx-fees.js +8 -7
- package/lib/tx-fees.js.map +1 -1
- package/lib/utils.d.ts +1 -0
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +19 -1
- package/lib/utils.js.map +1 -1
- package/lib-es/api/cached.d.ts.map +1 -1
- package/lib-es/api/cached.js +12 -0
- package/lib-es/api/cached.js.map +1 -1
- package/lib-es/api/chain/account/stake.d.ts +0 -1
- package/lib-es/api/chain/account/stake.d.ts.map +1 -1
- package/lib-es/api/chain/account/token.d.ts +0 -1
- package/lib-es/api/chain/account/token.d.ts.map +1 -1
- package/lib-es/api/chain/account/vote.d.ts +0 -1
- package/lib-es/api/chain/account/vote.d.ts.map +1 -1
- package/lib-es/api/chain/index.d.ts +3 -1
- package/lib-es/api/chain/index.d.ts.map +1 -1
- package/lib-es/api/chain/index.js +40 -2
- package/lib-es/api/chain/index.js.map +1 -1
- package/lib-es/api/chain/instruction/associated-token-account/types.d.ts +0 -1
- package/lib-es/api/chain/instruction/associated-token-account/types.d.ts.map +1 -1
- package/lib-es/api/chain/instruction/stake/types.d.ts +0 -1
- package/lib-es/api/chain/instruction/stake/types.d.ts.map +1 -1
- package/lib-es/api/chain/instruction/system/types.d.ts +0 -1
- package/lib-es/api/chain/instruction/system/types.d.ts.map +1 -1
- package/lib-es/api/chain/instruction/token/types.d.ts +0 -1
- package/lib-es/api/chain/instruction/token/types.d.ts.map +1 -1
- package/lib-es/api/chain/web3.d.ts +11 -7
- package/lib-es/api/chain/web3.d.ts.map +1 -1
- package/lib-es/api/chain/web3.js +124 -71
- package/lib-es/api/chain/web3.js.map +1 -1
- package/lib-es/bridge.integration.test.js +13 -0
- package/lib-es/bridge.integration.test.js.map +1 -1
- package/lib-es/buildTransaction.js +35 -31
- package/lib-es/buildTransaction.js.map +1 -1
- package/lib-es/synchronization.js +2 -2
- package/lib-es/synchronization.js.map +1 -1
- package/lib-es/tx-fees.d.ts.map +1 -1
- package/lib-es/tx-fees.js +9 -8
- package/lib-es/tx-fees.js.map +1 -1
- package/lib-es/utils.d.ts +1 -0
- package/lib-es/utils.d.ts.map +1 -1
- package/lib-es/utils.js +14 -0
- package/lib-es/utils.js.map +1 -1
- package/package.json +6 -5
- package/src/api/cached.ts +24 -0
- package/src/api/chain/index.ts +47 -1
- package/src/api/chain/web3.ts +112 -71
- package/src/bridge.integration.test.ts +13 -0
- package/src/buildTransaction.ts +17 -11
- package/src/synchronization.ts +2 -2
- package/src/tx-fees.ts +8 -7
- package/src/utils.ts +15 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @ledgerhq/coin-solana
|
|
2
2
|
|
|
3
|
+
## 0.8.5-next.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#8234](https://github.com/LedgerHQ/ledger-live/pull/8234) [`cad783e`](https://github.com/LedgerHQ/ledger-live/commit/cad783e9d17bd1063b76959672b5a28380d6475b) Thanks [@Justkant](https://github.com/Justkant)! - fix: solana priority fees
|
|
8
|
+
|
|
9
|
+
- Updated dependencies [[`5ce33a4`](https://github.com/LedgerHQ/ledger-live/commit/5ce33a417ecc87face54c1864aa49476c5f394b9), [`a52f6ae`](https://github.com/LedgerHQ/ledger-live/commit/a52f6ae3d49ea8daea42d9cdc24e9dd0d6d0f371), [`748cf14`](https://github.com/LedgerHQ/ledger-live/commit/748cf146b3e903172831e7e5ddbc29a3565c8932), [`61f8b03`](https://github.com/LedgerHQ/ledger-live/commit/61f8b033f710369171e277f5c0faede636207160)]:
|
|
10
|
+
- @ledgerhq/types-live@6.53.1-next.0
|
|
11
|
+
- @ledgerhq/coin-framework@0.19.1-next.0
|
|
12
|
+
|
|
3
13
|
## 0.8.4
|
|
4
14
|
|
|
5
15
|
### Patch Changes
|
package/lib/api/cached.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cached.d.ts","sourceRoot":"","sources":["../../src/api/cached.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cached.d.ts","sourceRoot":"","sources":["../../src/api/cached.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAsBnC,wBAAgB,MAAM,CAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ,CA6E9C"}
|
package/lib/api/cached.js
CHANGED
|
@@ -5,12 +5,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.cached = void 0;
|
|
7
7
|
const cache_1 = require("@ledgerhq/live-network/cache");
|
|
8
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
8
9
|
const object_hash_1 = __importDefault(require("object-hash"));
|
|
9
10
|
const cacheKeyAddress = (address) => address;
|
|
10
11
|
const cacheKeyEmpty = () => "";
|
|
11
12
|
const cacheKeyAssocTokenAccAddress = (owner, mint) => `${owner}:${mint}`;
|
|
12
13
|
const cacheKeyMinimumBalanceForRentExemption = (dataLengt) => dataLengt.toString();
|
|
13
14
|
const cacheKeyTransactions = (signatures) => (0, object_hash_1.default)([...signatures].sort());
|
|
15
|
+
const cacheKeyInstructions = (ixs, payer) => {
|
|
16
|
+
return (0, object_hash_1.default)(new web3_js_1.TransactionMessage({
|
|
17
|
+
instructions: ixs,
|
|
18
|
+
payerKey: payer,
|
|
19
|
+
recentBlockhash: payer.toString(),
|
|
20
|
+
})
|
|
21
|
+
.compileToLegacyMessage()
|
|
22
|
+
.serialize());
|
|
23
|
+
};
|
|
14
24
|
const cacheKeyByArgs = (...args) => (0, object_hash_1.default)(args);
|
|
15
25
|
function cached(api) {
|
|
16
26
|
return {
|
|
@@ -34,6 +44,8 @@ function cached(api) {
|
|
|
34
44
|
// do not cache
|
|
35
45
|
sendRawTransaction: api.sendRawTransaction,
|
|
36
46
|
getEpochInfo: (0, cache_1.makeLRUCache)(api.getEpochInfo, cacheKeyEmpty, (0, cache_1.minutes)(1)),
|
|
47
|
+
getRecentPrioritizationFees: (0, cache_1.makeLRUCache)(api.getRecentPrioritizationFees, cacheKeyByArgs, (0, cache_1.seconds)(30)),
|
|
48
|
+
getSimulationComputeUnits: (0, cache_1.makeLRUCache)(api.getSimulationComputeUnits, cacheKeyInstructions, (0, cache_1.seconds)(30)),
|
|
37
49
|
config: api.config,
|
|
38
50
|
};
|
|
39
51
|
}
|
package/lib/api/cached.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cached.js","sourceRoot":"","sources":["../../src/api/cached.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA8E;AAC9E,8DAA+B;AAG/B,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,CAAC;AACrD,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,EAAW,CAAC;AACxC,MAAM,4BAA4B,GAAG,CAAC,KAAa,EAAE,IAAY,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC;AACzF,MAAM,sCAAsC,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;AAE3F,MAAM,oBAAoB,GAAG,CAAC,UAAoB,EAAE,EAAE,CAAC,IAAA,qBAAI,EAAC,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"cached.js","sourceRoot":"","sources":["../../src/api/cached.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="@solana/web3.js" />
|
|
2
1
|
import { Infer } from "superstruct";
|
|
3
2
|
export type StakeAccountType = Infer<typeof StakeAccountType>;
|
|
4
3
|
export declare const StakeAccountType: import("superstruct").Struct<"uninitialized" | "initialized" | "delegated" | "rewardsPool", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stake.d.ts","sourceRoot":"","sources":["../../../../src/api/chain/account/stake.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stake.d.ts","sourceRoot":"","sources":["../../../../src/api/chain/account/stake.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAiC,MAAM,aAAa,CAAC;AAInE,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC9D,eAAO,MAAM,gBAAgB;;;;;EAAsE,CAAC;AAEpG,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAChD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWpB,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;EAMrB,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAElD,eAAO,MAAM,iBAAiB;;;;;;;;;;EAK5B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEhE,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC9D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ3B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACtD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../../src/api/chain/account/token.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../../src/api/chain/account/token.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,EAUN,MAAM,aAAa,CAAC;AAGrB,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC9D,eAAO,MAAM,gBAAgB;;;;EAAyC,CAAC;AAEvE,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAC3D,QAAA,MAAM,YAAY;;;;EAAoD,CAAC;AAQvE,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC9D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU3B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC5D,eAAO,MAAM,eAAe;;;;;;;;;;;;EAM1B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACpE,eAAO,MAAM,mBAAmB;;;;;;;;;;EAK9B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACtD,eAAO,MAAM,YAAY;;;;;;;;;;EAGvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vote.d.ts","sourceRoot":"","sources":["../../../../src/api/chain/account/vote.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vote.d.ts","sourceRoot":"","sources":["../../../../src/api/chain/account/vote.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAgD,MAAM,aAAa,CAAC;AAGlF,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC5D,eAAO,MAAM,eAAe;;EAAkB,CAAC;AAE/C,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC5D,eAAO,MAAM,eAAe;;;;;;EAG1B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAClD,eAAO,MAAM,UAAU;;;;;;;;EAIrB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACtD,eAAO,MAAM,YAAY;;;;;;;;EAIvB,CAAC;AAEH,MAAM,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AACtC,eAAO,MAAM,IAAI;;;;;;EAGf,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC5D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa1B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AACpD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGtB,CAAC"}
|
package/lib/api/chain/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { Connection, VersionedMessage, SignaturesForAddressOptions } from "@solana/web3.js";
|
|
2
|
+
import { Connection, VersionedMessage, PublicKey, SignaturesForAddressOptions, TransactionInstruction } from "@solana/web3.js";
|
|
3
3
|
import { Awaited } from "../../logic";
|
|
4
4
|
import { getStakeActivation } from "./stake-activation";
|
|
5
5
|
export declare const LATEST_BLOCKHASH_MOCK = "EEbZs6DmDyDjucyYbo3LwVJU7pQYuVopYcYTSEZXskW3";
|
|
@@ -25,6 +25,8 @@ export type ChainAPI = Readonly<{
|
|
|
25
25
|
getAssocTokenAccMinNativeBalance: () => Promise<number>;
|
|
26
26
|
getMinimumBalanceForRentExemption: (dataLength: number) => Promise<number>;
|
|
27
27
|
getEpochInfo: () => ReturnType<Connection["getEpochInfo"]>;
|
|
28
|
+
getRecentPrioritizationFees: (accounts: string[]) => ReturnType<Connection["getRecentPrioritizationFees"]>;
|
|
29
|
+
getSimulationComputeUnits: (instructions: Array<TransactionInstruction>, payer: PublicKey) => Promise<number | null>;
|
|
28
30
|
config: Config;
|
|
29
31
|
}>;
|
|
30
32
|
export declare function getChainAPI(config: Config, logger?: (url: string, options: any) => void): ChainAPI;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/chain/index.ts"],"names":[],"mappings":";AAKA,OAAO,EACL,UAAU,EAEV,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/chain/index.ts"],"names":[],"mappings":"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"}
|
package/lib/api/chain/index.js
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.getChainAPI = exports.LATEST_BLOCKHASH_MOCK = void 0;
|
|
4
13
|
const spl_token_1 = require("@solana/spl-token");
|
|
@@ -16,7 +25,7 @@ function getChainAPI(config, logger) {
|
|
|
16
25
|
const fetchMiddleware = logger === undefined
|
|
17
26
|
? undefined
|
|
18
27
|
: (url, options, fetch) => {
|
|
19
|
-
logger(url, options);
|
|
28
|
+
logger(url.toString(), options);
|
|
20
29
|
fetch(url, options);
|
|
21
30
|
};
|
|
22
31
|
const connection = () => {
|
|
@@ -90,6 +99,35 @@ function getChainAPI(config, logger) {
|
|
|
90
99
|
getAssocTokenAccMinNativeBalance: () => (0, spl_token_1.getMinimumBalanceForRentExemptAccount)(connection()).catch(remapErrors),
|
|
91
100
|
getMinimumBalanceForRentExemption: (dataLength) => connection().getMinimumBalanceForRentExemption(dataLength).catch(remapErrors),
|
|
92
101
|
getEpochInfo: () => connection().getEpochInfo().catch(remapErrors),
|
|
102
|
+
getRecentPrioritizationFees: (accounts) => {
|
|
103
|
+
return connection()
|
|
104
|
+
.getRecentPrioritizationFees({
|
|
105
|
+
lockedWritableAccounts: accounts.map(acc => new web3_js_1.PublicKey(acc)),
|
|
106
|
+
})
|
|
107
|
+
.catch(remapErrors);
|
|
108
|
+
},
|
|
109
|
+
getSimulationComputeUnits: (instructions, payer) => __awaiter(this, void 0, void 0, function* () {
|
|
110
|
+
// https://solana.com/developers/guides/advanced/how-to-request-optimal-compute
|
|
111
|
+
const testInstructions = [
|
|
112
|
+
// Set an arbitrarily high number in simulation
|
|
113
|
+
// so we can be sure the transaction will succeed
|
|
114
|
+
// and get the real compute units used
|
|
115
|
+
web3_js_1.ComputeBudgetProgram.setComputeUnitLimit({ units: 1400000 }),
|
|
116
|
+
...instructions,
|
|
117
|
+
];
|
|
118
|
+
const testTransaction = new web3_js_1.VersionedTransaction(new web3_js_1.TransactionMessage({
|
|
119
|
+
instructions: testInstructions,
|
|
120
|
+
payerKey: payer,
|
|
121
|
+
// RecentBlockhash can by any public key during simulation
|
|
122
|
+
// since 'replaceRecentBlockhash' is set to 'true' below
|
|
123
|
+
recentBlockhash: web3_js_1.PublicKey.default.toString(),
|
|
124
|
+
}).compileToV0Message());
|
|
125
|
+
const rpcResponse = yield connection().simulateTransaction(testTransaction, {
|
|
126
|
+
replaceRecentBlockhash: true,
|
|
127
|
+
sigVerify: false,
|
|
128
|
+
});
|
|
129
|
+
return rpcResponse.value.err ? null : rpcResponse.value.unitsConsumed || null;
|
|
130
|
+
}),
|
|
93
131
|
config,
|
|
94
132
|
};
|
|
95
133
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/chain/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/chain/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/api/chain/instruction/associated-token-account/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/api/chain/instruction/associated-token-account/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,EAAE,MAAM,aAAa,CAAC;AAIjD,eAAO,MAAM,aAAa;;;;;;;;EAIxB,CAAC;AAEH,MAAM,MAAM,qCAAqC,GAAG,KAAK,CACvD,OAAO,qCAAqC,CAC7C,CAAC;AAEF,eAAO,MAAM,qCAAqC;;EAAuB,CAAC;AAE1E,eAAO,MAAM,UAAU;;;;;;;;;;CAEb,CAAC;AAEX,eAAO,MAAM,SAAS;;CAEZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/api/chain/instruction/stake/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/api/chain/instruction/stake/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAA+B,KAAK,EAAE,MAAM,aAAa,CAAC;AAGjE,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAC1D,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWzB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACtD,eAAO,MAAM,YAAY;;;;;;;;EAIvB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACxD,eAAO,MAAM,aAAa;;;;;;;;;;EAKxB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAChD,eAAO,MAAM,SAAS;;;;;;;;;;EAKpB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACtD,eAAO,MAAM,YAAY;;;;;;;;;;EAKvB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAC1D,eAAO,MAAM,cAAc;;;;;;EAGzB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAChD,eAAO,MAAM,SAAS;;;;;;;;;;;;EAMpB,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACtE,eAAO,MAAM,oBAAoB;;;;;;;;EAQ/B,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQb,CAAC;AAEX,eAAO,MAAM,SAAS;;;;;;;;CAQZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/api/chain/instruction/system/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/api/chain/instruction/system/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,EAAE,MAAM,aAAa,CAAC;AAGjE,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAChE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;EAM5B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAClD,eAAO,MAAM,UAAU;;;;;;EAGrB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACtD,eAAO,MAAM,YAAY;;;;;;;;EAIvB,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAChF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;EAQpC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC9D,eAAO,MAAM,gBAAgB;;;;;;EAG3B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAChE,eAAO,MAAM,iBAAiB;;;;;;;;;;EAK5B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACpE,eAAO,MAAM,mBAAmB;;;;;;EAG9B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAClE,eAAO,MAAM,kBAAkB;;;;;;;;EAI7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACtD,eAAO,MAAM,YAAY;;;;;;EAGvB,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACtE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAM/B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAClE,eAAO,MAAM,kBAAkB;;;;;;;;;;EAK7B,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACtE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;EAO/B,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACxE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;EAahC,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAatB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;CAarB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/api/chain/instruction/token/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/api/chain/instruction/token/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,KAAK,EAAoD,MAAM,aAAa,CAAC;AAGnG,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACxD,eAAO,MAAM,aAAa;;;;;;;;EAIxB,CAAC;AAwBH,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC9C,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;EAOnB,CAAC;AAwEH,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC5D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ1B,CAAC;AA8BH,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACtE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;EAqB/B,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqBtB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;CAqBrB,CAAC"}
|
package/lib/api/chain/web3.d.ts
CHANGED
|
@@ -22,8 +22,8 @@ export type TransactionDescriptor = {
|
|
|
22
22
|
info: ConfirmedSignatureInfo;
|
|
23
23
|
};
|
|
24
24
|
export declare function getTransactions(address: string, untilTxSignature: string | undefined, api: ChainAPI): Promise<TransactionDescriptor[]>;
|
|
25
|
-
export declare const buildTransferInstructions: ({ sender, recipient, amount, memo
|
|
26
|
-
export declare const buildTokenTransferInstructions: (command: TokenTransferCommand) => TransactionInstruction[]
|
|
25
|
+
export declare const buildTransferInstructions: (api: ChainAPI, { sender, recipient, amount, memo }: TransferCommand) => Promise<TransactionInstruction[]>;
|
|
26
|
+
export declare const buildTokenTransferInstructions: (api: ChainAPI, command: TokenTransferCommand) => Promise<TransactionInstruction[]>;
|
|
27
27
|
export declare function findAssociatedTokenAccountPubkey(ownerAddress: string, mintAddress: string): Promise<PublicKey>;
|
|
28
28
|
export declare const getMaybeTokenAccount: (address: string, api: ChainAPI) => Promise<TokenAccountInfo | undefined | Error>;
|
|
29
29
|
export declare function getMaybeVoteAccount(address: string, api: ChainAPI): Promise<VoteAccountInfo | undefined | Error>;
|
|
@@ -33,11 +33,15 @@ export declare function getStakeAccountAddressWithSeed({ fromAddress, seed, }: {
|
|
|
33
33
|
fromAddress: string;
|
|
34
34
|
seed: string;
|
|
35
35
|
}): Promise<string>;
|
|
36
|
+
export declare function getPriorityFee(api: ChainAPI, accounts: string[]): Promise<number>;
|
|
37
|
+
export declare function appendMaybePriorityFeeInstructions(api: ChainAPI, ixs: TransactionInstruction[], payer: PublicKey): Promise<TransactionInstruction[]>;
|
|
38
|
+
export declare function buildMaybePriorityFeeInstruction(api: ChainAPI, accounts: string[]): Promise<TransactionInstruction | null>;
|
|
39
|
+
export declare function buildComputeUnitInstruction(api: ChainAPI, ixs: TransactionInstruction[], payer: PublicKey): Promise<TransactionInstruction | null>;
|
|
36
40
|
export declare function buildCreateAssociatedTokenAccountInstruction({ mint, owner, associatedTokenAccountAddress, }: TokenCreateATACommand): TransactionInstruction[];
|
|
37
|
-
export declare function buildStakeDelegateInstructions({ authorizedAccAddr, stakeAccAddr, voteAccAddr
|
|
38
|
-
export declare function buildStakeUndelegateInstructions({ authorizedAccAddr, stakeAccAddr
|
|
39
|
-
export declare function buildStakeWithdrawInstructions({ authorizedAccAddr, stakeAccAddr, amount, toAccAddr
|
|
40
|
-
export declare function buildStakeSplitInstructions({ authorizedAccAddr, stakeAccAddr, seed, amount, splitStakeAccAddr
|
|
41
|
-
export declare function buildStakeCreateAccountInstructions({ fromAccAddress, stakeAccAddress, seed, amount, stakeAccRentExemptAmount, delegate, }: StakeCreateAccountCommand): TransactionInstruction[]
|
|
41
|
+
export declare function buildStakeDelegateInstructions(api: ChainAPI, { authorizedAccAddr, stakeAccAddr, voteAccAddr }: StakeDelegateCommand): Promise<TransactionInstruction[]>;
|
|
42
|
+
export declare function buildStakeUndelegateInstructions(api: ChainAPI, { authorizedAccAddr, stakeAccAddr }: StakeUndelegateCommand): Promise<TransactionInstruction[]>;
|
|
43
|
+
export declare function buildStakeWithdrawInstructions(api: ChainAPI, { authorizedAccAddr, stakeAccAddr, amount, toAccAddr }: StakeWithdrawCommand): Promise<TransactionInstruction[]>;
|
|
44
|
+
export declare function buildStakeSplitInstructions(api: ChainAPI, { authorizedAccAddr, stakeAccAddr, seed, amount, splitStakeAccAddr }: StakeSplitCommand): Promise<TransactionInstruction[]>;
|
|
45
|
+
export declare function buildStakeCreateAccountInstructions(api: ChainAPI, { fromAccAddress, stakeAccAddress, seed, amount, stakeAccRentExemptAmount, delegate, }: StakeCreateAccountCommand): Promise<TransactionInstruction[]>;
|
|
42
46
|
export {};
|
|
43
47
|
//# sourceMappingURL=web3.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web3.d.ts","sourceRoot":"","sources":["../../../src/api/chain/web3.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,sBAAsB,EACtB,UAAU,EACV,yBAAyB,EACzB,SAAS,EAGT,sBAAsB,
|
|
1
|
+
{"version":3,"file":"web3.d.ts","sourceRoot":"","sources":["../../../src/api/chain/web3.ts"],"names":[],"mappings":"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"}
|
package/lib/api/chain/web3.js
CHANGED
|
@@ -37,10 +37,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
38
|
};
|
|
39
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
-
exports.buildStakeCreateAccountInstructions = exports.buildStakeSplitInstructions = exports.buildStakeWithdrawInstructions = exports.buildStakeUndelegateInstructions = exports.buildStakeDelegateInstructions = exports.buildCreateAssociatedTokenAccountInstruction = exports.getStakeAccountAddressWithSeed = exports.getAccountMinimumBalanceForRentExemption = exports.getStakeAccountMinimumBalanceForRentExemption = exports.getMaybeVoteAccount = exports.getMaybeTokenAccount = exports.findAssociatedTokenAccountPubkey = exports.buildTokenTransferInstructions = exports.buildTransferInstructions = exports.getTransactions = exports.toStakeAccountWithInfo = exports.toTokenAccountWithInfo = void 0;
|
|
40
|
+
exports.buildStakeCreateAccountInstructions = exports.buildStakeSplitInstructions = exports.buildStakeWithdrawInstructions = exports.buildStakeUndelegateInstructions = exports.buildStakeDelegateInstructions = exports.buildCreateAssociatedTokenAccountInstruction = exports.buildComputeUnitInstruction = exports.buildMaybePriorityFeeInstruction = exports.appendMaybePriorityFeeInstructions = exports.getPriorityFee = exports.getStakeAccountAddressWithSeed = exports.getAccountMinimumBalanceForRentExemption = exports.getStakeAccountMinimumBalanceForRentExemption = exports.getMaybeVoteAccount = exports.getMaybeTokenAccount = exports.findAssociatedTokenAccountPubkey = exports.buildTokenTransferInstructions = exports.buildTransferInstructions = exports.getTransactions = exports.toStakeAccountWithInfo = exports.toTokenAccountWithInfo = void 0;
|
|
41
41
|
const spl_token_1 = require("@solana/spl-token");
|
|
42
42
|
const web3_js_1 = require("@solana/web3.js");
|
|
43
43
|
const chunk_1 = __importDefault(require("lodash/chunk"));
|
|
44
|
+
const uniq_1 = __importDefault(require("lodash/uniq"));
|
|
44
45
|
const utils_1 = require("../../utils");
|
|
45
46
|
const account_1 = require("./account");
|
|
46
47
|
const parser_1 = require("./account/parser");
|
|
@@ -107,7 +108,7 @@ function getTransactions(address, untilTxSignature, api) {
|
|
|
107
108
|
return (0, utils_1.drainSeqAsyncGen)(getTransactionsGen(address, untilTxSignature, api));
|
|
108
109
|
}
|
|
109
110
|
exports.getTransactions = getTransactions;
|
|
110
|
-
const buildTransferInstructions = ({ sender, recipient, amount, memo
|
|
111
|
+
const buildTransferInstructions = (api_1, _a) => __awaiter(void 0, [api_1, _a], void 0, function* (api, { sender, recipient, amount, memo }) {
|
|
111
112
|
const fromPublicKey = new web3_js_1.PublicKey(sender);
|
|
112
113
|
const toPublicKey = new web3_js_1.PublicKey(recipient);
|
|
113
114
|
const instructions = [
|
|
@@ -125,10 +126,10 @@ const buildTransferInstructions = ({ sender, recipient, amount, memo, }) => {
|
|
|
125
126
|
});
|
|
126
127
|
instructions.push(memoIx);
|
|
127
128
|
}
|
|
128
|
-
return instructions;
|
|
129
|
-
};
|
|
129
|
+
return appendMaybePriorityFeeInstructions(api, instructions, fromPublicKey);
|
|
130
|
+
});
|
|
130
131
|
exports.buildTransferInstructions = buildTransferInstructions;
|
|
131
|
-
const buildTokenTransferInstructions = (command) => {
|
|
132
|
+
const buildTokenTransferInstructions = (api, command) => __awaiter(void 0, void 0, void 0, function* () {
|
|
132
133
|
const { ownerAddress, ownerAssociatedTokenAccountAddress, amount, recipientDescriptor, mintAddress, mintDecimals, memo, } = command;
|
|
133
134
|
const ownerPubkey = new web3_js_1.PublicKey(ownerAddress);
|
|
134
135
|
const destinationPubkey = new web3_js_1.PublicKey(recipientDescriptor.tokenAccAddress);
|
|
@@ -146,7 +147,7 @@ const buildTokenTransferInstructions = (command) => {
|
|
|
146
147
|
}));
|
|
147
148
|
}
|
|
148
149
|
return instructions;
|
|
149
|
-
};
|
|
150
|
+
});
|
|
150
151
|
exports.buildTokenTransferInstructions = buildTokenTransferInstructions;
|
|
151
152
|
function findAssociatedTokenAccountPubkey(ownerAddress, mintAddress) {
|
|
152
153
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -189,6 +190,50 @@ function getStakeAccountAddressWithSeed(_a) {
|
|
|
189
190
|
});
|
|
190
191
|
}
|
|
191
192
|
exports.getStakeAccountAddressWithSeed = getStakeAccountAddressWithSeed;
|
|
193
|
+
function getPriorityFee(api, accounts) {
|
|
194
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
195
|
+
const recentFees = yield api.getRecentPrioritizationFees((0, uniq_1.default)(accounts));
|
|
196
|
+
return (0, utils_1.median)(recentFees.map(item => item.prioritizationFee));
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
exports.getPriorityFee = getPriorityFee;
|
|
200
|
+
function appendMaybePriorityFeeInstructions(api, ixs, payer) {
|
|
201
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
202
|
+
const instructions = [...ixs];
|
|
203
|
+
const writableAccs = instructions
|
|
204
|
+
.map(ix => ix.keys.filter(acc => acc.isWritable).map(acc => acc.pubkey.toBase58()))
|
|
205
|
+
.flat();
|
|
206
|
+
const priorityFeeIx = yield buildMaybePriorityFeeInstruction(api, writableAccs);
|
|
207
|
+
if (priorityFeeIx)
|
|
208
|
+
instructions.unshift(priorityFeeIx);
|
|
209
|
+
const computeUnitsIx = yield buildComputeUnitInstruction(api, instructions, payer);
|
|
210
|
+
if (computeUnitsIx)
|
|
211
|
+
instructions.unshift(computeUnitsIx);
|
|
212
|
+
return instructions;
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
exports.appendMaybePriorityFeeInstructions = appendMaybePriorityFeeInstructions;
|
|
216
|
+
function buildMaybePriorityFeeInstruction(api, accounts) {
|
|
217
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
218
|
+
const priorityFee = yield getPriorityFee(api, accounts);
|
|
219
|
+
if (priorityFee === 0)
|
|
220
|
+
return null;
|
|
221
|
+
return web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
|
|
222
|
+
microLamports: priorityFee,
|
|
223
|
+
});
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
exports.buildMaybePriorityFeeInstruction = buildMaybePriorityFeeInstruction;
|
|
227
|
+
function buildComputeUnitInstruction(api, ixs, payer) {
|
|
228
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
229
|
+
const computeUnits = yield api.getSimulationComputeUnits(ixs, payer);
|
|
230
|
+
// adding 10% more CPU to make sure it will work
|
|
231
|
+
return computeUnits
|
|
232
|
+
? web3_js_1.ComputeBudgetProgram.setComputeUnitLimit({ units: computeUnits * 0.1 + computeUnits })
|
|
233
|
+
: null;
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
exports.buildComputeUnitInstruction = buildComputeUnitInstruction;
|
|
192
237
|
function buildCreateAssociatedTokenAccountInstruction({ mint, owner, associatedTokenAccountAddress, }) {
|
|
193
238
|
const ownerPubKey = new web3_js_1.PublicKey(owner);
|
|
194
239
|
const mintPubkey = new web3_js_1.PublicKey(mint);
|
|
@@ -199,74 +244,86 @@ function buildCreateAssociatedTokenAccountInstruction({ mint, owner, associatedT
|
|
|
199
244
|
return instructions;
|
|
200
245
|
}
|
|
201
246
|
exports.buildCreateAssociatedTokenAccountInstruction = buildCreateAssociatedTokenAccountInstruction;
|
|
202
|
-
function buildStakeDelegateInstructions(
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
247
|
+
function buildStakeDelegateInstructions(api_2, _a) {
|
|
248
|
+
return __awaiter(this, arguments, void 0, function* (api, { authorizedAccAddr, stakeAccAddr, voteAccAddr }) {
|
|
249
|
+
const withdrawAuthority = new web3_js_1.PublicKey(authorizedAccAddr);
|
|
250
|
+
const stakeAcc = new web3_js_1.PublicKey(stakeAccAddr);
|
|
251
|
+
const voteAcc = new web3_js_1.PublicKey(voteAccAddr);
|
|
252
|
+
const tx = web3_js_1.StakeProgram.delegate({
|
|
253
|
+
authorizedPubkey: withdrawAuthority,
|
|
254
|
+
stakePubkey: stakeAcc,
|
|
255
|
+
votePubkey: voteAcc,
|
|
256
|
+
});
|
|
257
|
+
return appendMaybePriorityFeeInstructions(api, tx.instructions, withdrawAuthority);
|
|
207
258
|
});
|
|
208
|
-
return tx.instructions;
|
|
209
259
|
}
|
|
210
260
|
exports.buildStakeDelegateInstructions = buildStakeDelegateInstructions;
|
|
211
|
-
function buildStakeUndelegateInstructions(
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
261
|
+
function buildStakeUndelegateInstructions(api_2, _a) {
|
|
262
|
+
return __awaiter(this, arguments, void 0, function* (api, { authorizedAccAddr, stakeAccAddr }) {
|
|
263
|
+
const withdrawAuthority = new web3_js_1.PublicKey(authorizedAccAddr);
|
|
264
|
+
const stakeAcc = new web3_js_1.PublicKey(stakeAccAddr);
|
|
265
|
+
const tx = web3_js_1.StakeProgram.deactivate({
|
|
266
|
+
authorizedPubkey: withdrawAuthority,
|
|
267
|
+
stakePubkey: stakeAcc,
|
|
268
|
+
});
|
|
269
|
+
return appendMaybePriorityFeeInstructions(api, tx.instructions, withdrawAuthority);
|
|
215
270
|
});
|
|
216
|
-
return tx.instructions;
|
|
217
271
|
}
|
|
218
272
|
exports.buildStakeUndelegateInstructions = buildStakeUndelegateInstructions;
|
|
219
|
-
function buildStakeWithdrawInstructions(
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
273
|
+
function buildStakeWithdrawInstructions(api_2, _a) {
|
|
274
|
+
return __awaiter(this, arguments, void 0, function* (api, { authorizedAccAddr, stakeAccAddr, amount, toAccAddr }) {
|
|
275
|
+
const withdrawAuthority = new web3_js_1.PublicKey(authorizedAccAddr);
|
|
276
|
+
const stakeAcc = new web3_js_1.PublicKey(stakeAccAddr);
|
|
277
|
+
const recipient = new web3_js_1.PublicKey(toAccAddr);
|
|
278
|
+
const tx = web3_js_1.StakeProgram.withdraw({
|
|
279
|
+
authorizedPubkey: withdrawAuthority,
|
|
280
|
+
stakePubkey: stakeAcc,
|
|
281
|
+
lamports: amount,
|
|
282
|
+
toPubkey: recipient,
|
|
283
|
+
});
|
|
284
|
+
return appendMaybePriorityFeeInstructions(api, tx.instructions, withdrawAuthority);
|
|
225
285
|
});
|
|
226
|
-
return tx.instructions;
|
|
227
286
|
}
|
|
228
287
|
exports.buildStakeWithdrawInstructions = buildStakeWithdrawInstructions;
|
|
229
|
-
function buildStakeSplitInstructions(
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
programId: web3_js_1.StakeProgram.programId,
|
|
244
|
-
seed,
|
|
245
|
-
space: web3_js_1.StakeProgram.space,
|
|
288
|
+
function buildStakeSplitInstructions(api_2, _a) {
|
|
289
|
+
return __awaiter(this, arguments, void 0, function* (api, { authorizedAccAddr, stakeAccAddr, seed, amount, splitStakeAccAddr }) {
|
|
290
|
+
const basePk = new web3_js_1.PublicKey(authorizedAccAddr);
|
|
291
|
+
const stakePk = new web3_js_1.PublicKey(stakeAccAddr);
|
|
292
|
+
const splitStakePk = new web3_js_1.PublicKey(splitStakeAccAddr);
|
|
293
|
+
const splitIx = web3_js_1.StakeProgram.splitWithSeed({
|
|
294
|
+
authorizedPubkey: basePk,
|
|
295
|
+
lamports: amount,
|
|
296
|
+
stakePubkey: stakePk,
|
|
297
|
+
splitStakePubkey: splitStakePk,
|
|
298
|
+
basePubkey: basePk,
|
|
299
|
+
seed,
|
|
300
|
+
});
|
|
301
|
+
return appendMaybePriorityFeeInstructions(api, splitIx.instructions, basePk);
|
|
246
302
|
});
|
|
247
|
-
return [allocateIx, splitIx];
|
|
248
303
|
}
|
|
249
304
|
exports.buildStakeSplitInstructions = buildStakeSplitInstructions;
|
|
250
|
-
function buildStakeCreateAccountInstructions(
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
305
|
+
function buildStakeCreateAccountInstructions(api_2, _a) {
|
|
306
|
+
return __awaiter(this, arguments, void 0, function* (api, { fromAccAddress, stakeAccAddress, seed, amount, stakeAccRentExemptAmount, delegate, }) {
|
|
307
|
+
const fromPubkey = new web3_js_1.PublicKey(fromAccAddress);
|
|
308
|
+
const stakePubkey = new web3_js_1.PublicKey(stakeAccAddress);
|
|
309
|
+
const tx = web3_js_1.StakeProgram.createAccountWithSeed({
|
|
310
|
+
fromPubkey,
|
|
311
|
+
stakePubkey,
|
|
312
|
+
basePubkey: fromPubkey,
|
|
313
|
+
seed,
|
|
314
|
+
lamports: amount + stakeAccRentExemptAmount,
|
|
315
|
+
authorized: {
|
|
316
|
+
staker: fromPubkey,
|
|
317
|
+
withdrawer: fromPubkey,
|
|
318
|
+
},
|
|
319
|
+
});
|
|
320
|
+
tx.add(web3_js_1.StakeProgram.delegate({
|
|
321
|
+
authorizedPubkey: fromPubkey,
|
|
322
|
+
stakePubkey,
|
|
323
|
+
votePubkey: new web3_js_1.PublicKey(delegate.voteAccAddress),
|
|
324
|
+
}));
|
|
325
|
+
return appendMaybePriorityFeeInstructions(api, tx.instructions, fromPubkey);
|
|
263
326
|
});
|
|
264
|
-
tx.add(web3_js_1.StakeProgram.delegate({
|
|
265
|
-
authorizedPubkey: fromPubkey,
|
|
266
|
-
stakePubkey,
|
|
267
|
-
votePubkey: new web3_js_1.PublicKey(delegate.voteAccAddress),
|
|
268
|
-
}));
|
|
269
|
-
return tx.instructions;
|
|
270
327
|
}
|
|
271
328
|
exports.buildStakeCreateAccountInstructions = buildStakeCreateAccountInstructions;
|
|
272
329
|
//# sourceMappingURL=web3.js.map
|