Skip to content
This repository was archived by the owner on Mar 11, 2025. It is now read-only.

Commit ba0c0e0

Browse files
authored
lending: js fixes (#2012)
1 parent fe57f29 commit ba0c0e0

22 files changed

+76
-61
lines changed

token-lending/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ Please note that only the lending program deployed to devnet is currently operat
1616
| Testnet | [`6TvznH3B2e3p2mbhufNBpgSrLx6UkgvxtVQvopEZ2kuH`](https://explorer.solana.com/address/6TvznH3B2e3p2mbhufNBpgSrLx6UkgvxtVQvopEZ2kuH?cluster=testnet) |
1717
| Devnet | [`6TvznH3B2e3p2mbhufNBpgSrLx6UkgvxtVQvopEZ2kuH`](https://explorer.solana.com/address/6TvznH3B2e3p2mbhufNBpgSrLx6UkgvxtVQvopEZ2kuH?cluster=devnet) |
1818

19+
### Documentation
20+
21+
- [CLI docs](https://github.com/solana-labs/solana-program-library/tree/master/token-lending/cli)
22+
- [Client library docs](https://solana-labs.github.io/solana-program-library/token-lending/)
23+
1924
### Deploy a lending program (optional)
2025

2126
This is optional! You can skip these steps and use the [Token Lending CLI](./cli/README.md) with one of the on-chain programs listed above to create a lending market and add reserves to it.

token-lending/js/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@solana/spl-token-lending",
3-
"version": "0.3.0",
3+
"version": "0.3.3",
44
"description": "SPL Token Lending JavaScript API",
55
"license": "MIT",
66
"author": "Solana Maintainers <[email protected]>",
@@ -17,12 +17,12 @@
1717
},
1818
"main": "lib/index.cjs.js",
1919
"module": "lib/index.esm.js",
20-
"types": "lib/index.d.ts",
20+
"types": "lib/src/index.d.ts",
2121
"files": [
2222
"lib"
2323
],
2424
"scripts": {
25-
"build": "rollup -c",
25+
"build": "rm -rf lib/* && tsc && rollup -c && rm lib/rollup.config.d.ts",
2626
"deploy": "yarn docs && gh-pages -d docs -e token-lending",
2727
"docs": "rm -rf docs/* && typedoc",
2828
"lint": "eslint . --ext .ts && prettier --check '**/*.{ts,js,json}'",

token-lending/js/rollup.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@ export default {
1313
watch: {
1414
include: 'src/**',
1515
},
16-
plugins: [typescript({ exclude: ['rollup.config.ts'] }), commonjs(), nodeResolve()],
16+
plugins: [typescript(), commonjs(), nodeResolve()],
1717
};

token-lending/js/src/instructions/borrowObligationLiquidity.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ interface Data {
1010
liquidityAmount: bigint;
1111
}
1212

13+
const DataLayout = struct<Data>([u8('instruction'), u64('liquidityAmount')]);
14+
1315
export const borrowObligationLiquidityInstruction = (
1416
liquidityAmount: number | bigint,
1517
sourceLiquidity: PublicKey,
@@ -22,10 +24,8 @@ export const borrowObligationLiquidityInstruction = (
2224
obligationOwner: PublicKey,
2325
hostFeeReceiver?: PublicKey
2426
): TransactionInstruction => {
25-
const dataLayout = struct<Data>([u8('instruction'), u64('liquidityAmount')]);
26-
27-
const data = Buffer.alloc(dataLayout.span);
28-
dataLayout.encode(
27+
const data = Buffer.alloc(DataLayout.span);
28+
DataLayout.encode(
2929
{
3030
instruction: LendingInstruction.BorrowObligationLiquidity,
3131
liquidityAmount: BigInt(liquidityAmount),

token-lending/js/src/instructions/depositObligationCollateral.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ interface Data {
1010
collateralAmount: bigint;
1111
}
1212

13+
const DataLayout = struct<Data>([u8('instruction'), u64('collateralAmount')]);
14+
1315
export const depositObligationCollateralInstruction = (
1416
collateralAmount: number | bigint,
1517
sourceCollateral: PublicKey,
@@ -21,10 +23,8 @@ export const depositObligationCollateralInstruction = (
2123
obligationOwner: PublicKey,
2224
transferAuthority: PublicKey
2325
): TransactionInstruction => {
24-
const dataLayout = struct<Data>([u8('instruction'), u64('collateralAmount')]);
25-
26-
const data = Buffer.alloc(dataLayout.span);
27-
dataLayout.encode(
26+
const data = Buffer.alloc(DataLayout.span);
27+
DataLayout.encode(
2828
{
2929
instruction: LendingInstruction.DepositObligationCollateral,
3030
collateralAmount: BigInt(collateralAmount),

token-lending/js/src/instructions/depositReserveLiquidity.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ interface Data {
1010
liquidityAmount: bigint;
1111
}
1212

13+
const DataLayout = struct<Data>([u8('instruction'), u64('liquidityAmount')]);
14+
1315
export const depositReserveLiquidityInstruction = (
1416
liquidityAmount: number | bigint,
1517
sourceLiquidity: PublicKey,
@@ -21,10 +23,8 @@ export const depositReserveLiquidityInstruction = (
2123
lendingMarketAuthority: PublicKey,
2224
transferAuthority: PublicKey
2325
): TransactionInstruction => {
24-
const dataLayout = struct<Data>([u8('instruction'), u64('liquidityAmount')]);
25-
26-
const data = Buffer.alloc(dataLayout.span);
27-
dataLayout.encode(
26+
const data = Buffer.alloc(DataLayout.span);
27+
DataLayout.encode(
2828
{
2929
instruction: LendingInstruction.DepositReserveLiquidity,
3030
liquidityAmount: BigInt(liquidityAmount),

token-lending/js/src/instructions/initLendingMarket.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ interface Data {
1111
quoteCurrency: Buffer;
1212
}
1313

14+
const DataLayout = struct<Data>([u8('instruction'), publicKey('owner'), blob(32, 'quoteCurrency')]);
15+
1416
export const initLendingMarketInstruction = (
1517
owner: PublicKey,
1618
quoteCurrency: Buffer,
1719
lendingMarket: PublicKey
1820
): TransactionInstruction => {
19-
const dataLayout = struct<Data>([u8('instruction'), publicKey('owner'), blob(32, 'quoteCurrency')]);
20-
21-
const data = Buffer.alloc(dataLayout.span);
22-
dataLayout.encode(
21+
const data = Buffer.alloc(DataLayout.span);
22+
DataLayout.encode(
2323
{
2424
instruction: LendingInstruction.InitLendingMarket,
2525
owner,

token-lending/js/src/instructions/initObligation.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ interface Data {
88
instruction: number;
99
}
1010

11+
const DataLayout = struct<Data>([u8('instruction')]);
12+
1113
export const initObligationInstruction = (
1214
obligation: PublicKey,
1315
lendingMarket: PublicKey,
1416
obligationOwner: PublicKey
1517
): TransactionInstruction => {
16-
const dataLayout = struct<Data>([u8('instruction')]);
17-
18-
const data = Buffer.alloc(dataLayout.span);
19-
dataLayout.encode({ instruction: LendingInstruction.InitObligation }, data);
18+
const data = Buffer.alloc(DataLayout.span);
19+
DataLayout.encode({ instruction: LendingInstruction.InitObligation }, data);
2020

2121
const keys = [
2222
{ pubkey: obligation, isSigner: false, isWritable: true },

token-lending/js/src/instructions/initReserve.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ interface Data {
1212
config: ReserveConfig;
1313
}
1414

15+
const DataLayout = struct<Data>([u8('instruction'), u64('liquidityAmount'), ReserveConfigLayout]);
16+
1517
export const initReserveInstruction = (
1618
liquidityAmount: number | bigint,
1719
config: ReserveConfig,
@@ -30,10 +32,8 @@ export const initReserveInstruction = (
3032
lendingMarketOwner: PublicKey,
3133
transferAuthority: PublicKey
3234
): TransactionInstruction => {
33-
const dataLayout = struct<Data>([u8('instruction'), u64('liquidityAmount'), ReserveConfigLayout]);
34-
35-
const data = Buffer.alloc(dataLayout.span);
36-
dataLayout.encode(
35+
const data = Buffer.alloc(DataLayout.span);
36+
DataLayout.encode(
3737
{
3838
instruction: LendingInstruction.InitReserve,
3939
liquidityAmount: BigInt(liquidityAmount),

token-lending/js/src/instructions/liquidateObligation.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ interface Data {
1010
liquidityAmount: bigint;
1111
}
1212

13+
const DataLayout = struct<Data>([u8('instruction'), u64('liquidityAmount')]);
14+
1315
export const liquidateObligationInstruction = (
1416
liquidityAmount: number | bigint,
1517
sourceLiquidity: PublicKey,
@@ -23,10 +25,8 @@ export const liquidateObligationInstruction = (
2325
lendingMarketAuthority: PublicKey,
2426
transferAuthority: PublicKey
2527
): TransactionInstruction => {
26-
const dataLayout = struct<Data>([u8('instruction'), u64('liquidityAmount')]);
27-
28-
const data = Buffer.alloc(dataLayout.span);
29-
dataLayout.encode(
28+
const data = Buffer.alloc(DataLayout.span);
29+
DataLayout.encode(
3030
{
3131
instruction: LendingInstruction.LiquidateObligation,
3232
liquidityAmount: BigInt(liquidityAmount),

0 commit comments

Comments
 (0)