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

Commit 463eefb

Browse files
committed
restore timestamps as bigints
1 parent 1a914b3 commit 463eefb

File tree

3 files changed

+13
-16
lines changed

3 files changed

+13
-16
lines changed

token/js/src/actions/amountToUiAmount.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -164,8 +164,8 @@ export async function amountToUiAmountForMintWithoutSimulation(
164164
amount,
165165
mintInfo.decimals,
166166
timestamp,
167-
interestBearingMintConfigState.lastUpdateTimestamp,
168-
interestBearingMintConfigState.initializationTimestamp,
167+
Number(interestBearingMintConfigState.lastUpdateTimestamp),
168+
Number(interestBearingMintConfigState.initializationTimestamp),
169169
interestBearingMintConfigState.preUpdateAverageRate,
170170
interestBearingMintConfigState.currentRate,
171171
);
@@ -266,8 +266,8 @@ export async function uiAmountToAmountForMintWithoutSimulation(
266266
uiAmount,
267267
mintInfo.decimals,
268268
timestamp,
269-
interestBearingMintConfigState.lastUpdateTimestamp,
270-
interestBearingMintConfigState.initializationTimestamp,
269+
Number(interestBearingMintConfigState.lastUpdateTimestamp),
270+
Number(interestBearingMintConfigState.initializationTimestamp),
271271
interestBearingMintConfigState.preUpdateAverageRate,
272272
interestBearingMintConfigState.currentRate,
273273
);

token/js/src/extensions/interestBearingMint/state.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ import { ExtensionType, getExtensionData } from '../extensionType.js';
66

77
export interface InterestBearingMintConfigState {
88
rateAuthority: PublicKey;
9-
initializationTimestamp: number;
9+
initializationTimestamp: bigint;
1010
preUpdateAverageRate: number;
11-
lastUpdateTimestamp: number;
11+
lastUpdateTimestamp: bigint;
1212
currentRate: number;
1313
}
1414

token/js/test/unit/interestBearing.test.ts

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -99,17 +99,14 @@ function createMockMintData(
9999
return baseData;
100100
}
101101

102+
// write extension data using the InterestBearingMintConfigStateLayout
102103
const extensionData = Buffer.alloc(InterestBearingMintConfigStateLayout.span);
103-
InterestBearingMintConfigStateLayout.encode(
104-
{
105-
rateAuthority: new PublicKey(new Uint8Array(32).fill(1)),
106-
initializationTimestamp: 0,
107-
preUpdateAverageRate: config.preUpdateAverageRate || 500, // default to 5%
108-
lastUpdateTimestamp: ONE_YEAR_IN_SECONDS, // 1 year in seconds
109-
currentRate: config.currentRate || 500, // default to 5%
110-
},
111-
extensionData,
112-
);
104+
const rateAuthority = new Uint8Array(32).fill(1); // rate authority
105+
Buffer.from(rateAuthority).copy(extensionData, 0);
106+
extensionData.writeBigUInt64LE(BigInt(0), 32); // initialization timestamp
107+
extensionData.writeInt16LE(config.preUpdateAverageRate || 500, 40); // pre-update average rate
108+
extensionData.writeBigUInt64LE(BigInt(ONE_YEAR_IN_SECONDS), 42); // last update timestamp
109+
extensionData.writeInt16LE(config.currentRate || 500, 50); // current rate
113110

114111
const TYPE_SIZE = 2;
115112
const LENGTH_SIZE = 2;

0 commit comments

Comments
 (0)