Skip to content

Commit ab3f954

Browse files
committed
update with poller examples
1 parent 3154a9f commit ab3f954

15 files changed

+134
-61
lines changed

examples/kitchen-sink/src/http/with-poller/createApiKey.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import * as dotenv from "dotenv";
44
// Load environment variables from `.env.local`
55
dotenv.config({ path: path.resolve(process.cwd(), ".env.local") });
66

7-
import { TurnkeyClient } from "@turnkey/http";
7+
import { TurnkeyClient, createActivityPoller } from "@turnkey/http";
88
import { ApiKeyStamper } from "@turnkey/api-key-stamper";
99
import { refineNonNull } from "../../utils";
1010

@@ -24,7 +24,12 @@ async function main() {
2424
const publicKey = "<API public key>";
2525
const curveType = "API_KEY_CURVE_P256"; // this is the default
2626

27-
const { activity } = await turnkeyClient.createApiKeys({
27+
const activityPoller = createActivityPoller({
28+
client: turnkeyClient,
29+
requestFn: turnkeyClient.createApiKeys,
30+
});
31+
32+
const completedActivity = await activityPoller({
2833
type: "ACTIVITY_TYPE_CREATE_API_KEYS_V2",
2934
organizationId: process.env.ORGANIZATION_ID!,
3035
parameters: {
@@ -37,11 +42,11 @@ async function main() {
3742
},
3843
],
3944
},
40-
timestampMs: String(Date.now()), // millisecond timestamp
45+
timestampMs: String(Date.now()),
4146
});
4247

4348
const newApiKeyIds = refineNonNull(
44-
activity.result.createApiKeysResult?.apiKeyIds,
49+
completedActivity.result.createApiKeysResult?.apiKeyIds,
4550
);
4651

4752
// Success!

examples/kitchen-sink/src/http/with-poller/createEthereumPrivateKey.ts

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import * as dotenv from "dotenv";
44
// Load environment variables from `.env.local`
55
dotenv.config({ path: path.resolve(process.cwd(), ".env.local") });
66

7-
import { TurnkeyClient } from "@turnkey/http";
7+
import { TurnkeyClient, createActivityPoller } from "@turnkey/http";
88
import { ApiKeyStamper } from "@turnkey/api-key-stamper";
99
import * as crypto from "crypto";
1010
import { refineNonNull } from "../../utils";
@@ -22,7 +22,12 @@ async function main() {
2222

2323
const privateKeyName = `ETH Key ${crypto.randomBytes(2).toString("hex")}`;
2424

25-
const { activity } = await turnkeyClient.createPrivateKeys({
25+
const activityPoller = createActivityPoller({
26+
client: turnkeyClient,
27+
requestFn: turnkeyClient.createPrivateKeys,
28+
});
29+
30+
const completedActivity = await activityPoller({
2631
type: "ACTIVITY_TYPE_CREATE_PRIVATE_KEYS_V2",
2732
organizationId: process.env.ORGANIZATION_ID!,
2833
parameters: {
@@ -35,14 +40,14 @@ async function main() {
3540
},
3641
],
3742
},
38-
timestampMs: String(Date.now()), // millisecond timestamp
43+
timestampMs: String(Date.now()),
3944
});
4045

41-
const privateKeys = refineNonNull(
42-
activity.result.createPrivateKeysResultV2?.privateKeys,
46+
const privateKey = refineNonNull(
47+
completedActivity.result.createPrivateKeysResultV2?.privateKeys?.[0],
4348
);
44-
const privateKeyId = refineNonNull(privateKeys?.[0]?.privateKeyId);
45-
const address = refineNonNull(privateKeys?.[0]?.addresses?.[0]?.address);
49+
const privateKeyId = refineNonNull(privateKey.privateKeyId);
50+
const address = refineNonNull(privateKey.addresses?.[0]?.address);
4651

4752
// Success!
4853
console.log(

examples/kitchen-sink/src/http/with-poller/createEthereumWallet.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import * as dotenv from "dotenv";
44
// Load environment variables from `.env.local`
55
dotenv.config({ path: path.resolve(process.cwd(), ".env.local") });
66

7-
import { TurnkeyClient } from "@turnkey/http";
7+
import { TurnkeyClient, createActivityPoller } from "@turnkey/http";
88
import { ApiKeyStamper } from "@turnkey/api-key-stamper";
99
import * as crypto from "crypto";
1010
import { refineNonNull } from "../../utils";
@@ -22,7 +22,12 @@ async function main() {
2222
}),
2323
);
2424

25-
const { activity } = await turnkeyClient.createWallet({
25+
const activityPoller = createActivityPoller({
26+
client: turnkeyClient,
27+
requestFn: turnkeyClient.createWallet,
28+
});
29+
30+
const completedActivity = await activityPoller({
2631
type: "ACTIVITY_TYPE_CREATE_WALLET",
2732
timestampMs: String(Date.now()),
2833
organizationId: process.env.ORGANIZATION_ID!,
@@ -39,7 +44,7 @@ async function main() {
3944
},
4045
});
4146

42-
const wallet = refineNonNull(activity.result.createWalletResult);
47+
const wallet = refineNonNull(completedActivity.result.createWalletResult);
4348
const walletId = refineNonNull(wallet.walletId);
4449
const address = refineNonNull(wallet.addresses[0]);
4550

examples/kitchen-sink/src/http/with-poller/createPolicy.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import * as dotenv from "dotenv";
44
// Load environment variables from `.env.local`
55
dotenv.config({ path: path.resolve(process.cwd(), ".env.local") });
66

7-
import { TurnkeyClient } from "@turnkey/http";
7+
import { TurnkeyClient, createActivityPoller } from "@turnkey/http";
88
import { ApiKeyStamper } from "@turnkey/api-key-stamper";
99

1010
import { refineNonNull } from "../../utils";
@@ -25,7 +25,12 @@ async function main() {
2525
const condition = ""; // desired condition. See https://docs.turnkey.com/concepts/policies/overview
2626
const notes = "";
2727

28-
const { activity } = await turnkeyClient.createPolicy({
28+
const activityPoller = createActivityPoller({
29+
client: turnkeyClient,
30+
requestFn: turnkeyClient.createPolicy,
31+
});
32+
33+
const completedActivity = await activityPoller({
2934
type: "ACTIVITY_TYPE_CREATE_POLICY_V3",
3035
organizationId: process.env.ORGANIZATION_ID!,
3136
parameters: {
@@ -35,10 +40,10 @@ async function main() {
3540
effect,
3641
notes,
3742
},
38-
timestampMs: String(Date.now()), // millisecond timestamp
43+
timestampMs: String(Date.now()),
3944
});
4045

41-
const policyId = refineNonNull(activity.result.createPolicyResult?.policyId);
46+
const policyId = refineNonNull(completedActivity.result.createPolicyResult?.policyId);
4247

4348
// Success!
4449
console.log(

examples/kitchen-sink/src/http/with-poller/createPrivateKeyTag.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import * as dotenv from "dotenv";
44
// Load environment variables from `.env.local`
55
dotenv.config({ path: path.resolve(process.cwd(), ".env.local") });
66

7-
import { TurnkeyClient } from "@turnkey/http";
7+
import { TurnkeyClient, createActivityPoller } from "@turnkey/http";
88
import { ApiKeyStamper } from "@turnkey/api-key-stamper";
99

1010
import { refineNonNull } from "../../utils";
@@ -22,18 +22,23 @@ async function main() {
2222
const privateKeyTagName = "<your desired private key tag name>";
2323
const privateKeyIds = ["<relevant private key ID>"];
2424

25-
const { activity } = await turnkeyClient.createPrivateKeyTag({
25+
const activityPoller = createActivityPoller({
26+
client: turnkeyClient,
27+
requestFn: turnkeyClient.createPrivateKeyTag,
28+
});
29+
30+
const completedActivity = await activityPoller({
2631
type: "ACTIVITY_TYPE_CREATE_PRIVATE_KEY_TAG",
2732
organizationId: process.env.ORGANIZATION_ID!,
2833
parameters: {
2934
privateKeyTagName,
3035
privateKeyIds,
3136
},
32-
timestampMs: String(Date.now()), // millisecond timestamp
37+
timestampMs: String(Date.now()),
3338
});
3439

3540
const privateKeyTagId = refineNonNull(
36-
activity.result.createPrivateKeyTagResult?.privateKeyTagId,
41+
completedActivity.result.createPrivateKeyTagResult?.privateKeyTagId,
3742
);
3843

3944
// Success!

examples/kitchen-sink/src/http/with-poller/createSolanaPrivateKey.ts

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import * as dotenv from "dotenv";
44
// Load environment variables from `.env.local`
55
dotenv.config({ path: path.resolve(process.cwd(), ".env.local") });
66

7-
import { TurnkeyClient } from "@turnkey/http";
7+
import { TurnkeyClient, createActivityPoller } from "@turnkey/http";
88
import { ApiKeyStamper } from "@turnkey/api-key-stamper";
99

1010
import * as crypto from "crypto";
@@ -24,7 +24,12 @@ async function main() {
2424

2525
const privateKeyName = `SOL Key ${crypto.randomBytes(2).toString("hex")}`;
2626

27-
const { activity } = await turnkeyClient.createPrivateKeys({
27+
const activityPoller = createActivityPoller({
28+
client: turnkeyClient,
29+
requestFn: turnkeyClient.createPrivateKeys,
30+
});
31+
32+
const completedActivity = await activityPoller({
2833
type: "ACTIVITY_TYPE_CREATE_PRIVATE_KEYS_V2",
2934
organizationId: process.env.ORGANIZATION_ID!,
3035
parameters: {
@@ -37,14 +42,14 @@ async function main() {
3742
},
3843
],
3944
},
40-
timestampMs: String(Date.now()), // millisecond timestamp
45+
timestampMs: String(Date.now()),
4146
});
4247

43-
const privateKeys = refineNonNull(
44-
activity.result.createPrivateKeysResultV2?.privateKeys,
48+
const privateKey = refineNonNull(
49+
completedActivity.result.createPrivateKeysResultV2?.privateKeys?.[0],
4550
);
46-
const privateKeyId = refineNonNull(privateKeys?.[0]?.privateKeyId);
47-
const address = refineNonNull(privateKeys?.[0]?.addresses?.[0]?.address);
51+
const privateKeyId = refineNonNull(privateKey.privateKeyId);
52+
const address = refineNonNull(privateKey.addresses?.[0]?.address);
4853

4954
// Success!
5055
console.log(

examples/kitchen-sink/src/http/with-poller/createSolanaWallet.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import * as crypto from "crypto";
55
// Load environment variables from `.env.local`
66
dotenv.config({ path: path.resolve(process.cwd(), ".env.local") });
77

8-
import { TurnkeyClient } from "@turnkey/http";
8+
import { TurnkeyClient, createActivityPoller } from "@turnkey/http";
99
import { ApiKeyStamper } from "@turnkey/api-key-stamper";
1010

1111
import { refineNonNull } from "../../utils";
@@ -23,7 +23,12 @@ async function main() {
2323
}),
2424
);
2525

26-
const { activity } = await turnkeyClient.createWallet({
26+
const activityPoller = createActivityPoller({
27+
client: turnkeyClient,
28+
requestFn: turnkeyClient.createWallet,
29+
});
30+
31+
const completedActivity = await activityPoller({
2732
type: "ACTIVITY_TYPE_CREATE_WALLET",
2833
timestampMs: String(Date.now()),
2934
organizationId: process.env.ORGANIZATION_ID!,
@@ -32,7 +37,6 @@ async function main() {
3237
accounts: [
3338
{
3439
pathFormat: "PATH_FORMAT_BIP32",
35-
// https://github.com/satoshilabs/slips/blob/master/slip-0044.md
3640
path: "m/44'/501'/0'/0'",
3741
curve: "CURVE_ED25519",
3842
addressFormat: "ADDRESS_FORMAT_SOLANA",
@@ -41,7 +45,7 @@ async function main() {
4145
},
4246
});
4347

44-
const wallet = refineNonNull(activity.result.createWalletResult);
48+
const wallet = refineNonNull(completedActivity.result.createWalletResult);
4549
const walletId = refineNonNull(wallet.walletId);
4650
const address = refineNonNull(wallet.addresses[0]);
4751

examples/kitchen-sink/src/http/with-poller/createSubOrganization.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import * as dotenv from "dotenv";
44
// Load environment variables from `.env.local`
55
dotenv.config({ path: path.resolve(process.cwd(), ".env.local") });
66

7-
import { TurnkeyClient } from "@turnkey/http";
7+
import { TurnkeyClient, createActivityPoller } from "@turnkey/http";
88
import { ApiKeyStamper } from "@turnkey/api-key-stamper";
99
import { refineNonNull } from "../../utils";
1010

@@ -23,7 +23,12 @@ async function main() {
2323
}),
2424
);
2525

26-
const { activity } = await turnkeyClient.createSubOrganization({
26+
const activityPoller = createActivityPoller({
27+
client: turnkeyClient,
28+
requestFn: turnkeyClient.createSubOrganization,
29+
});
30+
31+
const completedActivity = await activityPoller({
2732
type: "ACTIVITY_TYPE_CREATE_SUB_ORGANIZATION_V7",
2833
timestampMs: String(Date.now()),
2934
organizationId: process.env.ORGANIZATION_ID!,
@@ -59,7 +64,7 @@ async function main() {
5964
});
6065

6166
const subOrgId = refineNonNull(
62-
activity.result.createSubOrganizationResultV7?.subOrganizationId,
67+
completedActivity.result.createSubOrganizationResultV7?.subOrganizationId,
6368
);
6469

6570
// Success!

examples/kitchen-sink/src/http/with-poller/createUser.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import * as dotenv from "dotenv";
44
// Load environment variables from `.env.local`
55
dotenv.config({ path: path.resolve(process.cwd(), ".env.local") });
66

7-
import { TurnkeyClient } from "@turnkey/http";
7+
import { TurnkeyClient, createActivityPoller } from "@turnkey/http";
88
import { ApiKeyStamper } from "@turnkey/api-key-stamper";
99

1010
import { refineNonNull } from "../../utils";
@@ -24,7 +24,12 @@ async function main() {
2424
const apiKeyName = "<API key name>";
2525
const publicKey = "<API public key>";
2626

27-
const { activity } = await turnkeyClient.createApiOnlyUsers({
27+
const activityPoller = createActivityPoller({
28+
client: turnkeyClient,
29+
requestFn: turnkeyClient.createApiOnlyUsers,
30+
});
31+
32+
const completedActivity = await activityPoller({
2833
type: "ACTIVITY_TYPE_CREATE_API_ONLY_USERS",
2934
organizationId: process.env.ORGANIZATION_ID!,
3035
parameters: {
@@ -41,11 +46,11 @@ async function main() {
4146
},
4247
],
4348
},
44-
timestampMs: String(Date.now()), // millisecond timestamp
49+
timestampMs: String(Date.now()),
4550
});
4651

4752
const userId = refineNonNull(
48-
activity.result.createApiOnlyUsersResult?.userIds?.[0],
53+
completedActivity.result.createApiOnlyUsersResult?.userIds?.[0],
4954
);
5055

5156
// Success!

examples/kitchen-sink/src/http/with-poller/createUserTag.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import * as dotenv from "dotenv";
44
// Load environment variables from `.env.local`
55
dotenv.config({ path: path.resolve(process.cwd(), ".env.local") });
66

7-
import { TurnkeyClient } from "@turnkey/http";
7+
import { TurnkeyClient, createActivityPoller } from "@turnkey/http";
88
import { ApiKeyStamper } from "@turnkey/api-key-stamper";
99

1010
import { refineNonNull } from "../../utils";
@@ -21,18 +21,23 @@ async function main() {
2121

2222
const userTagName = "<desired tag name>";
2323

24-
const { activity } = await turnkeyClient.createUserTag({
24+
const activityPoller = createActivityPoller({
25+
client: turnkeyClient,
26+
requestFn: turnkeyClient.createUserTag,
27+
});
28+
29+
const completedActivity = await activityPoller({
2530
type: "ACTIVITY_TYPE_CREATE_USER_TAG",
2631
organizationId: process.env.ORGANIZATION_ID!,
2732
parameters: {
2833
userTagName,
2934
userIds: [], // relevant user IDs
3035
},
31-
timestampMs: String(Date.now()), // millisecond timestamp
36+
timestampMs: String(Date.now()),
3237
});
3338

3439
const userTagId = refineNonNull(
35-
activity.result.createUserTagResult?.userTagId,
40+
completedActivity.result.createUserTagResult?.userTagId,
3641
);
3742

3843
// Success!

0 commit comments

Comments
 (0)