@dynamic-labs-sdk/tempo 0.0.0 → 1.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/README.md +97 -0
  2. package/dist/TempoNetworkProvider.types.d.ts +12 -0
  3. package/dist/TempoNetworkProvider.types.d.ts.map +1 -0
  4. package/dist/TempoWalletAccount.types.d.ts +12 -0
  5. package/dist/TempoWalletAccount.types.d.ts.map +1 -0
  6. package/dist/TempoWalletProvider.types.d.ts +48 -0
  7. package/dist/TempoWalletProvider.types.d.ts.map +1 -0
  8. package/dist/addTempoExtension/addTempoExtension.d.ts +24 -0
  9. package/dist/addTempoExtension/addTempoExtension.d.ts.map +1 -0
  10. package/dist/constants.d.ts +6 -0
  11. package/dist/constants.d.ts.map +1 -0
  12. package/dist/errors/InvalidTempoNetworkError/InvalidTempoNetworkError.d.ts +19 -0
  13. package/dist/errors/InvalidTempoNetworkError/InvalidTempoNetworkError.d.ts.map +1 -0
  14. package/dist/errors/InvalidTempoNetworkError/index.d.ts +2 -0
  15. package/dist/errors/InvalidTempoNetworkError/index.d.ts.map +1 -0
  16. package/dist/errors/TempoBusinessAccountTransactionNotSupportedError/TempoBusinessAccountTransactionNotSupportedError.d.ts +17 -0
  17. package/dist/errors/TempoBusinessAccountTransactionNotSupportedError/TempoBusinessAccountTransactionNotSupportedError.d.ts.map +1 -0
  18. package/dist/errors/TempoBusinessAccountTransactionNotSupportedError/index.d.ts +2 -0
  19. package/dist/errors/TempoBusinessAccountTransactionNotSupportedError/index.d.ts.map +1 -0
  20. package/dist/errors/TempoNativeTokenError/TempoNativeTokenError.d.ts +17 -0
  21. package/dist/errors/TempoNativeTokenError/TempoNativeTokenError.d.ts.map +1 -0
  22. package/dist/errors/TempoRawMessageNotUtf8Error/TempoRawMessageNotUtf8Error.d.ts +17 -0
  23. package/dist/errors/TempoRawMessageNotUtf8Error/TempoRawMessageNotUtf8Error.d.ts.map +1 -0
  24. package/dist/errors/TempoRawMessageNotUtf8Error/index.d.ts +2 -0
  25. package/dist/errors/TempoRawMessageNotUtf8Error/index.d.ts.map +1 -0
  26. package/dist/errors/TempoTransactionValidationError/TempoTransactionValidationError.d.ts +19 -0
  27. package/dist/errors/TempoTransactionValidationError/TempoTransactionValidationError.d.ts.map +1 -0
  28. package/dist/errors/TempoTransactionValidationError/index.d.ts +2 -0
  29. package/dist/errors/TempoTransactionValidationError/index.d.ts.map +1 -0
  30. package/dist/errors/TempoTypedDataNotSupportedError/TempoTypedDataNotSupportedError.d.ts +17 -0
  31. package/dist/errors/TempoTypedDataNotSupportedError/TempoTypedDataNotSupportedError.d.ts.map +1 -0
  32. package/dist/errors/TempoTypedDataNotSupportedError/index.d.ts +2 -0
  33. package/dist/errors/TempoTypedDataNotSupportedError/index.d.ts.map +1 -0
  34. package/dist/exports/index.d.ts +12 -0
  35. package/dist/exports/index.d.ts.map +1 -0
  36. package/dist/exports/waas.d.ts +9 -0
  37. package/dist/exports/waas.d.ts.map +1 -0
  38. package/dist/getTempoPublicClient/getTempoPublicClient.d.ts +28 -0
  39. package/dist/getTempoPublicClient/getTempoPublicClient.d.ts.map +1 -0
  40. package/dist/index.cjs +65 -0
  41. package/dist/index.cjs.map +1 -0
  42. package/dist/index.esm.js +57 -0
  43. package/dist/index.esm.js.map +1 -0
  44. package/dist/isTempoNetworkProvider/isTempoNetworkProvider.d.ts +17 -0
  45. package/dist/isTempoNetworkProvider/isTempoNetworkProvider.d.ts.map +1 -0
  46. package/dist/isTempoWalletAccount/isTempoWalletAccount.d.ts +19 -0
  47. package/dist/isTempoWalletAccount/isTempoWalletAccount.d.ts.map +1 -0
  48. package/dist/isTempoWalletProvider/isTempoWalletProvider.d.ts +21 -0
  49. package/dist/isTempoWalletProvider/isTempoWalletProvider.d.ts.map +1 -0
  50. package/dist/registerTempoNetworkProviderBuilder/registerTempoNetworkProviderBuilder.d.ts +4 -0
  51. package/dist/registerTempoNetworkProviderBuilder/registerTempoNetworkProviderBuilder.d.ts.map +1 -0
  52. package/dist/sendTip20Transaction/sendTip20Transaction.d.ts +40 -0
  53. package/dist/sendTip20Transaction/sendTip20Transaction.d.ts.map +1 -0
  54. package/dist/tempoChainIds-BVinmTlR.esm.js +236 -0
  55. package/dist/tempoChainIds-BVinmTlR.esm.js.map +1 -0
  56. package/dist/tempoChainIds-wtNAU12H.cjs +301 -0
  57. package/dist/tempoChainIds-wtNAU12H.cjs.map +1 -0
  58. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  59. package/dist/utils/createTempoNetworkProvider/createTempoNetworkProvider.d.ts +5 -0
  60. package/dist/utils/createTempoNetworkProvider/createTempoNetworkProvider.d.ts.map +1 -0
  61. package/dist/utils/mapNetworkDataToViemChain/index.d.ts +2 -0
  62. package/dist/utils/mapNetworkDataToViemChain/index.d.ts.map +1 -0
  63. package/dist/utils/mapNetworkDataToViemChain/mapNetworkDataToViemChain.d.ts +19 -0
  64. package/dist/utils/mapNetworkDataToViemChain/mapNetworkDataToViemChain.d.ts.map +1 -0
  65. package/dist/utils/tempoChainIds/tempoChainIds.d.ts +22 -0
  66. package/dist/utils/tempoChainIds/tempoChainIds.d.ts.map +1 -0
  67. package/dist/utils/tempoConfirmTransaction/index.d.ts +2 -0
  68. package/dist/utils/tempoConfirmTransaction/index.d.ts.map +1 -0
  69. package/dist/utils/tempoConfirmTransaction/tempoConfirmTransaction.d.ts +21 -0
  70. package/dist/utils/tempoConfirmTransaction/tempoConfirmTransaction.d.ts.map +1 -0
  71. package/dist/utils/tempoTransferAmount/index.d.ts +2 -0
  72. package/dist/utils/tempoTransferAmount/index.d.ts.map +1 -0
  73. package/dist/utils/tempoTransferAmount/tempoTransferAmount.d.ts +37 -0
  74. package/dist/utils/tempoTransferAmount/tempoTransferAmount.d.ts.map +1 -0
  75. package/dist/waas/WaasTempoWalletProvider.types.d.ts +23 -0
  76. package/dist/waas/WaasTempoWalletProvider.types.d.ts.map +1 -0
  77. package/dist/waas/addWaasTempoExtension/addWaasTempoExtension.d.ts +21 -0
  78. package/dist/waas/addWaasTempoExtension/addWaasTempoExtension.d.ts.map +1 -0
  79. package/dist/waas/addWaasTempoExtension/index.d.ts +2 -0
  80. package/dist/waas/addWaasTempoExtension/index.d.ts.map +1 -0
  81. package/dist/waas/sendTempoTransaction/index.d.ts +2 -0
  82. package/dist/waas/sendTempoTransaction/index.d.ts.map +1 -0
  83. package/dist/waas/sendTempoTransaction/sendTempoTransaction.d.ts +42 -0
  84. package/dist/waas/sendTempoTransaction/sendTempoTransaction.d.ts.map +1 -0
  85. package/dist/waas/utils/assertValidTempoTransactionCalls/assertValidTempoTransactionCalls.d.ts +18 -0
  86. package/dist/waas/utils/assertValidTempoTransactionCalls/assertValidTempoTransactionCalls.d.ts.map +1 -0
  87. package/dist/waas/utils/assertValidTempoTransactionCalls/index.d.ts +2 -0
  88. package/dist/waas/utils/assertValidTempoTransactionCalls/index.d.ts.map +1 -0
  89. package/dist/waas/utils/assertValidTempoTransactionRequest/assertValidTempoTransactionRequest.d.ts +41 -0
  90. package/dist/waas/utils/assertValidTempoTransactionRequest/assertValidTempoTransactionRequest.d.ts.map +1 -0
  91. package/dist/waas/utils/assertValidTempoTransactionRequest/index.d.ts +3 -0
  92. package/dist/waas/utils/assertValidTempoTransactionRequest/index.d.ts.map +1 -0
  93. package/dist/waas/utils/createViemWalletClientForWaasTempo/createViemWalletClientForWaasTempo.d.ts +41 -0
  94. package/dist/waas/utils/createViemWalletClientForWaasTempo/createViemWalletClientForWaasTempo.d.ts.map +1 -0
  95. package/dist/waas/utils/createViemWalletClientForWaasTempo/index.d.ts +2 -0
  96. package/dist/waas/utils/createViemWalletClientForWaasTempo/index.d.ts.map +1 -0
  97. package/dist/waas/utils/createWalletProviderForWaasTempo/createWalletProviderForWaasTempo.d.ts +23 -0
  98. package/dist/waas/utils/createWalletProviderForWaasTempo/createWalletProviderForWaasTempo.d.ts.map +1 -0
  99. package/dist/waas/utils/createWalletProviderForWaasTempo/index.d.ts +2 -0
  100. package/dist/waas/utils/createWalletProviderForWaasTempo/index.d.ts.map +1 -0
  101. package/dist/waas/utils/isBusinessAccountWalletAccount/index.d.ts +2 -0
  102. package/dist/waas/utils/isBusinessAccountWalletAccount/index.d.ts.map +1 -0
  103. package/dist/waas/utils/isBusinessAccountWalletAccount/isBusinessAccountWalletAccount.d.ts +23 -0
  104. package/dist/waas/utils/isBusinessAccountWalletAccount/isBusinessAccountWalletAccount.d.ts.map +1 -0
  105. package/dist/waas/utils/serializeTempoTransactionForWaas/index.d.ts +3 -0
  106. package/dist/waas/utils/serializeTempoTransactionForWaas/index.d.ts.map +1 -0
  107. package/dist/waas/utils/serializeTempoTransactionForWaas/serializeTempoTransactionForWaas.d.ts +57 -0
  108. package/dist/waas/utils/serializeTempoTransactionForWaas/serializeTempoTransactionForWaas.d.ts.map +1 -0
  109. package/dist/waas/utils/signMessage/index.d.ts +2 -0
  110. package/dist/waas/utils/signMessage/index.d.ts.map +1 -0
  111. package/dist/waas/utils/signMessage/signMessage.d.ts +38 -0
  112. package/dist/waas/utils/signMessage/signMessage.d.ts.map +1 -0
  113. package/dist/waas/utils/signRawMessage/index.d.ts +2 -0
  114. package/dist/waas/utils/signRawMessage/index.d.ts.map +1 -0
  115. package/dist/waas/utils/signRawMessage/signRawMessage.d.ts +37 -0
  116. package/dist/waas/utils/signRawMessage/signRawMessage.d.ts.map +1 -0
  117. package/dist/waas.cjs +758 -0
  118. package/dist/waas.cjs.map +1 -0
  119. package/dist/waas.esm.js +754 -0
  120. package/dist/waas.esm.js.map +1 -0
  121. package/package.json +46 -1
