@marinade.finance/bankrun-utils 2.4.7 → 2.4.8
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/package.json +3 -3
- package/src/bankrun.d.ts +6 -4
- package/src/bankrun.js +22 -12
- package/src/bankrun.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@marinade.finance/bankrun-utils",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.8",
|
|
4
4
|
"description": "Bankrun library utilities",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -23,14 +23,14 @@
|
|
|
23
23
|
],
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@solana/web3.js": "^1.93.0",
|
|
26
|
-
"@marinade.finance/web3js-common": "2.4.
|
|
26
|
+
"@marinade.finance/web3js-common": "2.4.8",
|
|
27
27
|
"solana-bankrun": "^0.2.0",
|
|
28
28
|
"anchor-bankrun": "^0.2.0",
|
|
29
29
|
"class-transformer": "^0.5.1"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
32
|
"@solana/web3.js": "^1.93.0",
|
|
33
|
-
"@marinade.finance/web3js-common": "2.4.
|
|
33
|
+
"@marinade.finance/web3js-common": "2.4.8",
|
|
34
34
|
"solana-bankrun": "^0.2.0",
|
|
35
35
|
"anchor-bankrun": "^0.2.0",
|
|
36
36
|
"class-transformer": "^0.5.1"
|
package/src/bankrun.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { PublicKey } from '@solana/web3.js';
|
|
2
2
|
import { BankrunProvider } from 'anchor-bankrun';
|
|
3
3
|
export declare function assertNotExist(provider: BankrunProvider, account: PublicKey): Promise<void>;
|
|
4
|
-
export declare const MINIMUM_SLOTS_PER_EPOCH
|
|
5
|
-
export declare function warpToEpoch(provider: BankrunProvider, epoch: number): void;
|
|
4
|
+
export declare const MINIMUM_SLOTS_PER_EPOCH: bigint;
|
|
5
|
+
export declare function warpToEpoch(provider: BankrunProvider, epoch: number | bigint): void;
|
|
6
|
+
export declare function currentEpoch(provider: BankrunProvider): Promise<bigint>;
|
|
7
|
+
export declare function warpOffsetEpoch(provider: BankrunProvider, plusEpochs: number | bigint): Promise<void>;
|
|
6
8
|
export declare function warpToNextEpoch(provider: BankrunProvider): Promise<void>;
|
|
7
|
-
export declare function
|
|
8
|
-
export declare function
|
|
9
|
+
export declare function currentSlot(provider: BankrunProvider): Promise<bigint>;
|
|
10
|
+
export declare function warpOffsetSlot(provider: BankrunProvider, plusSlots: number | bigint): Promise<void>;
|
|
9
11
|
export declare function warpToNextSlot(provider: BankrunProvider): Promise<void>;
|
package/src/bankrun.js
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.warpToNextSlot = exports.
|
|
3
|
+
exports.warpToNextSlot = exports.warpOffsetSlot = exports.currentSlot = exports.warpToNextEpoch = exports.warpOffsetEpoch = exports.currentEpoch = exports.warpToEpoch = exports.MINIMUM_SLOTS_PER_EPOCH = exports.assertNotExist = void 0;
|
|
4
4
|
async function assertNotExist(provider, account) {
|
|
5
5
|
const accountInfo = await provider.context.banksClient.getAccount(account);
|
|
6
6
|
expect(accountInfo).toBeNull();
|
|
7
7
|
}
|
|
8
8
|
exports.assertNotExist = assertNotExist;
|
|
9
9
|
// https://github.com/solana-labs/solana/blob/v1.17.7/sdk/program/src/epoch_schedule.rs#L29C1-L29C45
|
|
10
|
-
exports.MINIMUM_SLOTS_PER_EPOCH = 32;
|
|
10
|
+
exports.MINIMUM_SLOTS_PER_EPOCH = BigInt(32);
|
|
11
11
|
// https://github.com/solana-labs/solana/blob/v1.17.7/sdk/program/src/epoch_schedule.rs#L167
|
|
12
12
|
function warpToEpoch(provider, epoch) {
|
|
13
13
|
const epochBigInt = BigInt(epoch);
|
|
14
14
|
const { slotsPerEpoch, firstNormalEpoch, firstNormalSlot } = provider.context.genesisConfig.epochSchedule;
|
|
15
15
|
let warpToSlot;
|
|
16
16
|
if (epochBigInt <= firstNormalEpoch) {
|
|
17
|
-
warpToSlot =
|
|
17
|
+
warpToSlot =
|
|
18
|
+
(BigInt(2) ** epochBigInt - BigInt(1)) * exports.MINIMUM_SLOTS_PER_EPOCH;
|
|
18
19
|
}
|
|
19
20
|
else {
|
|
20
21
|
warpToSlot =
|
|
@@ -23,22 +24,31 @@ function warpToEpoch(provider, epoch) {
|
|
|
23
24
|
provider.context.warpToSlot(warpToSlot);
|
|
24
25
|
}
|
|
25
26
|
exports.warpToEpoch = warpToEpoch;
|
|
26
|
-
async function
|
|
27
|
-
await
|
|
27
|
+
async function currentEpoch(provider) {
|
|
28
|
+
return (await provider.context.banksClient.getClock()).epoch;
|
|
28
29
|
}
|
|
29
|
-
exports.
|
|
30
|
+
exports.currentEpoch = currentEpoch;
|
|
30
31
|
async function warpOffsetEpoch(provider, plusEpochs) {
|
|
31
|
-
const nextEpoch = (await currentEpoch(provider)) + plusEpochs;
|
|
32
|
+
const nextEpoch = (await currentEpoch(provider)) + BigInt(plusEpochs);
|
|
32
33
|
warpToEpoch(provider, nextEpoch);
|
|
33
34
|
}
|
|
34
35
|
exports.warpOffsetEpoch = warpOffsetEpoch;
|
|
35
|
-
async function
|
|
36
|
-
|
|
36
|
+
async function warpToNextEpoch(provider) {
|
|
37
|
+
await warpOffsetEpoch(provider, 1);
|
|
37
38
|
}
|
|
38
|
-
exports.
|
|
39
|
+
exports.warpToNextEpoch = warpToNextEpoch;
|
|
40
|
+
async function currentSlot(provider) {
|
|
41
|
+
return (await provider.context.banksClient.getClock()).slot;
|
|
42
|
+
}
|
|
43
|
+
exports.currentSlot = currentSlot;
|
|
44
|
+
async function warpOffsetSlot(provider, plusSlots) {
|
|
45
|
+
const nextSlot = (await currentSlot(provider)) + BigInt(plusSlots);
|
|
46
|
+
warpOffsetSlot(provider, nextSlot);
|
|
47
|
+
provider.context.warpToSlot(nextSlot);
|
|
48
|
+
}
|
|
49
|
+
exports.warpOffsetSlot = warpOffsetSlot;
|
|
39
50
|
async function warpToNextSlot(provider) {
|
|
40
|
-
|
|
41
|
-
provider.context.warpToSlot(currentSlot + BigInt(1));
|
|
51
|
+
await warpOffsetSlot(provider, 1);
|
|
42
52
|
}
|
|
43
53
|
exports.warpToNextSlot = warpToNextSlot;
|
|
44
54
|
//# sourceMappingURL=bankrun.js.map
|
package/src/bankrun.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bankrun.js","sourceRoot":"","sources":["../../../../../packages/lib/bankrun-utils/src/bankrun.ts"],"names":[],"mappings":";;;AAGO,KAAK,UAAU,cAAc,CAClC,QAAyB,EACzB,OAAkB;IAElB,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IAC1E,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAA;AAChC,CAAC;AAND,wCAMC;AAED,oGAAoG;AACvF,QAAA,uBAAuB,GAAG,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"bankrun.js","sourceRoot":"","sources":["../../../../../packages/lib/bankrun-utils/src/bankrun.ts"],"names":[],"mappings":";;;AAGO,KAAK,UAAU,cAAc,CAClC,QAAyB,EACzB,OAAkB;IAElB,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IAC1E,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAA;AAChC,CAAC;AAND,wCAMC;AAED,oGAAoG;AACvF,QAAA,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACjD,4FAA4F;AAC5F,SAAgB,WAAW,CAAC,QAAyB,EAAE,KAAsB;IAC3E,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACjC,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,GACxD,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAA;IAC9C,IAAI,UAAkB,CAAA;IACtB,IAAI,WAAW,IAAI,gBAAgB,EAAE,CAAC;QACpC,UAAU;YACR,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,+BAAuB,CAAA;IACpE,CAAC;SAAM,CAAC;QACN,UAAU;YACR,CAAC,WAAW,GAAG,gBAAgB,CAAC,GAAG,aAAa,GAAG,eAAe,CAAA;IACtE,CAAC;IACD,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;AACzC,CAAC;AAbD,kCAaC;AAEM,KAAK,UAAU,YAAY,CAAC,QAAyB;IAC1D,OAAO,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAA;AAC9D,CAAC;AAFD,oCAEC;AAEM,KAAK,UAAU,eAAe,CACnC,QAAyB,EACzB,UAA2B;IAE3B,MAAM,SAAS,GAAG,CAAC,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;IACrE,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;AAClC,CAAC;AAND,0CAMC;AAEM,KAAK,UAAU,eAAe,CAAC,QAAyB;IAC7D,MAAM,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;AACpC,CAAC;AAFD,0CAEC;AAEM,KAAK,UAAU,WAAW,CAAC,QAAyB;IACzD,OAAO,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAA;AAC7D,CAAC;AAFD,kCAEC;AAEM,KAAK,UAAU,cAAc,CAClC,QAAyB,EACzB,SAA0B;IAE1B,MAAM,QAAQ,GAAG,CAAC,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;IAClE,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAClC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;AACvC,CAAC;AAPD,wCAOC;AAEM,KAAK,UAAU,cAAc,CAAC,QAAyB;IAC5D,MAAM,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;AACnC,CAAC;AAFD,wCAEC"}
|