@marinade.finance/bankrun-utils 2.4.15 → 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.
- package/README.md +20 -0
- package/dist/package.json +47 -0
- package/{src → dist/src}/bankrun.d.ts +3 -2
- package/dist/src/bankrun.d.ts.map +1 -0
- package/{src → dist/src}/bankrun.js +9 -11
- package/dist/src/bankrun.js.map +1 -0
- package/{src → dist/src}/extendedProvider.d.ts +5 -3
- package/dist/src/extendedProvider.d.ts.map +1 -0
- package/{src → dist/src}/extendedProvider.js +8 -7
- package/dist/src/extendedProvider.js.map +1 -0
- package/{src → dist/src}/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -0
- package/{src → dist/src}/index.js +1 -1
- package/dist/src/index.js.map +1 -0
- package/dist/src/testInit.d.ts +37 -0
- package/dist/src/testInit.d.ts.map +1 -0
- package/{src → dist/src}/testInit.js +35 -65
- package/dist/src/testInit.js.map +1 -0
- package/package.json +21 -18
- package/src/bankrun.js.map +0 -1
- package/src/extendedProvider.js.map +0 -1
- package/src/index.js.map +0 -1
- package/src/testInit.d.ts +0 -51
- package/src/testInit.js.map +0 -1
package/README.md
CHANGED
|
@@ -6,3 +6,23 @@ Utilities to work with Bankrun Solana testing library
|
|
|
6
6
|
|
|
7
7
|
* https://github.com/kevinheavey/solana-bankrun
|
|
8
8
|
* https://github.com/kevinheavey/anchor-bankrun
|
|
9
|
+
|
|
10
|
+
### Dependencies
|
|
11
|
+
|
|
12
|
+
Library defines set of `peerDependencies` that are required to be directly installed by dependent program.
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
pnpm add @solana/web3.js@1
|
|
17
|
+
pnpm add @marinade.finance/web3js-1x@latest
|
|
18
|
+
pnpm add solana-bankrun@0.2.0
|
|
19
|
+
pnpm add anchor-bankrun@0.2.0
|
|
20
|
+
pnpm add class-transformer@latest
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Installation
|
|
24
|
+
|
|
25
|
+
```sh
|
|
26
|
+
# see Dependencies
|
|
27
|
+
pnpm add -D @marinade.finance/bankrun-utils@latest
|
|
28
|
+
```
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@marinade.finance/bankrun-utils",
|
|
3
|
+
"version": "4.0.0",
|
|
4
|
+
"description": "Bankrun test library utilities",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git@github.com:marinade-finance/typescript-common.git"
|
|
8
|
+
},
|
|
9
|
+
"main": "dist/src/index.js",
|
|
10
|
+
"types": "dist/src/index.d.ts",
|
|
11
|
+
"publishConfig": {
|
|
12
|
+
"access": "public"
|
|
13
|
+
},
|
|
14
|
+
"keywords": [
|
|
15
|
+
"solana",
|
|
16
|
+
"marinade.finance",
|
|
17
|
+
"staking",
|
|
18
|
+
"blockchain",
|
|
19
|
+
"testing"
|
|
20
|
+
],
|
|
21
|
+
"files": [
|
|
22
|
+
"dist/",
|
|
23
|
+
"!dist/src/__tests__",
|
|
24
|
+
"README.md"
|
|
25
|
+
],
|
|
26
|
+
"scripts": {
|
|
27
|
+
"build": "tsc --build",
|
|
28
|
+
"test": "pnpm jest --config ../../jest.config.js --testPathPattern=\"$(pwd)\""
|
|
29
|
+
},
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"@solana/web3.js": "1.98.4",
|
|
32
|
+
"@marinade.finance/web3js-1x": "workspace:*",
|
|
33
|
+
"solana-bankrun": "0.2.0",
|
|
34
|
+
"anchor-bankrun": "0.2.0",
|
|
35
|
+
"class-transformer": "0.5.1"
|
|
36
|
+
},
|
|
37
|
+
"peerDependencies": {
|
|
38
|
+
"@solana/web3.js": "^1.98.4",
|
|
39
|
+
"@marinade.finance/web3js-1x": "workspace:*",
|
|
40
|
+
"solana-bankrun": "^0.2.0",
|
|
41
|
+
"anchor-bankrun": "^0.2.0",
|
|
42
|
+
"class-transformer": "^0.5.1"
|
|
43
|
+
},
|
|
44
|
+
"engines": {
|
|
45
|
+
"node": ">=16"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { PublicKey } from '@solana/web3.js';
|
|
2
|
-
import { BankrunProvider } from 'anchor-bankrun';
|
|
1
|
+
import type { PublicKey } from '@solana/web3.js';
|
|
2
|
+
import type { BankrunProvider } from 'anchor-bankrun';
|
|
3
3
|
export declare function assertNotExist(provider: BankrunProvider, account: PublicKey): Promise<void>;
|
|
4
4
|
export declare const MINIMUM_SLOTS_PER_EPOCH: bigint;
|
|
5
5
|
export declare function warpToEpoch(provider: BankrunProvider, epoch: number | bigint): void;
|
|
@@ -9,3 +9,4 @@ export declare function warpToNextEpoch(provider: BankrunProvider): Promise<void
|
|
|
9
9
|
export declare function currentSlot(provider: BankrunProvider): Promise<bigint>;
|
|
10
10
|
export declare function warpOffsetSlot(provider: BankrunProvider, plusSlots: number | bigint): Promise<void>;
|
|
11
11
|
export declare function warpToNextSlot(provider: BankrunProvider): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=bankrun.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bankrun.d.ts","sourceRoot":"","sources":["../../src/bankrun.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAErD,wBAAsB,cAAc,CAClC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,SAAS,iBAInB;AAGD,eAAO,MAAM,uBAAuB,QAAa,CAAA;AAEjD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,QAa5E;AAED,wBAAsB,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7E;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE,MAAM,GAAG,MAAM,iBAI5B;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,eAAe,iBAE9D;AAED,wBAAsB,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAE5E;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,MAAM,GAAG,MAAM,iBAI3B;AAED,wBAAsB,cAAc,CAAC,QAAQ,EAAE,eAAe,iBAE7D"}
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.MINIMUM_SLOTS_PER_EPOCH = void 0;
|
|
4
|
+
exports.assertNotExist = assertNotExist;
|
|
5
|
+
exports.warpToEpoch = warpToEpoch;
|
|
6
|
+
exports.currentEpoch = currentEpoch;
|
|
7
|
+
exports.warpOffsetEpoch = warpOffsetEpoch;
|
|
8
|
+
exports.warpToNextEpoch = warpToNextEpoch;
|
|
9
|
+
exports.currentSlot = currentSlot;
|
|
10
|
+
exports.warpOffsetSlot = warpOffsetSlot;
|
|
11
|
+
exports.warpToNextSlot = warpToNextSlot;
|
|
4
12
|
async function assertNotExist(provider, account) {
|
|
5
13
|
const accountInfo = await provider.context.banksClient.getAccount(account);
|
|
6
14
|
expect(accountInfo).toBeNull();
|
|
7
15
|
}
|
|
8
|
-
exports.assertNotExist = assertNotExist;
|
|
9
|
-
// https://github.com/solana-labs/solana/blob/v1.17.7/sdk/program/src/epoch_schedule.rs#L29C1-L29C45
|
|
10
16
|
exports.MINIMUM_SLOTS_PER_EPOCH = BigInt(32);
|
|
11
|
-
// https://github.com/solana-labs/solana/blob/v1.17.7/sdk/program/src/epoch_schedule.rs#L167
|
|
12
17
|
function warpToEpoch(provider, epoch) {
|
|
13
18
|
const epochBigInt = BigInt(epoch);
|
|
14
19
|
const { slotsPerEpoch, firstNormalEpoch, firstNormalSlot } = provider.context.genesisConfig.epochSchedule;
|
|
@@ -23,31 +28,24 @@ function warpToEpoch(provider, epoch) {
|
|
|
23
28
|
}
|
|
24
29
|
provider.context.warpToSlot(warpToSlot);
|
|
25
30
|
}
|
|
26
|
-
exports.warpToEpoch = warpToEpoch;
|
|
27
31
|
async function currentEpoch(provider) {
|
|
28
32
|
return (await provider.context.banksClient.getClock()).epoch;
|
|
29
33
|
}
|
|
30
|
-
exports.currentEpoch = currentEpoch;
|
|
31
34
|
async function warpOffsetEpoch(provider, plusEpochs) {
|
|
32
35
|
const nextEpoch = (await currentEpoch(provider)) + BigInt(plusEpochs);
|
|
33
36
|
warpToEpoch(provider, nextEpoch);
|
|
34
37
|
}
|
|
35
|
-
exports.warpOffsetEpoch = warpOffsetEpoch;
|
|
36
38
|
async function warpToNextEpoch(provider) {
|
|
37
39
|
await warpOffsetEpoch(provider, 1);
|
|
38
40
|
}
|
|
39
|
-
exports.warpToNextEpoch = warpToNextEpoch;
|
|
40
41
|
async function currentSlot(provider) {
|
|
41
42
|
return (await provider.context.banksClient.getClock()).slot;
|
|
42
43
|
}
|
|
43
|
-
exports.currentSlot = currentSlot;
|
|
44
44
|
async function warpOffsetSlot(provider, plusSlots) {
|
|
45
45
|
const nextSlot = (await currentSlot(provider)) + BigInt(plusSlots);
|
|
46
46
|
provider.context.warpToSlot(nextSlot);
|
|
47
47
|
}
|
|
48
|
-
exports.warpOffsetSlot = warpOffsetSlot;
|
|
49
48
|
async function warpToNextSlot(provider) {
|
|
50
49
|
await warpOffsetSlot(provider, 1);
|
|
51
50
|
}
|
|
52
|
-
exports.warpToNextSlot = warpToNextSlot;
|
|
53
51
|
//# sourceMappingURL=bankrun.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bankrun.js","sourceRoot":"","sources":["../../src/bankrun.ts"],"names":[],"mappings":";;;AAGA,wCAMC;AAKD,kCAaC;AAED,oCAEC;AAED,0CAMC;AAED,0CAEC;AAED,kCAEC;AAED,wCAMC;AAED,wCAEC;AAxDM,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;AAGY,QAAA,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AAEjD,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;AAEM,KAAK,UAAU,YAAY,CAAC,QAAyB;IAC1D,OAAO,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAA;AAC9D,CAAC;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;AAEM,KAAK,UAAU,eAAe,CAAC,QAAyB;IAC7D,MAAM,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;AACpC,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,QAAyB;IACzD,OAAO,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAA;AAC7D,CAAC;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,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;AACvC,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,QAAyB;IAC5D,MAAM,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;AACnC,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Keypair, PublicKey, Signer, Transaction, TransactionInstruction, TransactionInstructionCtorFields } from '@solana/web3.js';
|
|
1
|
+
import { Keypair, Transaction } from '@solana/web3.js';
|
|
3
2
|
import { BankrunProvider } from 'anchor-bankrun';
|
|
4
|
-
import {
|
|
3
|
+
import type { ExtendedProvider, Wallet } from '@marinade.finance/web3js-1x';
|
|
4
|
+
import type { PublicKey, Signer, TransactionInstruction, TransactionInstructionCtorFields } from '@solana/web3.js';
|
|
5
|
+
import type { BanksTransactionMeta } from 'solana-bankrun';
|
|
5
6
|
export declare class BankrunExtendedProvider extends BankrunProvider implements ExtendedProvider {
|
|
6
7
|
sendIx(signers: (Wallet | Signer | Keypair)[], ...ixes: (Transaction | TransactionInstruction | TransactionInstructionCtorFields)[]): Promise<void>;
|
|
7
8
|
get walletPubkey(): PublicKey;
|
|
@@ -9,3 +10,4 @@ export declare class BankrunExtendedProvider extends BankrunProvider implements
|
|
|
9
10
|
export declare function bankrunTransaction(provider: BankrunProvider): Promise<Transaction>;
|
|
10
11
|
export declare function bankrunExecuteIx(provider: BankrunProvider, signers: (Wallet | Signer | Keypair)[], ...ixes: (Transaction | TransactionInstruction | TransactionInstructionCtorFields)[]): Promise<BanksTransactionMeta>;
|
|
11
12
|
export declare function bankrunExecute(provider: BankrunProvider, signers: (Wallet | Signer | Keypair)[], tx: Transaction): Promise<BanksTransactionMeta>;
|
|
13
|
+
//# sourceMappingURL=extendedProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extendedProvider.d.ts","sourceRoot":"","sources":["../../src/extendedProvider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAA;AAC3E,OAAO,KAAK,EACV,SAAS,EACT,MAAM,EACN,sBAAsB,EACtB,gCAAgC,EACjC,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAE1D,qBAAa,uBACX,SAAQ,eACR,YAAW,gBAAgB;IAErB,MAAM,CACV,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,EACtC,GAAG,IAAI,EAAE,CACL,WAAW,GACX,sBAAsB,GACtB,gCAAgC,CACnC,EAAE,GACF,OAAO,CAAC,IAAI,CAAC;IAMhB,IAAI,YAAY,IAAI,SAAS,CAE5B;CACF;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,WAAW,CAAC,CAUtB;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,EACtC,GAAG,IAAI,EAAE,CACL,WAAW,GACX,sBAAsB,GACtB,gCAAgC,CACnC,EAAE,GACF,OAAO,CAAC,oBAAoB,CAAC,CAI/B;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,EACtC,EAAE,EAAE,WAAW,GACd,OAAO,CAAC,oBAAoB,CAAC,CAc/B"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
3
|
+
exports.BankrunExtendedProvider = void 0;
|
|
4
|
+
exports.bankrunTransaction = bankrunTransaction;
|
|
5
|
+
exports.bankrunExecuteIx = bankrunExecuteIx;
|
|
6
|
+
exports.bankrunExecute = bankrunExecute;
|
|
7
|
+
const web3js_1x_1 = require("@marinade.finance/web3js-1x");
|
|
5
8
|
const web3_js_1 = require("@solana/web3.js");
|
|
6
9
|
const anchor_bankrun_1 = require("anchor-bankrun");
|
|
7
10
|
class BankrunExtendedProvider extends anchor_bankrun_1.BankrunProvider {
|
|
@@ -24,26 +27,24 @@ async function bankrunTransaction(provider) {
|
|
|
24
27
|
lastValidBlockHeight,
|
|
25
28
|
});
|
|
26
29
|
}
|
|
27
|
-
exports.bankrunTransaction = bankrunTransaction;
|
|
28
30
|
async function bankrunExecuteIx(provider, signers, ...ixes) {
|
|
29
31
|
const tx = await bankrunTransaction(provider);
|
|
30
32
|
tx.add(...ixes);
|
|
31
33
|
return await bankrunExecute(provider, signers, tx);
|
|
32
34
|
}
|
|
33
|
-
exports.bankrunExecuteIx = bankrunExecuteIx;
|
|
34
35
|
async function bankrunExecute(provider, signers, tx) {
|
|
35
36
|
for (const signer of signers) {
|
|
36
|
-
if ((0,
|
|
37
|
+
if ((0, web3js_1x_1.instanceOfWallet)(signer)) {
|
|
37
38
|
await signer.signTransaction(tx);
|
|
38
39
|
}
|
|
39
40
|
else if (signer instanceof web3_js_1.Keypair || 'secretKey' in signer) {
|
|
40
41
|
tx.partialSign(signer);
|
|
41
42
|
}
|
|
42
43
|
else {
|
|
43
|
-
throw new Error('bankrunExecute: provided signer parameter is not a signer: ' +
|
|
44
|
+
throw new Error('bankrunExecute: provided signer parameter is not a signer: ' +
|
|
45
|
+
String(signer));
|
|
44
46
|
}
|
|
45
47
|
}
|
|
46
48
|
return await provider.context.banksClient.processTransaction(tx);
|
|
47
49
|
}
|
|
48
|
-
exports.bankrunExecute = bankrunExecute;
|
|
49
50
|
//# sourceMappingURL=extendedProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extendedProvider.js","sourceRoot":"","sources":["../../src/extendedProvider.ts"],"names":[],"mappings":";;;AAqCA,gDAYC;AAED,4CAYC;AAED,wCAkBC;AAjFD,2DAA8D;AAC9D,6CAAsD;AACtD,mDAAgD;AAWhD,MAAa,uBACX,SAAQ,gCAAe;IAGvB,KAAK,CAAC,MAAM,CACV,OAAsC,EACtC,GAAG,IAIA;QAEH,MAAM,EAAE,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAA;QACzC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;QACf,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA;IAC9B,CAAC;CACF;AApBD,0DAoBC;AAEM,KAAK,UAAU,kBAAkB,CACtC,QAAyB;IAEzB,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAA;IAClE,MAAM,oBAAoB,GAAG,CAC3B,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAC7B,CAAA;IACX,OAAO,IAAI,qBAAW,CAAC;QACrB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;QACnC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,aAAa;QACzC,oBAAoB;KACrB,CAAC,CAAA;AACJ,CAAC;AAEM,KAAK,UAAU,gBAAgB,CACpC,QAAyB,EACzB,OAAsC,EACtC,GAAG,IAIA;IAEH,MAAM,EAAE,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IAC7C,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IACf,OAAO,MAAM,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;AACpD,CAAC;AAEM,KAAK,UAAU,cAAc,CAClC,QAAyB,EACzB,OAAsC,EACtC,EAAe;IAEf,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,IAAA,4BAAgB,EAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;QAClC,CAAC;aAAM,IAAI,MAAM,YAAY,iBAAO,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;YAC9D,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QACxB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,6DAA6D;gBAC3D,MAAM,CAAC,MAAM,CAAC,CACjB,CAAA;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAA;AAClE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA"}
|
|
@@ -13,7 +13,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
13
13
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
|
-
exports
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./extendedProvider"), exports);
|
|
18
18
|
__exportStar(require("./testInit"), exports);
|
|
19
19
|
__exportStar(require("./bankrun"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAkC;AAClC,6CAA0B;AAC1B,4CAAyB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { PublicKey } from '@solana/web3.js';
|
|
2
|
+
import { AccountInfoBytes, AddedAccount, AddedProgram } from 'solana-bankrun';
|
|
3
|
+
import 'reflect-metadata';
|
|
4
|
+
import { BankrunExtendedProvider } from './extendedProvider';
|
|
5
|
+
export declare class JsonAccountData {
|
|
6
|
+
lamports: number;
|
|
7
|
+
data: string[];
|
|
8
|
+
owner: PublicKey;
|
|
9
|
+
executable: boolean;
|
|
10
|
+
rentEpoch: number;
|
|
11
|
+
}
|
|
12
|
+
export declare class JsonAccount {
|
|
13
|
+
pubkey: PublicKey;
|
|
14
|
+
account: JsonAccountData;
|
|
15
|
+
}
|
|
16
|
+
export declare function toAccountInfoBytes(jsonAccount: JsonAccount): AccountInfoBytes;
|
|
17
|
+
export declare function loadAccountsFromDirectory(directory: string): AddedAccount[];
|
|
18
|
+
export declare function loadAccountFromJson(jsonPath: string): AddedAccount;
|
|
19
|
+
export type ProgramInputData = {
|
|
20
|
+
name: string;
|
|
21
|
+
path?: string;
|
|
22
|
+
pubkey: PublicKey;
|
|
23
|
+
};
|
|
24
|
+
export declare function loadPrograms(programs: ProgramInputData[]): AddedProgram[];
|
|
25
|
+
export declare function testInit({ accountDirs, accounts, programs, }: {
|
|
26
|
+
accountDirs?: string[];
|
|
27
|
+
accounts?: {
|
|
28
|
+
pubkey?: PublicKey;
|
|
29
|
+
path: string;
|
|
30
|
+
}[];
|
|
31
|
+
programs?: {
|
|
32
|
+
name: string;
|
|
33
|
+
path?: string;
|
|
34
|
+
pubkey: PublicKey;
|
|
35
|
+
}[];
|
|
36
|
+
}): Promise<BankrunExtendedProvider>;
|
|
37
|
+
//# sourceMappingURL=testInit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testInit.d.ts","sourceRoot":"","sources":["../../src/testInit.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,YAAY,EAEb,MAAM,gBAAgB,CAAA;AACvB,OAAO,kBAAkB,CAAA;AAEzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAK5D,qBAAa,eAAe;IAG1B,QAAQ,EAAG,MAAM,CAAA;IAGjB,IAAI,EAAG,MAAM,EAAE,CAAA;IAIf,KAAK,EAAG,SAAS,CAAA;IAIjB,UAAU,EAAG,OAAO,CAAA;IAIpB,SAAS,EAAG,MAAM,CAAA;CACnB;AACD,qBAAa,WAAW;IAGtB,MAAM,EAAG,SAAS,CAAA;IAIlB,OAAO,EAAG,eAAe,CAAA;CAC1B;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,WAAW,GAAG,gBAAgB,CAS7E;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE,CAW3E;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAQlE;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,SAAS,CAAA;CAClB,CAAA;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,YAAY,EAAE,CAmEzE;AAsCD,wBAAsB,QAAQ,CAAC,EAC7B,WAAW,EACX,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,SAAS,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACjD,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,CAAA;KAAE,EAAE,CAAA;CAChE,GAAG,OAAO,CAAC,uBAAuB,CAAC,CA4BnC"}
|
|
@@ -5,18 +5,27 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
8
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.
|
|
15
|
+
exports.JsonAccount = exports.JsonAccountData = void 0;
|
|
16
|
+
exports.toAccountInfoBytes = toAccountInfoBytes;
|
|
17
|
+
exports.loadAccountsFromDirectory = loadAccountsFromDirectory;
|
|
18
|
+
exports.loadAccountFromJson = loadAccountFromJson;
|
|
19
|
+
exports.loadPrograms = loadPrograms;
|
|
20
|
+
exports.testInit = testInit;
|
|
21
|
+
const assert_1 = __importDefault(require("assert"));
|
|
22
|
+
const fs_1 = require("fs");
|
|
23
|
+
const path_1 = require("path");
|
|
10
24
|
const web3_js_1 = require("@solana/web3.js");
|
|
25
|
+
const class_transformer_1 = require("class-transformer");
|
|
11
26
|
const solana_bankrun_1 = require("solana-bankrun");
|
|
12
27
|
require("reflect-metadata");
|
|
13
|
-
const class_transformer_1 = require("class-transformer");
|
|
14
|
-
const fs_1 = require("fs");
|
|
15
|
-
const path_1 = require("path");
|
|
16
28
|
const extendedProvider_1 = require("./extendedProvider");
|
|
17
|
-
// note: VsCode error:
|
|
18
|
-
// https://github.com/microsoft/TypeScript/issues/52396#issuecomment-1409152884
|
|
19
|
-
// https://bobbyhadz.com/blog/typescript-experimental-support-for-decorators-warning#solve-the-error-in-visual-studio-code
|
|
20
29
|
class JsonAccountData {
|
|
21
30
|
lamports;
|
|
22
31
|
data;
|
|
@@ -27,22 +36,27 @@ class JsonAccountData {
|
|
|
27
36
|
exports.JsonAccountData = JsonAccountData;
|
|
28
37
|
__decorate([
|
|
29
38
|
(0, class_transformer_1.Expose)(),
|
|
30
|
-
(0, class_transformer_1.Transform)(({ value }) => Number(value))
|
|
39
|
+
(0, class_transformer_1.Transform)(({ value }) => Number(value)),
|
|
40
|
+
__metadata("design:type", Number)
|
|
31
41
|
], JsonAccountData.prototype, "lamports", void 0);
|
|
32
42
|
__decorate([
|
|
33
|
-
(0, class_transformer_1.Expose)()
|
|
43
|
+
(0, class_transformer_1.Expose)(),
|
|
44
|
+
__metadata("design:type", Array)
|
|
34
45
|
], JsonAccountData.prototype, "data", void 0);
|
|
35
46
|
__decorate([
|
|
36
47
|
(0, class_transformer_1.Expose)(),
|
|
37
|
-
(0, class_transformer_1.Transform)(({ value }) => new web3_js_1.PublicKey(value))
|
|
48
|
+
(0, class_transformer_1.Transform)(({ value }) => new web3_js_1.PublicKey(value)),
|
|
49
|
+
__metadata("design:type", web3_js_1.PublicKey)
|
|
38
50
|
], JsonAccountData.prototype, "owner", void 0);
|
|
39
51
|
__decorate([
|
|
40
52
|
(0, class_transformer_1.Expose)(),
|
|
41
|
-
(0, class_transformer_1.Transform)(({ value }) => Boolean(value))
|
|
53
|
+
(0, class_transformer_1.Transform)(({ value }) => Boolean(value)),
|
|
54
|
+
__metadata("design:type", Boolean)
|
|
42
55
|
], JsonAccountData.prototype, "executable", void 0);
|
|
43
56
|
__decorate([
|
|
44
57
|
(0, class_transformer_1.Expose)(),
|
|
45
|
-
(0, class_transformer_1.Transform)(({ value }) => Number(value))
|
|
58
|
+
(0, class_transformer_1.Transform)(({ value }) => Number(value)),
|
|
59
|
+
__metadata("design:type", Number)
|
|
46
60
|
], JsonAccountData.prototype, "rentEpoch", void 0);
|
|
47
61
|
class JsonAccount {
|
|
48
62
|
pubkey;
|
|
@@ -51,11 +65,13 @@ class JsonAccount {
|
|
|
51
65
|
exports.JsonAccount = JsonAccount;
|
|
52
66
|
__decorate([
|
|
53
67
|
(0, class_transformer_1.Expose)(),
|
|
54
|
-
(0, class_transformer_1.Transform)(({ value }) => new web3_js_1.PublicKey(value))
|
|
68
|
+
(0, class_transformer_1.Transform)(({ value }) => new web3_js_1.PublicKey(value)),
|
|
69
|
+
__metadata("design:type", web3_js_1.PublicKey)
|
|
55
70
|
], JsonAccount.prototype, "pubkey", void 0);
|
|
56
71
|
__decorate([
|
|
57
72
|
(0, class_transformer_1.Expose)(),
|
|
58
|
-
(0, class_transformer_1.Type)(() => JsonAccountData)
|
|
73
|
+
(0, class_transformer_1.Type)(() => JsonAccountData),
|
|
74
|
+
__metadata("design:type", JsonAccountData)
|
|
59
75
|
], JsonAccount.prototype, "account", void 0);
|
|
60
76
|
function toAccountInfoBytes(jsonAccount) {
|
|
61
77
|
const dataField = jsonAccount.account.data;
|
|
@@ -67,7 +83,6 @@ function toAccountInfoBytes(jsonAccount) {
|
|
|
67
83
|
rentEpoch: jsonAccount.account.rentEpoch,
|
|
68
84
|
};
|
|
69
85
|
}
|
|
70
|
-
exports.toAccountInfoBytes = toAccountInfoBytes;
|
|
71
86
|
function loadAccountsFromDirectory(directory) {
|
|
72
87
|
const accounts = [];
|
|
73
88
|
for (const jsonFile of (0, fs_1.readdirSync)(directory, {
|
|
@@ -80,7 +95,6 @@ function loadAccountsFromDirectory(directory) {
|
|
|
80
95
|
}
|
|
81
96
|
return accounts;
|
|
82
97
|
}
|
|
83
|
-
exports.loadAccountsFromDirectory = loadAccountsFromDirectory;
|
|
84
98
|
function loadAccountFromJson(jsonPath) {
|
|
85
99
|
const fileBuffer = (0, fs_1.readFileSync)(jsonPath);
|
|
86
100
|
const parsedData = JSON.parse(fileBuffer.toString());
|
|
@@ -90,12 +104,10 @@ function loadAccountFromJson(jsonPath) {
|
|
|
90
104
|
info: toAccountInfoBytes(jsonAccount),
|
|
91
105
|
};
|
|
92
106
|
}
|
|
93
|
-
exports.loadAccountFromJson = loadAccountFromJson;
|
|
94
107
|
function loadPrograms(programs) {
|
|
95
108
|
const addedPrograms = [];
|
|
96
109
|
let hookDeleteDir = false;
|
|
97
110
|
const hookDeleteProgramNames = [];
|
|
98
|
-
// programs that should be loaded just by name based on the rules of the solana-test-program
|
|
99
111
|
programs
|
|
100
112
|
.filter(p => p.path === undefined)
|
|
101
113
|
.forEach(p => {
|
|
@@ -104,26 +116,23 @@ function loadPrograms(programs) {
|
|
|
104
116
|
programId: p.pubkey,
|
|
105
117
|
});
|
|
106
118
|
});
|
|
107
|
-
// programs that provided the path would be copied to the fixtures directory where
|
|
108
|
-
// the solana-test-program looks for the program data
|
|
109
|
-
// see: https://github.com/solana-labs/solana/blob/v1.18.14/program-test/src/lib.rs#L428
|
|
110
119
|
const fixturesPath = (0, path_1.join)(process.cwd(), 'tests', 'fixtures');
|
|
111
120
|
if (!(0, fs_1.existsSync)(fixturesPath)) {
|
|
112
121
|
(0, fs_1.mkdirSync)(fixturesPath, { recursive: true });
|
|
113
122
|
hookDeleteDir = true;
|
|
114
123
|
}
|
|
115
|
-
for (const { pubkey, path, name } of programs.filter(p => p.path !== undefined)) {
|
|
116
|
-
|
|
124
|
+
for (const { pubkey, path: programPath, name } of programs.filter(p => p.path !== undefined)) {
|
|
125
|
+
(0, assert_1.default)(programPath !== undefined);
|
|
117
126
|
if (!(0, fs_1.existsSync)(programPath)) {
|
|
118
127
|
console.error(`bankrun startup: program ${pubkey.toBase58()} at path ${programPath} does not exist cannot be loaded`);
|
|
119
128
|
continue;
|
|
120
129
|
}
|
|
121
130
|
const fixturesProgramSoPath = (0, path_1.join)(fixturesPath, `${name}.so`);
|
|
122
131
|
if ((0, fs_1.existsSync)(fixturesProgramSoPath)) {
|
|
123
|
-
console.log(`bankrun startup: skipping to upload the program ${pubkey.toBase58()} from path ${
|
|
132
|
+
console.log(`bankrun startup: skipping to upload the program ${pubkey.toBase58()} from path ${programPath} to ${fixturesProgramSoPath} as it already exists`);
|
|
124
133
|
}
|
|
125
134
|
else {
|
|
126
|
-
console.debug('bankrun startup: copying program',
|
|
135
|
+
console.debug('bankrun startup: copying program', programPath, 'to', fixturesProgramSoPath);
|
|
127
136
|
(0, fs_1.cpSync)(programPath, fixturesProgramSoPath);
|
|
128
137
|
hookDeleteProgramNames.push(fixturesProgramSoPath);
|
|
129
138
|
}
|
|
@@ -132,7 +141,6 @@ function loadPrograms(programs) {
|
|
|
132
141
|
programId: pubkey,
|
|
133
142
|
});
|
|
134
143
|
}
|
|
135
|
-
// TODO: exit hooks somehow does not work in jest
|
|
136
144
|
registerCleanup(() => {
|
|
137
145
|
hookDeleteProgramNames.forEach(p => {
|
|
138
146
|
console.log('Deleting program file', p);
|
|
@@ -147,53 +155,17 @@ function loadPrograms(programs) {
|
|
|
147
155
|
});
|
|
148
156
|
return addedPrograms;
|
|
149
157
|
}
|
|
150
|
-
|
|
151
|
-
function registerCleanup(
|
|
152
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
153
|
-
exitHandler) {
|
|
154
|
-
// do something when app is closing
|
|
158
|
+
function registerCleanup(exitHandler) {
|
|
155
159
|
process.on('exit', exitHandler.bind(null, { cleanup: true }));
|
|
156
160
|
process.on('beforeExit', exitHandler.bind(null, { cleanup: true }));
|
|
157
161
|
process.on('disconnect', exitHandler.bind(null, { cleanup: true }));
|
|
158
162
|
process.on('terminate', exitHandler.bind(null, { cleanup: true }));
|
|
159
|
-
// catches ctrl+c event
|
|
160
163
|
process.on('SIGINT', exitHandler.bind(null, { exit: true }));
|
|
161
164
|
process.on('SIGQUIT', exitHandler.bind(null, { exit: true }));
|
|
162
|
-
// catches "kill pid" (for example: nodemon restart)
|
|
163
165
|
process.on('SIGUSR1', exitHandler.bind(null, { exit: true }));
|
|
164
166
|
process.on('SIGUSR2', exitHandler.bind(null, { exit: true }));
|
|
165
|
-
// catches uncaught exceptions
|
|
166
167
|
process.on('uncaughtException', exitHandler.bind(null, { exit: true }));
|
|
167
168
|
}
|
|
168
|
-
/*
|
|
169
|
-
* This is a bit of assumption. The base data is taken from `solana rent` calls.
|
|
170
|
-
* Cannot find the real code of the getMinimumBalanceForRentExemption function.
|
|
171
|
-
*
|
|
172
|
-
* solana rent -um 0
|
|
173
|
-
* > Rent-exempt minimum: 0.00089088 SOL
|
|
174
|
-
* solana rent -um 1
|
|
175
|
-
* > Rent-exempt minimum: 0.00089784 SOL
|
|
176
|
-
*/
|
|
177
|
-
function calculateRentExemption(dataSize) {
|
|
178
|
-
const basePaymentLamports = 890880;
|
|
179
|
-
const perByteLamports = 6960;
|
|
180
|
-
return basePaymentLamports + perByteLamports * dataSize;
|
|
181
|
-
}
|
|
182
|
-
exports.calculateRentExemption = calculateRentExemption;
|
|
183
|
-
/**
|
|
184
|
-
* Initializing the test with bankrun.
|
|
185
|
-
*
|
|
186
|
-
* @param accountDirs - expecting directory paths with '.json' files with account data within
|
|
187
|
-
* @param accounts - expecting JSON files provided with account data (one may override the pubkey of the account)
|
|
188
|
-
* @param programs - expecting the program data to be loaded, the program data is taken based on the provided name which has to be aligned with filename with suffix '.so'
|
|
189
|
-
* this came from how the solana-test-program loads the program data, on top of that it's possible to define path
|
|
190
|
-
* and some copy operation is done further.
|
|
191
|
-
* The 'name' and 'pubkey' is required as it's the way how the program is loaded in solana-test-program.
|
|
192
|
-
* The 'pubkey' is the pubkey the program will be registered at.
|
|
193
|
-
* The 'name' is used as target filename that is searched or 'path' copied to.
|
|
194
|
-
* The 'path' is optional and when provided the file is copied to place where the solana-test-program looks for the program data.
|
|
195
|
-
* see: https://github.com/solana-labs/solana/blob/v1.18.14/program-test/src/lib.rs#L428
|
|
196
|
-
*/
|
|
197
169
|
async function testInit({ accountDirs, accounts, programs, }) {
|
|
198
170
|
let additionalAccounts = [];
|
|
199
171
|
let additionalPrograms = [];
|
|
@@ -204,7 +176,6 @@ async function testInit({ accountDirs, accounts, programs, }) {
|
|
|
204
176
|
additionalAccounts.push(...accounts.flatMap(acc => {
|
|
205
177
|
const accountData = loadAccountFromJson(acc.path);
|
|
206
178
|
if (acc.pubkey !== undefined) {
|
|
207
|
-
// rewriting the address when passed in
|
|
208
179
|
accountData.address = acc.pubkey;
|
|
209
180
|
}
|
|
210
181
|
return accountData;
|
|
@@ -216,5 +187,4 @@ async function testInit({ accountDirs, accounts, programs, }) {
|
|
|
216
187
|
const context = await (0, solana_bankrun_1.startAnchor)('./', additionalPrograms, additionalAccounts);
|
|
217
188
|
return new extendedProvider_1.BankrunExtendedProvider(context);
|
|
218
189
|
}
|
|
219
|
-
exports.testInit = testInit;
|
|
220
190
|
//# sourceMappingURL=testInit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testInit.js","sourceRoot":"","sources":["../../src/testInit.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,44 +1,47 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@marinade.finance/bankrun-utils",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Bankrun library utilities",
|
|
3
|
+
"version": "4.0.0",
|
|
4
|
+
"description": "Bankrun test library utilities",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
|
-
"url": "git@github.com:marinade-finance/
|
|
7
|
+
"url": "git@github.com:marinade-finance/typescript-common.git"
|
|
8
8
|
},
|
|
9
|
+
"main": "dist/src/index.js",
|
|
10
|
+
"types": "dist/src/index.d.ts",
|
|
9
11
|
"publishConfig": {
|
|
10
12
|
"access": "public"
|
|
11
13
|
},
|
|
12
14
|
"keywords": [
|
|
13
15
|
"solana",
|
|
14
16
|
"marinade.finance",
|
|
17
|
+
"staking",
|
|
15
18
|
"blockchain",
|
|
16
|
-
"
|
|
19
|
+
"testing"
|
|
17
20
|
],
|
|
18
|
-
"author": "Marinade Finance",
|
|
19
|
-
"license": "ISC",
|
|
20
|
-
"main": "src/index",
|
|
21
21
|
"files": [
|
|
22
|
-
"
|
|
22
|
+
"dist/",
|
|
23
|
+
"!dist/src/__tests__",
|
|
24
|
+
"README.md"
|
|
23
25
|
],
|
|
24
26
|
"devDependencies": {
|
|
25
|
-
"@solana/web3.js": "1.98.
|
|
26
|
-
"@marinade.finance/web3js-common": "2.4.15",
|
|
27
|
+
"@solana/web3.js": "1.98.4",
|
|
27
28
|
"solana-bankrun": "0.2.0",
|
|
28
29
|
"anchor-bankrun": "0.2.0",
|
|
29
|
-
"class-transformer": "0.5.1"
|
|
30
|
+
"class-transformer": "0.5.1",
|
|
31
|
+
"@marinade.finance/web3js-1x": "4.0.0"
|
|
30
32
|
},
|
|
31
33
|
"peerDependencies": {
|
|
32
|
-
"@solana/web3.js": "1.98.
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
34
|
+
"@solana/web3.js": "^1.98.4",
|
|
35
|
+
"solana-bankrun": "^0.2.0",
|
|
36
|
+
"anchor-bankrun": "^0.2.0",
|
|
37
|
+
"class-transformer": "^0.5.1",
|
|
38
|
+
"@marinade.finance/web3js-1x": "4.0.0"
|
|
37
39
|
},
|
|
38
40
|
"engines": {
|
|
39
|
-
"node": ">=16
|
|
41
|
+
"node": ">=16"
|
|
40
42
|
},
|
|
41
43
|
"scripts": {
|
|
42
|
-
"
|
|
44
|
+
"build": "tsc --build",
|
|
45
|
+
"test": "pnpm jest --config ../../jest.config.js --testPathPattern=\"$(pwd)\""
|
|
43
46
|
}
|
|
44
47
|
}
|
package/src/bankrun.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;AACvC,CAAC;AAND,wCAMC;AAEM,KAAK,UAAU,cAAc,CAAC,QAAyB;IAC5D,MAAM,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;AACnC,CAAC;AAFD,wCAEC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extendedProvider.js","sourceRoot":"","sources":["../../../../../packages/lib/bankrun-utils/src/extendedProvider.ts"],"names":[],"mappings":";;;AAAA,mEAIwC;AACxC,6CAOwB;AACxB,mDAAgD;AAGhD,MAAa,uBACX,SAAQ,gCAAe;IAGvB,KAAK,CAAC,MAAM,CACV,OAAsC,EACtC,GAAG,IAIA;QAEH,MAAM,EAAE,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAA;QACzC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;QACf,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA;IAC9B,CAAC;CACF;AApBD,0DAoBC;AAEM,KAAK,UAAU,kBAAkB,CACtC,QAAyB;IAEzB,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAA;IAClE,MAAM,oBAAoB,GAAG,CAC3B,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAC7B,CAAA;IACX,OAAO,IAAI,qBAAW,CAAC;QACrB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;QACnC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,aAAa;QACzC,oBAAoB;KACrB,CAAC,CAAA;AACJ,CAAC;AAZD,gDAYC;AAEM,KAAK,UAAU,gBAAgB,CACpC,QAAyB,EACzB,OAAsC,EACtC,GAAG,IAIA;IAEH,MAAM,EAAE,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IAC7C,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IACf,OAAO,MAAM,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;AACpD,CAAC;AAZD,4CAYC;AAEM,KAAK,UAAU,cAAc,CAClC,QAAyB,EACzB,OAAsC,EACtC,EAAe;IAEf,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,IAAA,gCAAgB,EAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;QAClC,CAAC;aAAM,IAAI,MAAM,YAAY,iBAAO,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;YAC9D,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QACxB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,6DAA6D,GAAG,MAAM,CACvE,CAAA;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAA;AAClE,CAAC;AAjBD,wCAiBC"}
|
package/src/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/lib/bankrun-utils/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAkC;AAClC,6CAA0B;AAC1B,4CAAyB"}
|
package/src/testInit.d.ts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { PublicKey } from '@solana/web3.js';
|
|
2
|
-
import { AccountInfoBytes, AddedAccount, AddedProgram } from 'solana-bankrun';
|
|
3
|
-
import 'reflect-metadata';
|
|
4
|
-
import { BankrunExtendedProvider } from './extendedProvider';
|
|
5
|
-
export declare class JsonAccountData {
|
|
6
|
-
lamports: number;
|
|
7
|
-
data: string[];
|
|
8
|
-
owner: PublicKey;
|
|
9
|
-
executable: boolean;
|
|
10
|
-
rentEpoch: number;
|
|
11
|
-
}
|
|
12
|
-
export declare class JsonAccount {
|
|
13
|
-
pubkey: PublicKey;
|
|
14
|
-
account: JsonAccountData;
|
|
15
|
-
}
|
|
16
|
-
export declare function toAccountInfoBytes(jsonAccount: JsonAccount): AccountInfoBytes;
|
|
17
|
-
export declare function loadAccountsFromDirectory(directory: string): AddedAccount[];
|
|
18
|
-
export declare function loadAccountFromJson(jsonPath: string): AddedAccount;
|
|
19
|
-
export type ProgramInputData = {
|
|
20
|
-
name: string;
|
|
21
|
-
path?: string;
|
|
22
|
-
pubkey: PublicKey;
|
|
23
|
-
};
|
|
24
|
-
export declare function loadPrograms(programs: ProgramInputData[]): AddedProgram[];
|
|
25
|
-
export declare function calculateRentExemption(dataSize: number): number;
|
|
26
|
-
/**
|
|
27
|
-
* Initializing the test with bankrun.
|
|
28
|
-
*
|
|
29
|
-
* @param accountDirs - expecting directory paths with '.json' files with account data within
|
|
30
|
-
* @param accounts - expecting JSON files provided with account data (one may override the pubkey of the account)
|
|
31
|
-
* @param programs - expecting the program data to be loaded, the program data is taken based on the provided name which has to be aligned with filename with suffix '.so'
|
|
32
|
-
* this came from how the solana-test-program loads the program data, on top of that it's possible to define path
|
|
33
|
-
* and some copy operation is done further.
|
|
34
|
-
* The 'name' and 'pubkey' is required as it's the way how the program is loaded in solana-test-program.
|
|
35
|
-
* The 'pubkey' is the pubkey the program will be registered at.
|
|
36
|
-
* The 'name' is used as target filename that is searched or 'path' copied to.
|
|
37
|
-
* The 'path' is optional and when provided the file is copied to place where the solana-test-program looks for the program data.
|
|
38
|
-
* see: https://github.com/solana-labs/solana/blob/v1.18.14/program-test/src/lib.rs#L428
|
|
39
|
-
*/
|
|
40
|
-
export declare function testInit({ accountDirs, accounts, programs, }: {
|
|
41
|
-
accountDirs?: string[];
|
|
42
|
-
accounts?: {
|
|
43
|
-
pubkey?: PublicKey;
|
|
44
|
-
path: string;
|
|
45
|
-
}[];
|
|
46
|
-
programs?: {
|
|
47
|
-
name: string;
|
|
48
|
-
path?: string;
|
|
49
|
-
pubkey: PublicKey;
|
|
50
|
-
}[];
|
|
51
|
-
}): Promise<BankrunExtendedProvider>;
|
package/src/testInit.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testInit.js","sourceRoot":"","sources":["../../../../../packages/lib/bankrun-utils/src/testInit.ts"],"names":[],"mappings":"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"}
|