package/README.md ADDED
@@ -0,0 +1,97 @@
1
+ # @dynamic-labs-sdk/tempo
2
+
3
+ This package contains the Tempo integration for the Dynamic SDK.
4
+
5
+ Tempo is an EVM-compatible chain with no native token — fees and transfers are
6
+ paid in TIP-20 stablecoins.
7
+
8
+ ## Installation
9
+
10
+ ```sh
11
+ npm install @dynamic-labs-sdk/tempo
12
+ ```
13
+
14
+ ## Usage
15
+
16
+ ```ts
17
+ import { createDynamicClient } from '@dynamic-labs-sdk/client';
18
+ import { addTempoExtension } from '@dynamic-labs-sdk/tempo';
19
+
20
+ const dynamicClient = createDynamicClient({
21
+ environmentId: '123',
22
+ });
23
+
24
+ addTempoExtension(dynamicClient);
25
+ ```
26
+
27
+ Once the extension is registered, the package exposes helpers for working with
28
+ Tempo wallets and networks:
29
+
30
+ - `isTempoWalletAccount` / `isTempoWalletProvider` / `isTempoNetworkProvider` —
31
+ type guards that narrow a value to its Tempo-specific type.
32
+ - `getTempoPublicClient` — returns a viem `PublicClient` for the active Tempo
33
+ network.
34
+ - `sendTip20Transaction` — sends a TIP-20 token transfer (Tempo has no native
35
+ token, so a token contract address is always required).
36
+
37
+ ```ts
38
+ import {
39
+ getTempoPublicClient,
40
+ isTempoWalletAccount,
41
+ sendTip20Transaction,
42
+ } from '@dynamic-labs-sdk/tempo';
43
+
44
+ if (isTempoWalletAccount(walletAccount)) {
45
+ const publicClient = await getTempoPublicClient(
46
+ { walletAccount },
47
+ dynamicClient
48
+ );
49
+
50
+ const blockNumber = await publicClient.getBlockNumber();
51
+
52
+ const transactionHash = await sendTip20Transaction({
53
+ amount: '1.5',
54
+ to: '0xRecipient',
55
+ tokenAddress: '0xTip20Token',
56
+ walletClient,
57
+ });
58
+ }
59
+ ```
60
+
61
+ ## Embedded wallets
62
+
63
+ Embedded wallet support is available from the `/waas` entry point:
64
+
65
+ ```ts
66
+ import { addTempoExtension } from '@dynamic-labs-sdk/tempo';
67
+ import { addWaasTempoExtension } from '@dynamic-labs-sdk/tempo/waas';
68
+
69
+ addTempoExtension(dynamicClient);
70
+ addWaasTempoExtension(dynamicClient);
71
+ ```
72
+
73
+ Embedded Tempo wallets can sign messages, transfer TIP-20 tokens with
74
+ `transferAmount`, and send transactions with a viem wallet client from the
75
+ wallet provider's `createViemWalletClient`. Typed data signing is not supported
76
+ yet.
77
+
78
+ ### Sending a Tempo transaction
79
+
80
+ Use `sendTempoTransaction` for transactions that use Tempo-only fields: batched
81
+ calls, a fee token, a nonce key, or a validity window.
82
+
83
+ ```ts
84
+ import { sendTempoTransaction } from '@dynamic-labs-sdk/tempo/waas';
85
+
86
+ const { transactionHash } = await sendTempoTransaction({
87
+ calls: [
88
+ { data: transferData, to: tokenAddress },
89
+ { data: approveData, to: tokenAddress },
90
+ ],
91
+ feeToken: tokenAddress,
92
+ walletAccount,
93
+ });
94
+ ```
95
+
96
+ Gas defaults to a buffered estimate, and the nonce is the next nonce on the
97
+ requested nonce lane.
@@ -0,0 +1,12 @@
1
+ import type { BaseNetworkProvider } from '@dynamic-labs-sdk/client/core';
2
+ /**
3
+ * Network provider for Tempo EVM chain.
4
+ * Tempo is an EVM-compatible blockchain with no native token.
5
+ */
6
+ export type TempoNetworkProvider = BaseNetworkProvider<'TEMPO'>;
7
+ declare global {
8
+ interface NetworkProviderMap {
9
+ TEMPO: TempoNetworkProvider;
10
+ }
11
+ }
12
+ //# sourceMappingURL=TempoNetworkProvider.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TempoNetworkProvider.types.d.ts","sourceRoot":"","sources":["../src/TempoNetworkProvider.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAEhE,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,kBAAkB;QAC1B,KAAK,EAAE,oBAAoB,CAAC;KAC7B;CACF"}
@@ -0,0 +1,12 @@
1
+ import type { BaseWalletAccount } from '@dynamic-labs-sdk/client/core';
2
+ /**
3
+ * Wallet account for Tempo EVM chain.
4
+ * Represents a user's account on the Tempo blockchain.
5
+ */
6
+ export type TempoWalletAccount = BaseWalletAccount<'TEMPO'>;
7
+ declare global {
8
+ interface WalletAccountMap {
9
+ TEMPO: TempoWalletAccount;
10
+ }
11
+ }
12
+ //# sourceMappingURL=TempoWalletAccount.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TempoWalletAccount.types.d.ts","sourceRoot":"","sources":["../src/TempoWalletAccount.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAE5D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,gBAAgB;QACxB,KAAK,EAAE,kBAAkB,CAAC;KAC3B;CACF"}
@@ -0,0 +1,48 @@
1
+ import type { WalletAccount } from '@dynamic-labs-sdk/client';
2
+ import type { WalletProvider } from '@dynamic-labs-sdk/client/core';
3
+ import type { Account, Chain, HttpTransportConfig, Transport, WalletClient, WalletClientConfig } from 'viem';
4
+ /**
5
+ * Creates a viem wallet client for a Tempo wallet account.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const walletClient = await walletProvider.createViemWalletClient({
10
+ * walletAccount,
11
+ * });
12
+ * ```
13
+ *
14
+ * @see TempoWalletProvider
15
+ * @see sendTip20Transaction
16
+ */
17
+ export type CreateTempoViemWalletClient = (args: {
18
+ httpTransportConfig?: HttpTransportConfig;
19
+ viemWalletClientConfig?: Omit<WalletClientConfig, 'account' | 'chain' | 'transport'>;
20
+ walletAccount: WalletAccount;
21
+ }) => Promise<WalletClient<Transport, Chain, Account>>;
22
+ /**
23
+ * Wallet provider for Tempo EVM chain.
24
+ * Tempo is an EVM-compatible blockchain with no native token;
25
+ * fees are paid in TIP-20 stablecoins.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * if (isTempoWalletProvider(provider)) {
30
+ * const tempoProvider: TempoWalletProvider = provider;
31
+ * }
32
+ * ```
33
+ *
34
+ * @see {@link isTempoWalletProvider}
35
+ * @see {@link sendTip20Transaction}
36
+ */
37
+ export type TempoWalletProvider = WalletProvider & {
38
+ /** Chain identifier for Tempo. */
39
+ chain: 'TEMPO';
40
+ /** Creates a viem wallet client for a Tempo wallet account, when the provider supports it. */
41
+ createViemWalletClient?: CreateTempoViemWalletClient;
42
+ /**
43
+ * Tempo has no native token — fees are paid in TIP-20 stablecoins.
44
+ * This provider always supports fee token selection.
45
+ */
46
+ supportsFeeTokenSelection: true;
47
+ };
48
+ //# sourceMappingURL=TempoWalletProvider.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TempoWalletProvider.types.d.ts","sourceRoot":"","sources":["../src/TempoWalletProvider.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,mBAAmB,EACnB,SAAS,EACT,YAAY,EACZ,kBAAkB,EACnB,MAAM,MAAM,CAAC;AAEd;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,IAAI,EAAE;IAC/C,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,sBAAsB,CAAC,EAAE,IAAI,CAC3B,kBAAkB,EAClB,SAAS,GAAG,OAAO,GAAG,WAAW,CAClC,CAAC;IACF,aAAa,EAAE,aAAa,CAAC;CAC9B,KAAK,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AAEvD;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG;IACjD,kCAAkC;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,8FAA8F;IAC9F,sBAAsB,CAAC,EAAE,2BAA2B,CAAC;IACrD;;;OAGG;IACH,yBAAyB,EAAE,IAAI,CAAC;CACjC,CAAC"}
@@ -0,0 +1,24 @@
1
+ /** Registry key for the Tempo chain extension registered by addTempoExtension. */
2
+ export declare const TEMPO_EXTENSION_KEY = "tempo";
3
+ /**
4
+ * Registers the Tempo chain extension with the Dynamic client.
5
+ * Enables support for Tempo networks (chain IDs 4217, 42429, 42431).
6
+ * Calling it more than once is safe: later calls do nothing.
7
+ *
8
+ * @param [client] - The Dynamic client instance. Only required when using multiple clients.
9
+ * @returns Nothing. The extension is registered on the client.
10
+ * @example
11
+ * ```ts
12
+ * import { createDynamicClient } from '@dynamic-labs-sdk/client';
13
+ * import { addTempoExtension } from '@dynamic-labs-sdk/tempo';
14
+ *
15
+ * const dynamicClient = createDynamicClient({ environmentId: '123' });
16
+ *
17
+ * addTempoExtension(dynamicClient);
18
+ * ```
19
+ * @see getTempoPublicClient
20
+ * @see isTempoWalletAccount
21
+ * @notInstrumented
22
+ */
23
+ export declare const addTempoExtension: (client?: import("@dynamic-labs-sdk/client").DynamicClient) => void;
24
+ //# sourceMappingURL=addTempoExtension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addTempoExtension.d.ts","sourceRoot":"","sources":["../../src/addTempoExtension/addTempoExtension.ts"],"names":[],"mappings":"AAQA,kFAAkF;AAClF,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,iBAAiB,iEAAkC,IAO/D,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Chain identifier shared by every Tempo wallet provider, network provider and
3
+ * signing request.
4
+ */
5
+ export declare const TEMPO_CHAIN = "TEMPO";
6
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,WAAW,UAA0B,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { BaseError } from '@dynamic-labs-sdk/client';
2
+ /**
3
+ * Thrown when a Tempo wallet provider is asked to activate a network that is
4
+ * not a Tempo network.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * throw new InvalidTempoNetworkError({ networkId: '1' });
9
+ * ```
10
+ *
11
+ * @see isTempoChainId
12
+ * @see addWaasTempoExtension
13
+ */
14
+ export declare class InvalidTempoNetworkError extends BaseError {
15
+ constructor({ networkId }: {
16
+ networkId: string | number;
17
+ });
18
+ }
19
+ //# sourceMappingURL=InvalidTempoNetworkError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InvalidTempoNetworkError.d.ts","sourceRoot":"","sources":["../../../src/errors/InvalidTempoNetworkError/InvalidTempoNetworkError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,qBAAa,wBAAyB,SAAQ,SAAS;gBACzC,EAAE,SAAS,EAAE,EAAE;QAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;CAS1D"}
@@ -0,0 +1,2 @@
1
+ export { InvalidTempoNetworkError } from './InvalidTempoNetworkError';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/errors/InvalidTempoNetworkError/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { BaseError } from '@dynamic-labs-sdk/client';
2
+ /**
3
+ * Thrown when a business-account Tempo wallet is asked to sign a transaction.
4
+ * Business-account transactions need a signing-quorum intent, which the
5
+ * embedded wallet signer does not support for Tempo transactions yet.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * throw new TempoBusinessAccountTransactionNotSupportedError();
10
+ * ```
11
+ *
12
+ * @see addWaasTempoExtension
13
+ */
14
+ export declare class TempoBusinessAccountTransactionNotSupportedError extends BaseError {
15
+ constructor();
16
+ }
17
+ //# sourceMappingURL=TempoBusinessAccountTransactionNotSupportedError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TempoBusinessAccountTransactionNotSupportedError.d.ts","sourceRoot":"","sources":["../../../src/errors/TempoBusinessAccountTransactionNotSupportedError/TempoBusinessAccountTransactionNotSupportedError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,qBAAa,gDAAiD,SAAQ,SAAS;;CAW9E"}
@@ -0,0 +1,2 @@
1
+ export { TempoBusinessAccountTransactionNotSupportedError } from './TempoBusinessAccountTransactionNotSupportedError';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/errors/TempoBusinessAccountTransactionNotSupportedError/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gDAAgD,EAAE,MAAM,oDAAoD,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { BaseError } from '@dynamic-labs-sdk/client';
2
+ /**
3
+ * Thrown when a Tempo transaction is attempted without a TIP-20 token contract address.
4
+ * Tempo has no native token, so all value transfers require a token contract address.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * throw new TempoNativeTokenError();
9
+ * ```
10
+ *
11
+ * @see sendTip20Transaction
12
+ * @see TempoWalletProvider
13
+ */
14
+ export declare class TempoNativeTokenError extends BaseError {
15
+ constructor();
16
+ }
17
+ //# sourceMappingURL=TempoNativeTokenError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TempoNativeTokenError.d.ts","sourceRoot":"","sources":["../../../src/errors/TempoNativeTokenError/TempoNativeTokenError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,qBAAa,qBAAsB,SAAQ,SAAS;;CAWnD"}
@@ -0,0 +1,17 @@
1
+ import { BaseError } from '@dynamic-labs-sdk/client';
2
+ /**
3
+ * Thrown when a raw message passed to a Tempo embedded wallet is not valid
4
+ * UTF-8 text. The embedded wallet signs text messages, so bytes that cannot be
5
+ * decoded and re-encoded unchanged would be signed as different bytes.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * throw new TempoRawMessageNotUtf8Error();
10
+ * ```
11
+ *
12
+ * @see createWalletProviderForWaasTempo
13
+ */
14
+ export declare class TempoRawMessageNotUtf8Error extends BaseError {
15
+ constructor();
16
+ }
17
+ //# sourceMappingURL=TempoRawMessageNotUtf8Error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TempoRawMessageNotUtf8Error.d.ts","sourceRoot":"","sources":["../../../src/errors/TempoRawMessageNotUtf8Error/TempoRawMessageNotUtf8Error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,qBAAa,2BAA4B,SAAQ,SAAS;;CAWzD"}
@@ -0,0 +1,2 @@
1
+ export { TempoRawMessageNotUtf8Error } from './TempoRawMessageNotUtf8Error';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/errors/TempoRawMessageNotUtf8Error/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { BaseError } from '@dynamic-labs-sdk/client';
2
+ /**
3
+ * Thrown when a Tempo transaction fails validation before signing, for
4
+ * example because of a malformed address or non-hex call data.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * throw new TempoTransactionValidationError({ reason: 'malformed call data' });
9
+ * ```
10
+ *
11
+ * @see createWalletProviderForWaasTempo
12
+ * @see addWaasTempoExtension
13
+ */
14
+ export declare class TempoTransactionValidationError extends BaseError {
15
+ constructor({ reason }: {
16
+ reason: string;
17
+ });
18
+ }
19
+ //# sourceMappingURL=TempoTransactionValidationError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TempoTransactionValidationError.d.ts","sourceRoot":"","sources":["../../../src/errors/TempoTransactionValidationError/TempoTransactionValidationError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,qBAAa,+BAAgC,SAAQ,SAAS;gBAChD,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;CAS3C"}
@@ -0,0 +1,2 @@
1
+ export { TempoTransactionValidationError } from './TempoTransactionValidationError';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/errors/TempoTransactionValidationError/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { BaseError } from '@dynamic-labs-sdk/client';
2
+ /**
3
+ * Thrown when typed data is signed with a Tempo embedded wallet, which does
4
+ * not support it yet.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * throw new TempoTypedDataNotSupportedError();
9
+ * ```
10
+ *
11
+ * @see createWalletProviderForWaasTempo
12
+ * @see addWaasTempoExtension
13
+ */
14
+ export declare class TempoTypedDataNotSupportedError extends BaseError {
15
+ constructor();
16
+ }
17
+ //# sourceMappingURL=TempoTypedDataNotSupportedError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TempoTypedDataNotSupportedError.d.ts","sourceRoot":"","sources":["../../../src/errors/TempoTypedDataNotSupportedError/TempoTypedDataNotSupportedError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,qBAAa,+BAAgC,SAAQ,SAAS;;CAW7D"}
@@ -0,0 +1,2 @@
1
+ export { TempoTypedDataNotSupportedError } from './TempoTypedDataNotSupportedError';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/errors/TempoTypedDataNotSupportedError/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC"}
@@ -0,0 +1,12 @@
1
+ export { TempoNativeTokenError } from '../errors/TempoNativeTokenError/TempoNativeTokenError';
2
+ export { addTempoExtension } from '../addTempoExtension/addTempoExtension';
3
+ export { getTempoPublicClient } from '../getTempoPublicClient/getTempoPublicClient';
4
+ export { isTempoNetworkProvider } from '../isTempoNetworkProvider/isTempoNetworkProvider';
5
+ export { isTempoWalletAccount } from '../isTempoWalletAccount/isTempoWalletAccount';
6
+ export { isTempoWalletProvider } from '../isTempoWalletProvider/isTempoWalletProvider';
7
+ export { sendTip20Transaction } from '../sendTip20Transaction/sendTip20Transaction';
8
+ export type { TempoNetworkProvider } from '../TempoNetworkProvider.types';
9
+ export type { TempoWalletAccount } from '../TempoWalletAccount.types';
10
+ export type { TempoWalletProvider } from '../TempoWalletProvider.types';
11
+ export { TEMPO_CHAIN_IDS, isTempoChainId } from '../utils/tempoChainIds/tempoChainIds';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/exports/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,YAAY,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,YAAY,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC"}
@@ -0,0 +1,9 @@
1
+ export { sendTempoTransaction } from '../waas/sendTempoTransaction/sendTempoTransaction';
2
+ export { addWaasTempoExtension } from '../waas/addWaasTempoExtension/addWaasTempoExtension';
3
+ export { InvalidTempoNetworkError } from '../errors/InvalidTempoNetworkError';
4
+ export { TempoTransactionValidationError } from '../errors/TempoTransactionValidationError';
5
+ export { TempoTypedDataNotSupportedError } from '../errors/TempoTypedDataNotSupportedError';
6
+ export type { TempoTransactionRequest } from '../waas/utils/assertValidTempoTransactionRequest';
7
+ export type { TempoTransactionCall } from '../waas/utils/serializeTempoTransactionForWaas';
8
+ export type { WaasTempoWalletProvider } from '../waas/WaasTempoWalletProvider.types';
9
+ //# sourceMappingURL=waas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waas.d.ts","sourceRoot":"","sources":["../../src/exports/waas.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,YAAY,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAChG,YAAY,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,YAAY,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { type WalletAccount } from '@dynamic-labs-sdk/client';
2
+ import type { Chain, PublicClient, Transport } from 'viem';
3
+ type GetTempoPublicClientParams = {
4
+ walletAccount: WalletAccount;
5
+ };
6
+ /**
7
+ * Returns a viem PublicClient for the active Tempo network.
8
+ * Network data (RPC URL, chain config) is resolved from the 'TEMPO' network
9
+ * registry at runtime — not from EVM.
10
+ *
11
+ * @param params.walletAccount - Must have chain === 'TEMPO'.
12
+ * @param [client] - The Dynamic client instance. Only required when using multiple clients.
13
+ * @returns A viem public client connected to the wallet account's active Tempo network.
14
+ * @throws If no network data is found for the wallet account.
15
+ * @example
16
+ * ```ts
17
+ * if (isTempoWalletAccount(walletAccount)) {
18
+ * const publicClient = await getTempoPublicClient({ walletAccount });
19
+ * const blockNumber = await publicClient.getBlockNumber();
20
+ * }
21
+ * ```
22
+ * @see isTempoWalletAccount
23
+ * @see sendTip20Transaction
24
+ * @notInstrumented
25
+ */
26
+ export declare const getTempoPublicClient: ({ walletAccount }: GetTempoPublicClientParams, client?: import("@dynamic-labs-sdk/client").DynamicClient) => Promise<PublicClient<Transport, Chain>>;
27
+ export {};
28
+ //# sourceMappingURL=getTempoPublicClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTempoPublicClient.d.ts","sourceRoot":"","sources":["../../src/getTempoPublicClient/getTempoPublicClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAEnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAK3D,KAAK,0BAA0B,GAAG;IAChC,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,oBAAoB,sBACZ,0BAA0B,gEAE5C,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAYxC,CAAC"}
package/dist/index.cjs ADDED
@@ -0,0 +1,65 @@
1
+ const require_tempoChainIds = require('./tempoChainIds-wtNAU12H.cjs');
2
+ let _dynamic_labs_sdk_assert_package_version = require("@dynamic-labs-sdk/assert-package-version");
3
+ let _dynamic_labs_sdk_client_core = require("@dynamic-labs-sdk/client/core");
4
+
5
+ //#region src/addTempoExtension/addTempoExtension.ts
6
+ /** Registry key for the Tempo chain extension registered by addTempoExtension. */
7
+ const TEMPO_EXTENSION_KEY = "tempo";
8
+ /**
9
+ * Registers the Tempo chain extension with the Dynamic client.
10
+ * Enables support for Tempo networks (chain IDs 4217, 42429, 42431).
11
+ * Calling it more than once is safe: later calls do nothing.
12
+ *
13
+ * @param [client] - The Dynamic client instance. Only required when using multiple clients.
14
+ * @returns Nothing. The extension is registered on the client.
15
+ * @example
16
+ * ```ts
17
+ * import { createDynamicClient } from '@dynamic-labs-sdk/client';
18
+ * import { addTempoExtension } from '@dynamic-labs-sdk/tempo';
19
+ *
20
+ * const dynamicClient = createDynamicClient({ environmentId: '123' });
21
+ *
22
+ * addTempoExtension(dynamicClient);
23
+ * ```
24
+ * @see getTempoPublicClient
25
+ * @see isTempoWalletAccount
26
+ * @notInstrumented
27
+ */
28
+ const addTempoExtension = (client = (0, _dynamic_labs_sdk_client_core.getDefaultClient)()) => {
29
+ if ((0, _dynamic_labs_sdk_client_core.hasExtension)({ extensionKey: TEMPO_EXTENSION_KEY }, client)) return;
30
+ (0, _dynamic_labs_sdk_client_core.registerExtension)({ extensionKey: TEMPO_EXTENSION_KEY }, client);
31
+ require_tempoChainIds.registerTempoNetworkProviderBuilder(client);
32
+ };
33
+
34
+ //#endregion
35
+ //#region src/isTempoNetworkProvider/isTempoNetworkProvider.ts
36
+ /**
37
+ * Type guard — returns true if the network provider is for the Tempo chain.
38
+ *
39
+ * @param provider - The network provider to check.
40
+ * @returns Whether the network provider is a Tempo network provider.
41
+ * @example
42
+ * ```ts
43
+ * const tempoProviders = getNetworkProviders().filter(isTempoNetworkProvider);
44
+ * ```
45
+ * @see isTempoWalletAccount
46
+ * @see isTempoWalletProvider
47
+ * @notInstrumented
48
+ */
49
+ const isTempoNetworkProvider = (provider) => provider.chain === "TEMPO";
50
+
51
+ //#endregion
52
+ //#region src/exports/index.ts
53
+ (0, _dynamic_labs_sdk_assert_package_version.assertPackageVersion)(require_tempoChainIds.name, require_tempoChainIds.version);
54
+
55
+ //#endregion
56
+ exports.TEMPO_CHAIN_IDS = require_tempoChainIds.TEMPO_CHAIN_IDS;
57
+ exports.TempoNativeTokenError = require_tempoChainIds.TempoNativeTokenError;
58
+ exports.addTempoExtension = addTempoExtension;
59
+ exports.getTempoPublicClient = require_tempoChainIds.getTempoPublicClient;
60
+ exports.isTempoChainId = require_tempoChainIds.isTempoChainId;
61
+ exports.isTempoNetworkProvider = isTempoNetworkProvider;
62
+ exports.isTempoWalletAccount = require_tempoChainIds.isTempoWalletAccount;
63
+ exports.isTempoWalletProvider = require_tempoChainIds.isTempoWalletProvider;
64
+ exports.sendTip20Transaction = require_tempoChainIds.sendTip20Transaction;
65
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["packageName","packageVersion"],"sources":["../src/addTempoExtension/addTempoExtension.ts","../src/isTempoNetworkProvider/isTempoNetworkProvider.ts","../src/exports/index.ts"],"sourcesContent":["import {\n getDefaultClient,\n hasExtension,\n registerExtension,\n} from '@dynamic-labs-sdk/client/core';\n\nimport { registerTempoNetworkProviderBuilder } from '../registerTempoNetworkProviderBuilder/registerTempoNetworkProviderBuilder';\n\n/** Registry key for the Tempo chain extension registered by addTempoExtension. */\nexport const TEMPO_EXTENSION_KEY = 'tempo';\n\n/**\n * Registers the Tempo chain extension with the Dynamic client.\n * Enables support for Tempo networks (chain IDs 4217, 42429, 42431).\n * Calling it more than once is safe: later calls do nothing.\n *\n * @param [client] - The Dynamic client instance. Only required when using multiple clients.\n * @returns Nothing. The extension is registered on the client.\n * @example\n * ```ts\n * import { createDynamicClient } from '@dynamic-labs-sdk/client';\n * import { addTempoExtension } from '@dynamic-labs-sdk/tempo';\n *\n * const dynamicClient = createDynamicClient({ environmentId: '123' });\n *\n * addTempoExtension(dynamicClient);\n * ```\n * @see getTempoPublicClient\n * @see isTempoWalletAccount\n * @notInstrumented\n */\nexport const addTempoExtension = (client = getDefaultClient()): void => {\n if (hasExtension({ extensionKey: TEMPO_EXTENSION_KEY }, client)) {\n return;\n }\n\n registerExtension({ extensionKey: TEMPO_EXTENSION_KEY }, client);\n registerTempoNetworkProviderBuilder(client);\n};\n","import type { NetworkProvider } from '@dynamic-labs-sdk/client';\n\nimport type { TempoNetworkProvider } from '../TempoNetworkProvider.types';\n\n/**\n * Type guard — returns true if the network provider is for the Tempo chain.\n *\n * @param provider - The network provider to check.\n * @returns Whether the network provider is a Tempo network provider.\n * @example\n * ```ts\n * const tempoProviders = getNetworkProviders().filter(isTempoNetworkProvider);\n * ```\n * @see isTempoWalletAccount\n * @see isTempoWalletProvider\n * @notInstrumented\n */\nexport const isTempoNetworkProvider = (\n provider: NetworkProvider\n): provider is TempoNetworkProvider => provider.chain === 'TEMPO';\n","import { assertPackageVersion } from '@dynamic-labs-sdk/assert-package-version';\n\nimport {\n name as packageName,\n version as packageVersion,\n} from '../../package.json';\nassertPackageVersion(packageName, packageVersion);\n\nexport { TempoNativeTokenError } from '../errors/TempoNativeTokenError/TempoNativeTokenError';\nexport { addTempoExtension } from '../addTempoExtension/addTempoExtension';\nexport { getTempoPublicClient } from '../getTempoPublicClient/getTempoPublicClient';\nexport { isTempoNetworkProvider } from '../isTempoNetworkProvider/isTempoNetworkProvider';\nexport { isTempoWalletAccount } from '../isTempoWalletAccount/isTempoWalletAccount';\nexport { isTempoWalletProvider } from '../isTempoWalletProvider/isTempoWalletProvider';\nexport { sendTip20Transaction } from '../sendTip20Transaction/sendTip20Transaction';\nexport type { TempoNetworkProvider } from '../TempoNetworkProvider.types';\nexport type { TempoWalletAccount } from '../TempoWalletAccount.types';\nexport type { TempoWalletProvider } from '../TempoWalletProvider.types';\nexport { TEMPO_CHAIN_IDS, isTempoChainId } from '../utils/tempoChainIds/tempoChainIds';\n"],"mappings":";;;;;;AASA,MAAa,sBAAsB;;;;;;;;;;;;;;;;;;;;;AAsBnC,MAAa,qBAAqB,8DAA2B,KAAW;AACtE,qDAAiB,EAAE,cAAc,qBAAqB,EAAE,OAAO,CAC7D;AAGF,sDAAkB,EAAE,cAAc,qBAAqB,EAAE,OAAO;AAChE,2DAAoC,OAAO;;;;;;;;;;;;;;;;;;ACpB7C,MAAa,0BACX,aACqC,SAAS,UAAU;;;;mECbrCA,4BAAaC,8BAAe"}
@@ -0,0 +1,57 @@
1
+ import { a as isTempoWalletAccount, c as registerTempoNetworkProviderBuilder, d as version, i as isTempoWalletProvider, l as TempoNativeTokenError, n as isTempoChainId, o as getTempoPublicClient, r as sendTip20Transaction, t as TEMPO_CHAIN_IDS, u as name } from "./tempoChainIds-BVinmTlR.esm.js";
2
+ import { assertPackageVersion } from "@dynamic-labs-sdk/assert-package-version";
3
+ import { getDefaultClient, hasExtension, registerExtension } from "@dynamic-labs-sdk/client/core";
4
+
5
+ //#region src/addTempoExtension/addTempoExtension.ts
6
+ /** Registry key for the Tempo chain extension registered by addTempoExtension. */
7
+ const TEMPO_EXTENSION_KEY = "tempo";
8
+ /**
9
+ * Registers the Tempo chain extension with the Dynamic client.
10
+ * Enables support for Tempo networks (chain IDs 4217, 42429, 42431).
11
+ * Calling it more than once is safe: later calls do nothing.
12
+ *
13
+ * @param [client] - The Dynamic client instance. Only required when using multiple clients.
14
+ * @returns Nothing. The extension is registered on the client.
15
+ * @example
16
+ * ```ts
17
+ * import { createDynamicClient } from '@dynamic-labs-sdk/client';
18
+ * import { addTempoExtension } from '@dynamic-labs-sdk/tempo';
19
+ *
20
+ * const dynamicClient = createDynamicClient({ environmentId: '123' });
21
+ *
22
+ * addTempoExtension(dynamicClient);
23
+ * ```
24
+ * @see getTempoPublicClient
25
+ * @see isTempoWalletAccount
26
+ * @notInstrumented
27
+ */
28
+ const addTempoExtension = (client = getDefaultClient()) => {
29
+ if (hasExtension({ extensionKey: TEMPO_EXTENSION_KEY }, client)) return;
30
+ registerExtension({ extensionKey: TEMPO_EXTENSION_KEY }, client);
31
+ registerTempoNetworkProviderBuilder(client);
32
+ };
33
+
34
+ //#endregion
35
+ //#region src/isTempoNetworkProvider/isTempoNetworkProvider.ts
36
+ /**
37
+ * Type guard — returns true if the network provider is for the Tempo chain.
38
+ *
39
+ * @param provider - The network provider to check.
40
+ * @returns Whether the network provider is a Tempo network provider.
41
+ * @example
42
+ * ```ts
43
+ * const tempoProviders = getNetworkProviders().filter(isTempoNetworkProvider);
44
+ * ```
45
+ * @see isTempoWalletAccount
46
+ * @see isTempoWalletProvider
47
+ * @notInstrumented
48
+ */
49
+ const isTempoNetworkProvider = (provider) => provider.chain === "TEMPO";
50
+
51
+ //#endregion
52
+ //#region src/exports/index.ts
53
+ assertPackageVersion(name, version);
54
+
55
+ //#endregion
56
+ export { TEMPO_CHAIN_IDS, TempoNativeTokenError, addTempoExtension, getTempoPublicClient, isTempoChainId, isTempoNetworkProvider, isTempoWalletAccount, isTempoWalletProvider, sendTip20Transaction };
57
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","names":["packageName","packageVersion"],"sources":["../src/addTempoExtension/addTempoExtension.ts","../src/isTempoNetworkProvider/isTempoNetworkProvider.ts","../src/exports/index.ts"],"sourcesContent":["import {\n getDefaultClient,\n hasExtension,\n registerExtension,\n} from '@dynamic-labs-sdk/client/core';\n\nimport { registerTempoNetworkProviderBuilder } from '../registerTempoNetworkProviderBuilder/registerTempoNetworkProviderBuilder';\n\n/** Registry key for the Tempo chain extension registered by addTempoExtension. */\nexport const TEMPO_EXTENSION_KEY = 'tempo';\n\n/**\n * Registers the Tempo chain extension with the Dynamic client.\n * Enables support for Tempo networks (chain IDs 4217, 42429, 42431).\n * Calling it more than once is safe: later calls do nothing.\n *\n * @param [client] - The Dynamic client instance. Only required when using multiple clients.\n * @returns Nothing. The extension is registered on the client.\n * @example\n * ```ts\n * import { createDynamicClient } from '@dynamic-labs-sdk/client';\n * import { addTempoExtension } from '@dynamic-labs-sdk/tempo';\n *\n * const dynamicClient = createDynamicClient({ environmentId: '123' });\n *\n * addTempoExtension(dynamicClient);\n * ```\n * @see getTempoPublicClient\n * @see isTempoWalletAccount\n * @notInstrumented\n */\nexport const addTempoExtension = (client = getDefaultClient()): void => {\n if (hasExtension({ extensionKey: TEMPO_EXTENSION_KEY }, client)) {\n return;\n }\n\n registerExtension({ extensionKey: TEMPO_EXTENSION_KEY }, client);\n registerTempoNetworkProviderBuilder(client);\n};\n","import type { NetworkProvider } from '@dynamic-labs-sdk/client';\n\nimport type { TempoNetworkProvider } from '../TempoNetworkProvider.types';\n\n/**\n * Type guard — returns true if the network provider is for the Tempo chain.\n *\n * @param provider - The network provider to check.\n * @returns Whether the network provider is a Tempo network provider.\n * @example\n * ```ts\n * const tempoProviders = getNetworkProviders().filter(isTempoNetworkProvider);\n * ```\n * @see isTempoWalletAccount\n * @see isTempoWalletProvider\n * @notInstrumented\n */\nexport const isTempoNetworkProvider = (\n provider: NetworkProvider\n): provider is TempoNetworkProvider => provider.chain === 'TEMPO';\n","import { assertPackageVersion } from '@dynamic-labs-sdk/assert-package-version';\n\nimport {\n name as packageName,\n version as packageVersion,\n} from '../../package.json';\nassertPackageVersion(packageName, packageVersion);\n\nexport { TempoNativeTokenError } from '../errors/TempoNativeTokenError/TempoNativeTokenError';\nexport { addTempoExtension } from '../addTempoExtension/addTempoExtension';\nexport { getTempoPublicClient } from '../getTempoPublicClient/getTempoPublicClient';\nexport { isTempoNetworkProvider } from '../isTempoNetworkProvider/isTempoNetworkProvider';\nexport { isTempoWalletAccount } from '../isTempoWalletAccount/isTempoWalletAccount';\nexport { isTempoWalletProvider } from '../isTempoWalletProvider/isTempoWalletProvider';\nexport { sendTip20Transaction } from '../sendTip20Transaction/sendTip20Transaction';\nexport type { TempoNetworkProvider } from '../TempoNetworkProvider.types';\nexport type { TempoWalletAccount } from '../TempoWalletAccount.types';\nexport type { TempoWalletProvider } from '../TempoWalletProvider.types';\nexport { TEMPO_CHAIN_IDS, isTempoChainId } from '../utils/tempoChainIds/tempoChainIds';\n"],"mappings":";;;;;;AASA,MAAa,sBAAsB;;;;;;;;;;;;;;;;;;;;;AAsBnC,MAAa,qBAAqB,SAAS,kBAAkB,KAAW;AACtE,KAAI,aAAa,EAAE,cAAc,qBAAqB,EAAE,OAAO,CAC7D;AAGF,mBAAkB,EAAE,cAAc,qBAAqB,EAAE,OAAO;AAChE,qCAAoC,OAAO;;;;;;;;;;;;;;;;;;ACpB7C,MAAa,0BACX,aACqC,SAAS,UAAU;;;;ACb1D,qBAAqBA,MAAaC,QAAe"}
@@ -0,0 +1,17 @@
1
+ import type { NetworkProvider } from '@dynamic-labs-sdk/client';
2
+ import type { TempoNetworkProvider } from '../TempoNetworkProvider.types';
3
+ /**
4
+ * Type guard — returns true if the network provider is for the Tempo chain.
5
+ *
6
+ * @param provider - The network provider to check.
7
+ * @returns Whether the network provider is a Tempo network provider.
8
+ * @example
9
+ * ```ts
10
+ * const tempoProviders = getNetworkProviders().filter(isTempoNetworkProvider);
11
+ * ```
12
+ * @see isTempoWalletAccount
13
+ * @see isTempoWalletProvider
14
+ * @notInstrumented
15
+ */
16
+ export declare const isTempoNetworkProvider: (provider: NetworkProvider) => provider is TempoNetworkProvider;
17
+ //# sourceMappingURL=isTempoNetworkProvider.d.ts.map