Skip to content

Commit c7c2865

Browse files
authored
update solitarc config so solita has right deserializers, add solita as dev dep, yarn install stuff, add custom deserializers so we can adjust for 8 bytes discriminator, run build in nested packge -- update dist files (#9)
1 parent 6d267a4 commit c7c2865

13 files changed

+991
-19
lines changed

.solitarc.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
const path = require('path');
2-
const programDir = path.join(__dirname, 'program');
2+
const programDir = path.join(__dirname, 'stake_deposit_interceptor');
33
const idlDir = path.join(__dirname, 'package', 'idl');
44
const sdkDir = path.join(__dirname, 'package', 'src', 'generated');
55
const binaryInstallDir = path.join(__dirname, '.crates');
6+
const serializerDir = path.join(__dirname, 'package', 'src', 'custom');
67

78
module.exports = {
89
idlGenerator: 'shank',
@@ -16,5 +17,9 @@ module.exports = {
1617
typeAliases: {
1718
PodU64: "u64",
1819
PodU32: "u32",
20+
},
21+
serializers: {
22+
DepositReceipt: path.join(serializerDir, 'deposit-receipt-serializer.ts'),
23+
StakePoolDepositStakeAuthority: path.join(serializerDir, 'stake-pool-deposit-stake-authority-serializer.ts'),
1924
}
2025
};

package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2+
"private": true,
23
"name": "@jito-foundation/stake-deposit-interceptor-sdk",
34
"version": "1.1.1",
45
"main": "dist/index.js",
@@ -9,9 +10,7 @@
910
],
1011
"license": "MIT",
1112
"scripts": {
12-
"clean": "rm -rf dist",
13-
"build": "tsc",
14-
"prepare": "yarn clean && yarn build"
13+
"clean": "rm -rf dist"
1514
},
1615
"publishConfig": {
1716
"access": "public"
@@ -24,7 +23,8 @@
2423
"@solana/web3.js": "^1.98.0"
2524
},
2625
"devDependencies": {
27-
"typescript": "^5.0.0",
28-
"@types/node": "^20.0.0"
26+
"@metaplex-foundation/solita": "^0.20.1",
27+
"@types/node": "^20.0.0",
28+
"typescript": "^5.0.0"
2929
}
30-
}
30+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { DepositReceipt } from '../generated/accounts/DepositReceipt';
2+
export declare function deserialize(buf: Buffer, offset?: number): [DepositReceipt, number];
3+
export declare function serialize(instance: DepositReceipt): [Buffer, number];
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
"use strict";
2+
Object.defineProperty(exports, "__esModule", { value: true });
3+
exports.deserialize = deserialize;
4+
exports.serialize = serialize;
5+
const DepositReceipt_1 = require("../generated/accounts/DepositReceipt");
6+
function deserialize(buf, offset = 0) {
7+
return DepositReceipt_1.depositReceiptBeet.deserialize(buf, offset + 8);
8+
}
9+
function serialize(instance) {
10+
return DepositReceipt_1.depositReceiptBeet.serialize(instance);
11+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { StakePoolDepositStakeAuthority } from '../generated/accounts/StakePoolDepositStakeAuthority';
2+
export declare function deserialize(buf: Buffer, offset?: number): [StakePoolDepositStakeAuthority, number];
3+
export declare function serialize(instance: StakePoolDepositStakeAuthority): [Buffer, number];
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
"use strict";
2+
Object.defineProperty(exports, "__esModule", { value: true });
3+
exports.deserialize = deserialize;
4+
exports.serialize = serialize;
5+
const StakePoolDepositStakeAuthority_1 = require("../generated/accounts/StakePoolDepositStakeAuthority");
6+
function deserialize(buf, offset = 0) {
7+
return StakePoolDepositStakeAuthority_1.stakePoolDepositStakeAuthorityBeet.deserialize(buf, offset + 8);
8+
}
9+
function serialize(instance) {
10+
return StakePoolDepositStakeAuthority_1.stakePoolDepositStakeAuthorityBeet.serialize(instance);
11+
}

package/dist/generated/accounts/DepositReceipt.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ exports.depositReceiptBeet = exports.DepositReceipt = void 0;
4343
const web3 = __importStar(require("@solana/web3.js"));
4444
const beet = __importStar(require("@metaplex-foundation/beet"));
4545
const beetSolana = __importStar(require("@metaplex-foundation/beet-solana"));
46+
const customSerializer = __importStar(require("../../custom/deposit-receipt-serializer"));
4647
/**
4748
* Holds the data for the {@link DepositReceipt} Account and provides de/serialization
4849
* functionality for that data
@@ -103,14 +104,14 @@ class DepositReceipt {
103104
* @returns a tuple of the account data and the offset up to which the buffer was read to obtain it.
104105
*/
105106
static deserialize(buf, offset = 0) {
106-
return exports.depositReceiptBeet.deserialize(buf, offset);
107+
return resolvedDeserialize(buf, offset);
107108
}
108109
/**
109110
* Serializes the {@link DepositReceipt} into a Buffer.
110111
* @returns a tuple of the created Buffer and the offset up to which the buffer was written to store it.
111112
*/
112113
serialize() {
113-
return exports.depositReceiptBeet.serialize(this);
114+
return resolvedSerialize(this);
114115
}
115116
/**
116117
* Returns the byteSize of a {@link Buffer} holding the serialized data of
@@ -171,3 +172,10 @@ exports.depositReceiptBeet = new beet.BeetStruct([
171172
['bumpSeed', beet.u8],
172173
['reserved', beet.uniformFixedSizeArray(beet.u8, 256)],
173174
], DepositReceipt.fromArgs, 'DepositReceipt');
175+
const serializer = customSerializer;
176+
const resolvedSerialize = typeof serializer.serialize === 'function'
177+
? serializer.serialize.bind(serializer)
178+
: exports.depositReceiptBeet.serialize.bind(exports.depositReceiptBeet);
179+
const resolvedDeserialize = typeof serializer.deserialize === 'function'
180+
? serializer.deserialize.bind(serializer)
181+
: exports.depositReceiptBeet.deserialize.bind(exports.depositReceiptBeet);

package/dist/generated/accounts/StakePoolDepositStakeAuthority.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ exports.stakePoolDepositStakeAuthorityBeet = exports.StakePoolDepositStakeAuthor
4343
const web3 = __importStar(require("@solana/web3.js"));
4444
const beet = __importStar(require("@metaplex-foundation/beet"));
4545
const beetSolana = __importStar(require("@metaplex-foundation/beet-solana"));
46+
const customSerializer = __importStar(require("../../custom/stake-pool-deposit-stake-authority-serializer"));
4647
/**
4748
* Holds the data for the {@link StakePoolDepositStakeAuthority} Account and provides de/serialization
4849
* functionality for that data
@@ -104,14 +105,14 @@ class StakePoolDepositStakeAuthority {
104105
* @returns a tuple of the account data and the offset up to which the buffer was read to obtain it.
105106
*/
106107
static deserialize(buf, offset = 0) {
107-
return exports.stakePoolDepositStakeAuthorityBeet.deserialize(buf, offset);
108+
return resolvedDeserialize(buf, offset);
108109
}
109110
/**
110111
* Serializes the {@link StakePoolDepositStakeAuthority} into a Buffer.
111112
* @returns a tuple of the created Buffer and the offset up to which the buffer was written to store it.
112113
*/
113114
serialize() {
114-
return exports.stakePoolDepositStakeAuthorityBeet.serialize(this);
115+
return resolvedSerialize(this);
115116
}
116117
/**
117118
* Returns the byteSize of a {@link Buffer} holding the serialized data of
@@ -174,3 +175,10 @@ exports.stakePoolDepositStakeAuthorityBeet = new beet.BeetStruct([
174175
['bumpSeed', beet.u8],
175176
['reserved', beet.uniformFixedSizeArray(beet.u8, 256)],
176177
], StakePoolDepositStakeAuthority.fromArgs, 'StakePoolDepositStakeAuthority');
178+
const serializer = customSerializer;
179+
const resolvedSerialize = typeof serializer.serialize === 'function'
180+
? serializer.serialize.bind(serializer)
181+
: exports.stakePoolDepositStakeAuthorityBeet.serialize.bind(exports.stakePoolDepositStakeAuthorityBeet);
182+
const resolvedDeserialize = typeof serializer.deserialize === 'function'
183+
? serializer.deserialize.bind(serializer)
184+
: exports.stakePoolDepositStakeAuthorityBeet.deserialize.bind(exports.stakePoolDepositStakeAuthorityBeet);
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { DepositReceipt, depositReceiptBeet } from '../generated/accounts/DepositReceipt'
2+
3+
export function deserialize(buf: Buffer, offset = 0): [DepositReceipt, number] {
4+
return depositReceiptBeet.deserialize(buf, offset + 8)
5+
}
6+
7+
export function serialize(instance: DepositReceipt): [Buffer, number] {
8+
return depositReceiptBeet.serialize(instance)
9+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { StakePoolDepositStakeAuthority, stakePoolDepositStakeAuthorityBeet } from '../generated/accounts/StakePoolDepositStakeAuthority'
2+
3+
export function deserialize(buf: Buffer, offset = 0): [StakePoolDepositStakeAuthority, number] {
4+
return stakePoolDepositStakeAuthorityBeet.deserialize(buf, offset + 8)
5+
}
6+
7+
export function serialize(instance: StakePoolDepositStakeAuthority): [Buffer, number] {
8+
return stakePoolDepositStakeAuthorityBeet.serialize(instance)
9+
}

0 commit comments

Comments
 (0)