@marinade.finance/bankrun-utils 2.4.7 → 2.4.9

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marinade.finance/bankrun-utils",
3
- "version": "2.4.7",
3
+ "version": "2.4.9",
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.7",
26
+ "@marinade.finance/web3js-common": "2.4.9",
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.7",
33
+ "@marinade.finance/web3js-common": "2.4.9",
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 = 32;
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 warpOffsetEpoch(provider: BankrunProvider, plusEpochs: number): Promise<void>;
8
- export declare function currentEpoch(provider: BankrunProvider): Promise<number>;
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.currentEpoch = exports.warpOffsetEpoch = exports.warpToNextEpoch = exports.warpToEpoch = exports.MINIMUM_SLOTS_PER_EPOCH = exports.assertNotExist = void 0;
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 = BigInt((2 ** epoch - 1) * exports.MINIMUM_SLOTS_PER_EPOCH);
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 warpToNextEpoch(provider) {
27
- await warpOffsetEpoch(provider, 1);
27
+ async function currentEpoch(provider) {
28
+ return (await provider.context.banksClient.getClock()).epoch;
28
29
  }
29
- exports.warpToNextEpoch = warpToNextEpoch;
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 currentEpoch(provider) {
36
- return Number((await provider.context.banksClient.getClock()).epoch);
36
+ async function warpToNextEpoch(provider) {
37
+ await warpOffsetEpoch(provider, 1);
37
38
  }
38
- exports.currentEpoch = currentEpoch;
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
- const currentSlot = (await provider.context.banksClient.getClock()).slot;
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
@@ -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;AACzC,4FAA4F;AAC5F,SAAgB,WAAW,CAAC,QAAyB,EAAE,KAAa;IAClE,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,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,GAAG,+BAAuB,CAAC,CAAA;IACjE,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;AAZD,kCAYC;AAEM,KAAK,UAAU,eAAe,CAAC,QAAyB;IAC7D,MAAM,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;AACpC,CAAC;AAFD,0CAEC;AAEM,KAAK,UAAU,eAAe,CACnC,QAAyB,EACzB,UAAkB;IAElB,MAAM,SAAS,GAAG,CAAC,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC,GAAG,UAAU,CAAA;IAC7D,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;AAClC,CAAC;AAND,0CAMC;AAEM,KAAK,UAAU,YAAY,CAAC,QAAyB;IAC1D,OAAO,MAAM,CAAC,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;AACtE,CAAC;AAFD,oCAEC;AAEM,KAAK,UAAU,cAAc,CAAC,QAAyB;IAC5D,MAAM,WAAW,GAAG,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAA;IACxE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AACtD,CAAC;AAHD,wCAGC"}
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"}