Skip to content

Commit b8fdceb

Browse files
committed
feedback: pass in base url and rename flag
1 parent 12e73c6 commit b8fdceb

File tree

11 files changed

+68
-38
lines changed

11 files changed

+68
-38
lines changed

examples/with-ethers/src/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ async function main() {
4747
// -----
4848
//
4949
// Optional flag to override timestamp using Turnkey's system clock
50-
// overrideTimestamp: true,
50+
// useTurnkeyRemoteTimestamp: true,
5151
});
5252

5353
// Initialize a Turnkey Signer

examples/with-solana/src/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ async function main() {
5050
// -----
5151
//
5252
// Optional flag to override timestamp using Turnkey's system clock
53-
// overrideTimestamp: true,
53+
// useTurnkeyRemoteTimestamp: true,
5454
});
5555

5656
const turnkeySigner = new TurnkeySigner({

examples/with-viem/src/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ async function main() {
5353
// -----
5454
//
5555
// Optional flag to override timestamp using Turnkey's system clock
56-
// overrideTimestamp: true,
56+
// useTurnkeyRemoteTimestamp: true,
5757
});
5858

5959
const turnkeyAccount = await createAccount({

packages/ethers/src/index.ts

+16-7
Original file line numberDiff line numberDiff line change
@@ -109,11 +109,11 @@ export class TurnkeySigner extends AbstractSigner implements ethers.Signer {
109109
private async _signTransactionImpl(
110110
unsignedTransaction: string
111111
): Promise<string> {
112-
const timestampMs = this.client.config.overrideTimestamp
113-
? `${await getLiveTimestamp()}000`
114-
: String(Date.now());
115-
116112
if (this.client instanceof TurnkeyClient) {
113+
const timestampMs = this.client.config.useTurnkeyRemoteTimestamp
114+
? `${await getLiveTimestamp(this.client.config.baseUrl)}000`
115+
: String(Date.now());
116+
117117
const { activity } = await this.client.signTransaction({
118118
type: "ACTIVITY_TYPE_SIGN_TRANSACTION_V2",
119119
organizationId: this.organizationId,
@@ -131,6 +131,10 @@ export class TurnkeySigner extends AbstractSigner implements ethers.Signer {
131131
activity?.result?.signTransactionResult?.signedTransaction
132132
);
133133
} else {
134+
const timestampMs = this.client.config.useTurnkeyRemoteTimestamp
135+
? `${await getLiveTimestamp(this.client.config.apiBaseUrl)}000`
136+
: String(Date.now());
137+
134138
const { activity, signedTransaction } = await this.client.signTransaction(
135139
{
136140
signWith: this.signWith,
@@ -240,11 +244,12 @@ export class TurnkeySigner extends AbstractSigner implements ethers.Signer {
240244

241245
async _signMessageImpl(message: string): Promise<string> {
242246
let result;
243-
const timestampMs = this.client.config.overrideTimestamp
244-
? `${await getLiveTimestamp()}000`
245-
: String(Date.now());
246247

247248
if (this.client instanceof TurnkeyClient) {
249+
const timestampMs = this.client.config.useTurnkeyRemoteTimestamp
250+
? `${await getLiveTimestamp(this.client.config.baseUrl)}000`
251+
: String(Date.now());
252+
248253
const { activity } = await this.client.signRawPayload({
249254
type: "ACTIVITY_TYPE_SIGN_RAW_PAYLOAD_V2",
250255
organizationId: this.organizationId,
@@ -261,6 +266,10 @@ export class TurnkeySigner extends AbstractSigner implements ethers.Signer {
261266

262267
result = assertNonNull(activity?.result?.signRawPayloadResult);
263268
} else {
269+
const timestampMs = this.client.config.useTurnkeyRemoteTimestamp
270+
? `${await getLiveTimestamp(this.client.config.apiBaseUrl)}000`
271+
: String(Date.now());
272+
264273
const { activity, r, s, v } = await this.client.signRawPayload({
265274
signWith: this.signWith,
266275
payload: message,

packages/http/src/base.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ export async function sealAndStampRequestBody(input: {
256256

257257
export type THttpConfig = {
258258
baseUrl: string;
259-
overrideTimestamp?: boolean;
259+
useTurnkeyRemoteTimestamp?: boolean;
260260
};
261261

262262
/**

packages/http/src/shared.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -204,12 +204,12 @@ export function getSignedTransactionFromActivity(
204204

205205
/**
206206
*
207-
* A utility function to get a live timestmap directly from Turnkey
207+
* A utility function to get a live stamp directly from Turnkey
208208
*
209-
* @returns string reprenting timestamp in seconds
209+
* @returns string representing the current UNIX timestamp in seconds. If it fails to fetch a timestamp from Turnkey, this returns an empty string.
210210
*/
211-
export async function getLiveTimestamp(): Promise<string> {
212-
const timestampResponse = await fetch("https://api.turnkey.com/health");
211+
export async function getLiveTimestamp(baseUrl: string): Promise<string> {
212+
const timestampResponse = await fetch(`${baseUrl}/health`);
213213
const parsedResponse = await timestampResponse.json();
214214

215215
return parsedResponse.currentTime ?? "";

packages/sdk-browser/src/__types__/base.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ interface BaseSDKClientConfig {
6868
apiBaseUrl: string;
6969
organizationId: string;
7070
activityPoller?: TActivityPollerConfig | undefined;
71-
overrideTimestamp?: boolean;
71+
useTurnkeyRemoteTimestamp?: boolean;
7272
}
7373

7474
interface SDKClientConfigWithStamper extends BaseSDKClientConfig {

packages/sdk-server/src/__types__/base.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ export interface TurnkeySDKClientConfig {
7878
apiBaseUrl: string;
7979
organizationId: string;
8080
activityPoller?: TActivityPollerConfig | undefined;
81-
overrideTimestamp?: boolean;
81+
useTurnkeyRemoteTimestamp?: boolean;
8282
}
8383

8484
export interface TurnkeySDKServerConfig {
@@ -87,7 +87,7 @@ export interface TurnkeySDKServerConfig {
8787
apiPublicKey: string;
8888
defaultOrganizationId: string;
8989
activityPoller?: TActivityPollerConfig | undefined;
90-
overrideTimestamp?: boolean;
90+
useTurnkeyRemoteTimestamp?: boolean;
9191
}
9292

9393
export interface TurnkeyProxyHandlerConfig {

packages/sdk-server/src/sdk-client.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ export class TurnkeyServerSDK {
4242
apiBaseUrl: this.config.apiBaseUrl,
4343
organizationId: this.config.defaultOrganizationId,
4444
activityPoller: this.config.activityPoller,
45-
overrideTimestamp: this.config.overrideTimestamp ?? false,
45+
useTurnkeyRemoteTimestamp: this.config.useTurnkeyRemoteTimestamp ?? false,
4646
});
4747
};
4848

packages/solana/src/index.ts

+24-12
Original file line numberDiff line numberDiff line change
@@ -128,11 +128,11 @@ export class TurnkeySigner {
128128
unsignedTransaction: string,
129129
signWith: string
130130
) {
131-
const timestampMs = this.client.config.overrideTimestamp
132-
? `${await getLiveTimestamp()}000`
133-
: String(Date.now());
134-
135131
if (this.client instanceof TurnkeyClient) {
132+
const timestampMs = this.client.config.useTurnkeyRemoteTimestamp
133+
? `${await getLiveTimestamp(this.client.config.baseUrl)}000`
134+
: String(Date.now());
135+
136136
const response = await this.client.signTransaction({
137137
type: "ACTIVITY_TYPE_SIGN_TRANSACTION_V2",
138138
organizationId: this.organizationId,
@@ -152,6 +152,10 @@ export class TurnkeySigner {
152152
activity?.result?.signTransactionResult?.signedTransaction
153153
);
154154
} else {
155+
const timestampMs = this.client.config.useTurnkeyRemoteTimestamp
156+
? `${await getLiveTimestamp(this.client.config.apiBaseUrl)}000`
157+
: String(Date.now());
158+
155159
const { activity, signedTransaction } = await this.client.signTransaction(
156160
{
157161
signWith,
@@ -168,11 +172,11 @@ export class TurnkeySigner {
168172
}
169173

170174
private async signRawPayload(payload: string, signWith: string) {
171-
const timestampMs = this.client.config.overrideTimestamp
172-
? `${await getLiveTimestamp()}000`
173-
: String(Date.now());
174-
175175
if (this.client instanceof TurnkeyClient) {
176+
const timestampMs = this.client.config.useTurnkeyRemoteTimestamp
177+
? `${await getLiveTimestamp(this.client.config.baseUrl)}000`
178+
: String(Date.now());
179+
176180
const response = await this.client.signRawPayload({
177181
type: "ACTIVITY_TYPE_SIGN_RAW_PAYLOAD_V2",
178182
organizationId: this.organizationId,
@@ -193,6 +197,10 @@ export class TurnkeySigner {
193197

194198
return assertNonNull(activity?.result?.signRawPayloadResult);
195199
} else {
200+
const timestampMs = this.client.config.useTurnkeyRemoteTimestamp
201+
? `${await getLiveTimestamp(this.client.config.apiBaseUrl)}000`
202+
: String(Date.now());
203+
196204
const { activity, r, s, v } = await this.client.signRawPayload({
197205
signWith,
198206
payload,
@@ -214,11 +222,11 @@ export class TurnkeySigner {
214222
}
215223

216224
private async signRawPayloads(payloads: string[], signWith: string) {
217-
const timestampMs = this.client.config.overrideTimestamp
218-
? `${await getLiveTimestamp()}000`
219-
: String(Date.now());
220-
221225
if (this.client instanceof TurnkeyClient) {
226+
const timestampMs = this.client.config.useTurnkeyRemoteTimestamp
227+
? `${await getLiveTimestamp(this.client.config.baseUrl)}000`
228+
: String(Date.now());
229+
222230
const response = await this.client.signRawPayloads({
223231
type: "ACTIVITY_TYPE_SIGN_RAW_PAYLOADS",
224232
organizationId: this.organizationId,
@@ -239,6 +247,10 @@ export class TurnkeySigner {
239247

240248
return assertNonNull(activity?.result?.signRawPayloadsResult);
241249
} else {
250+
const timestampMs = this.client.config.useTurnkeyRemoteTimestamp
251+
? `${await getLiveTimestamp(this.client.config.apiBaseUrl)}000`
252+
: String(Date.now());
253+
242254
const { activity, signatures } = await this.client.signRawPayloads({
243255
signWith,
244256
payloads,

packages/viem/src/index.ts

+16-7
Original file line numberDiff line numberDiff line change
@@ -385,11 +385,11 @@ async function signTransactionImpl(
385385
organizationId: string,
386386
signWith: string
387387
): Promise<string> {
388-
const timestampMs = client.config.overrideTimestamp
389-
? `${await getLiveTimestamp()}000`
390-
: String(Date.now());
391-
392388
if (client instanceof TurnkeyClient) {
389+
const timestampMs = client.config.useTurnkeyRemoteTimestamp
390+
? `${await getLiveTimestamp(client.config.baseUrl)}000`
391+
: String(Date.now());
392+
393393
const { activity } = await client.signTransaction({
394394
type: "ACTIVITY_TYPE_SIGN_TRANSACTION_V2",
395395
organizationId: organizationId,
@@ -407,6 +407,10 @@ async function signTransactionImpl(
407407
activity?.result?.signTransactionResult?.signedTransaction
408408
);
409409
} else {
410+
const timestampMs = client.config.useTurnkeyRemoteTimestamp
411+
? `${await getLiveTimestamp(client.config.apiBaseUrl)}000`
412+
: String(Date.now());
413+
410414
const { activity, signedTransaction } = await client.signTransaction({
411415
signWith,
412416
type: "TRANSACTION_TYPE_ETHEREUM",
@@ -467,11 +471,12 @@ async function signMessageImpl(
467471
signWith: string
468472
): Promise<string> {
469473
let result;
470-
const timestampMs = client.config.overrideTimestamp
471-
? `${await getLiveTimestamp()}000`
472-
: String(Date.now());
473474

474475
if (client instanceof TurnkeyClient) {
476+
const timestampMs = client.config.useTurnkeyRemoteTimestamp
477+
? `${await getLiveTimestamp(client.config.baseUrl)}000`
478+
: String(Date.now());
479+
475480
const { activity } = await client.signRawPayload({
476481
type: "ACTIVITY_TYPE_SIGN_RAW_PAYLOAD_V2",
477482
organizationId: organizationId,
@@ -488,6 +493,10 @@ async function signMessageImpl(
488493

489494
result = assertNonNull(activity?.result?.signRawPayloadResult);
490495
} else {
496+
const timestampMs = client.config.useTurnkeyRemoteTimestamp
497+
? `${await getLiveTimestamp(client.config.apiBaseUrl)}000`
498+
: String(Date.now());
499+
491500
const { activity, r, s, v } = await client.signRawPayload({
492501
signWith,
493502
payload: message,

0 commit comments

Comments
 (0)