@dynamic-labs-wallet/core 1.1.17 → 1.1.19

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.
package/index.cjs CHANGED
@@ -2,7 +2,9 @@
2
2
 
3
3
  var primitives = require('@dynamic-labs-wallet/primitives');
4
4
  var uuid = require('uuid');
5
- var sdkApiCore = require('@dynamic-labs/sdk-api-core');
5
+ var WaasChainEnum = require('@dynamic-labs/sdk-api-core/models/WaasChainEnum');
6
+ var WaasPolicyConstraintCondition = require('@dynamic-labs/sdk-api-core/models/WaasPolicyConstraintCondition');
7
+ var WaasPolicyRuleType = require('@dynamic-labs/sdk-api-core/models/WaasPolicyRuleType');
6
8
  var axios = require('axios');
7
9
  var utils = require('@dynamic-labs-wallet/forward-mpc-client/utils');
8
10
 
@@ -602,9 +604,6 @@ function _extends() {
602
604
  return _extends.apply(this, arguments);
603
605
  }
604
606
 
605
- // Local mirror of the business-account models generated into
606
- // `@dynamic-labs/sdk-api-core`. Swap these for the generated imports once that
607
- // package is bumped with the SDK routes (redcoast PR #9792).
608
607
  var BusinessAccountMemberRole = /*#__PURE__*/ function(BusinessAccountMemberRole) {
609
608
  BusinessAccountMemberRole["Owner"] = "owner";
610
609
  BusinessAccountMemberRole["Admin"] = "admin";
@@ -1207,7 +1206,7 @@ const getRequiredExternalKeyShareId = (ks)=>{
1207
1206
  * before it is posted and surfaces in Datadog exactly as the recovery path does.
1208
1207
  */ const assertDynamicLocationsHaveExternalKeyShareId = (locations)=>locations.filter((location)=>location.location === BackupLocation.DYNAMIC).forEach((location)=>getRequiredExternalKeyShareId(location));
1209
1208
 
1210
- var version = "1.1.17";
1209
+ var version = "1.1.19";
1211
1210
 
1212
1211
  /**
1213
1212
  * Reads the Authorization header off an axios request config, which stores
@@ -2745,15 +2744,15 @@ Object.defineProperty(exports, "SigningAlgorithm", {
2745
2744
  });
2746
2745
  Object.defineProperty(exports, "WaasChainEnum", {
2747
2746
  enumerable: true,
2748
- get: function () { return sdkApiCore.WaasChainEnum; }
2747
+ get: function () { return WaasChainEnum.WaasChainEnum; }
2749
2748
  });
2750
2749
  Object.defineProperty(exports, "WaasPolicyConstraintCondition", {
2751
2750
  enumerable: true,
2752
- get: function () { return sdkApiCore.WaasPolicyConstraintCondition; }
2751
+ get: function () { return WaasPolicyConstraintCondition.WaasPolicyConstraintCondition; }
2753
2752
  });
2754
2753
  Object.defineProperty(exports, "WaasPolicyRuleType", {
2755
2754
  enumerable: true,
2756
- get: function () { return sdkApiCore.WaasPolicyRuleType; }
2755
+ get: function () { return WaasPolicyRuleType.WaasPolicyRuleType; }
2757
2756
  });
2758
2757
  Object.defineProperty(exports, "isAxiosError", {
2759
2758
  enumerable: true,
package/index.esm.js CHANGED
@@ -1,7 +1,9 @@
1
1
  import { SigningAlgorithm } from '@dynamic-labs-wallet/primitives';
2
2
  export { SigningAlgorithm } from '@dynamic-labs-wallet/primitives';
3
3
  import { v4 } from 'uuid';
4
- export { WaasChainEnum, WaasPolicyConstraintCondition, WaasPolicyRuleType } from '@dynamic-labs/sdk-api-core';
4
+ export { WaasChainEnum } from '@dynamic-labs/sdk-api-core/models/WaasChainEnum';
5
+ export { WaasPolicyConstraintCondition } from '@dynamic-labs/sdk-api-core/models/WaasPolicyConstraintCondition';
6
+ export { WaasPolicyRuleType } from '@dynamic-labs/sdk-api-core/models/WaasPolicyRuleType';
5
7
  import axios from 'axios';
6
8
  export { isAxiosError } from 'axios';
7
9
  export { classifyForwardMpcError, isAttestationError, isForwardMpcError } from '@dynamic-labs-wallet/forward-mpc-client/utils';
@@ -602,9 +604,6 @@ function _extends() {
602
604
  return _extends.apply(this, arguments);
603
605
  }
604
606
 
605
- // Local mirror of the business-account models generated into
606
- // `@dynamic-labs/sdk-api-core`. Swap these for the generated imports once that
607
- // package is bumped with the SDK routes (redcoast PR #9792).
608
607
  var BusinessAccountMemberRole = /*#__PURE__*/ function(BusinessAccountMemberRole) {
609
608
  BusinessAccountMemberRole["Owner"] = "owner";
610
609
  BusinessAccountMemberRole["Admin"] = "admin";
@@ -1207,7 +1206,7 @@ const getRequiredExternalKeyShareId = (ks)=>{
1207
1206
  * before it is posted and surfaces in Datadog exactly as the recovery path does.
1208
1207
  */ const assertDynamicLocationsHaveExternalKeyShareId = (locations)=>locations.filter((location)=>location.location === BackupLocation.DYNAMIC).forEach((location)=>getRequiredExternalKeyShareId(location));
1209
1208
 
1210
- var version = "1.1.17";
1209
+ var version = "1.1.19";
1211
1210
 
1212
1211
  /**
1213
1212
  * Reads the Authorization header off an axios request config, which stores
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@dynamic-labs-wallet/core",
3
- "version": "1.1.17",
3
+ "version": "1.1.19",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
7
- "@dynamic-labs/sdk-api-core": "^0.16.0",
8
- "@dynamic-labs-wallet/primitives": "1.1.17",
7
+ "@dynamic-labs/sdk-api-core": "0.50.0",
8
+ "@dynamic-labs-wallet/primitives": "1.1.19",
9
9
  "axios": "1.16.0",
10
10
  "uuid": "11.1.0"
11
11
  },
@@ -24,7 +24,18 @@
24
24
  "projectType": "library",
25
25
  "name": "core",
26
26
  "targets": {
27
- "build": {}
27
+ "build": {
28
+ "inputs": [
29
+ "production",
30
+ "^production"
31
+ ]
32
+ },
33
+ "rollup-build": {
34
+ "inputs": [
35
+ "production",
36
+ "^production"
37
+ ]
38
+ }
28
39
  }
29
40
  },
30
41
  "main": "./index.cjs",
@@ -39,5 +50,7 @@
39
50
  "default": "./index.esm.js"
40
51
  }
41
52
  },
42
- "devDependencies": {}
53
+ "imports": {
54
+ "#internal/sdk-api-core": "./src/internal/sdk-api-core/index.js"
55
+ }
43
56
  }
package/src/api/api.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import type { ForwardMPCClientV2 } from '@dynamic-labs-wallet/forward-mpc-client';
2
- import type { RoomTypeEnum, SignMessageEvmTransaction, SignMessageEvmUserOperation, SignMessageSvmTransaction } from '@dynamic-labs/sdk-api-core';
3
- import { type BackupLocation } from '../constants.js';
2
+ import type { BackupKeySharesToLocationsRequest, CreateRoomsRequest, CreateRoomsWithoutWalletIdRequest, CreateWaasAccountRequest, ExportAleoViewKeyRequest, ExportWaasWalletPrivateKeyRequest, ImportWaasPrivateKeyRequest, InlineObject1, InlineObject2, InlineObject4, InlineResponse2003, InlineResponse2005, NoncesResponse, ReshareRequest as ApiReshareRequest, SignMessageWithWaasRequest, SignMessageEvmTransaction, SignMessageEvmUserOperation, SignMessageSvmTransaction } from '#internal/sdk-api-core';
4
3
  import { type SlowDeliveryMeta } from '../eventStream/utils.js';
5
4
  import { ThresholdSignatureScheme } from '../mpc/constants.js';
6
- import { AuthMode, type ApprovalQuorumRequestContext, type BackupLocationWithExternalKeyShareId, type BitcoinConfig, type EncryptedDelegatedKeyShareEnvelope, type ILogger, type KeygenCompleteResponse, type OpenRoomResponse, type RefreshResponse, type ReshareResponse, type RevokeDelegationResponse, type ShareSetType, type TraceContext, type WaasPolicyRule, type WaasWalletResponse } from '../types.js';
7
- import { type BusinessAccountActionRequired, type CreateBusinessAccountSdkRequest, type BusinessAccount, type BusinessAccountDetail, type BusinessAccountList, type BusinessAccountMember, type BusinessAccountMemberRole, type BusinessAccountSigner, type BusinessAccountSignedIntent, type BusinessAccountSignerType, type BusinessAccountSignerIdentifierType, type SmsCountryCode } from '../businessAccounts/types.js';
5
+ import { AuthMode, type AddBusinessAccountMemberRequest, type GetBusinessAccountRequest, type RequestWithTraceContext, type ApprovalQuorumRequestContext, type BackupLocationWithExternalKeyShareId, type BitcoinConfig, type EncryptedDelegatedKeyShareEnvelope, type ILogger, type KeygenCompleteResponse, type LinkWalletToBusinessAccountRequest, type OpenRoomResponse, type ReshareResponse, type RevokeDelegationResponse, type ShareSetType, type TraceContext, type WaasWalletResponse } from '../types.js';
6
+ import { type BusinessAccountActionRequired, type CreateBusinessAccountSdkRequest, type BusinessAccount, type BusinessAccountDetail, type BusinessAccountList, type BusinessAccountMember, type BusinessAccountSigner, type BusinessAccountSignedIntent, type BusinessAccountSignerType, type TargetSignerIdentity } from '../businessAccounts/types.js';
8
7
  import { BaseClient } from './client.js';
8
+ import type { AleoFeemasterPolicyResponse, AleoScannerPublicKeyResponse, BackupKeySharesResponse, GetAvailableEVMGaslessRelayerResponse, GetEVMSponsoredTransactionStatusResponse, SponsorEVMTransactionRequest, SponsorEVMTransactionResponse, SponsorSVMTransactionRequest, SponsorSVMTransactionResponse, StoreEncryptedBackupResponse, WalletAdditionalAddressRequest } from './types.js';
9
9
  export type DynamicApiClientOptions = {
10
10
  environmentId: string;
11
11
  authToken?: string;
@@ -24,6 +24,30 @@ export type DynamicApiClientOptions = {
24
24
  type SignMessageChainContext = (SignMessageEvmTransaction | SignMessageSvmTransaction | SignMessageEvmUserOperation) & {
25
25
  approvalQuorum?: ApprovalQuorumRequestContext;
26
26
  };
27
+ type CreateWalletAccountApiRequest = Omit<CreateWaasAccountRequest, 'chain' | 'thresholdSignatureScheme' | 'addressType' | 'delegateToProjectEnvironment' | 'variant'> & {
28
+ chainName: string;
29
+ dynamicRequestId?: string;
30
+ thresholdSignatureScheme: ThresholdSignatureScheme;
31
+ bitcoinConfig?: BitcoinConfig;
32
+ traceContext?: TraceContext;
33
+ };
34
+ type SignMessageApiRequest = Omit<SignMessageWithWaasRequest, 'context' | 'approvalQuorum'> & {
35
+ dynamicRequestId?: string;
36
+ walletId: string;
37
+ onError?: (error: Error) => void;
38
+ mfaToken?: string;
39
+ elevatedAccessToken?: string;
40
+ context?: SignMessageChainContext;
41
+ approvalQuorum?: ApprovalQuorumRequestContext;
42
+ forwardMPCClientEnabled?: boolean;
43
+ traceContext?: TraceContext;
44
+ bitcoinConfig?: BitcoinConfig;
45
+ };
46
+ type AleoApiRequest<T extends {
47
+ network: string;
48
+ }> = RequestWithTraceContext<Omit<T, 'network'> & {
49
+ network: `${T['network']}`;
50
+ }>;
27
51
  export declare class DynamicApiClient extends BaseClient {
28
52
  /**
29
53
  * When true, routes use `/api/v0/server` prefix (authenticated via API key)
@@ -57,20 +81,11 @@ export declare class DynamicApiClient extends BaseClient {
57
81
  /** Hex-encoded raw P-256 public key, bound into the resulting JWT's session_public_key claim. */
58
82
  sessionPublicKey?: string;
59
83
  }): Promise<import("axios").AxiosResponse<any, any, {}>>;
60
- createWalletAccount({ chainName, clientKeygenIds, dynamicRequestId, thresholdSignatureScheme, skipLock, bitcoinConfig, businessAccountId, onError, onCeremonyComplete, onSlowDelivery, traceContext, }: {
61
- chainName: string;
62
- dynamicRequestId?: string;
63
- clientKeygenIds: string[];
64
- thresholdSignatureScheme: ThresholdSignatureScheme;
65
- skipLock?: boolean;
66
- bitcoinConfig?: BitcoinConfig;
67
- /** When set, the wallet is owned by this business account and a signer row is created server-side. */
68
- businessAccountId?: string;
84
+ createWalletAccount({ chainName, clientKeygenIds, dynamicRequestId, thresholdSignatureScheme, skipLock, bitcoinConfig, businessAccountId, onError, onCeremonyComplete, onSlowDelivery, traceContext, }: CreateWalletAccountApiRequest & {
69
85
  onError?: (error: Error) => void;
70
86
  onCeremonyComplete?: (accountAddress: string, walletId: string, shareSetId?: string, shareSetType?: ShareSetType) => void;
71
87
  /** Diagnostic: fires once if keygen_complete hasn't arrived within the watchdog window. */
72
88
  onSlowDelivery?: (meta: SlowDeliveryMeta) => void;
73
- traceContext?: TraceContext;
74
89
  }): Promise<KeygenCompleteResponse>;
75
90
  /**
76
91
  * Plain-JSON (non-SSE) request to the `/create` endpoint. Does NOT synchronously
@@ -80,17 +95,9 @@ export declare class DynamicApiClient extends BaseClient {
80
95
  * returning the wallet identity (`walletId`/`accountAddress`/`shareSetId`) once the
81
96
  * worker has finished. The wallet is the product of the full ceremony, not this call.
82
97
  */
83
- requestWalletCreationJson({ chainName, clientKeygenIds, dynamicRequestId, thresholdSignatureScheme, skipLock, bitcoinConfig, businessAccountId, idempotencyKey, timeoutMs, traceContext, poll, }: {
84
- chainName: string;
85
- clientKeygenIds: string[];
86
- dynamicRequestId?: string;
87
- thresholdSignatureScheme: ThresholdSignatureScheme;
88
- skipLock?: boolean;
89
- bitcoinConfig?: BitcoinConfig;
90
- businessAccountId?: string;
98
+ requestWalletCreationJson({ chainName, clientKeygenIds, dynamicRequestId, thresholdSignatureScheme, skipLock, bitcoinConfig, businessAccountId, idempotencyKey, timeoutMs, traceContext, poll, }: CreateWalletAccountApiRequest & {
91
99
  idempotencyKey: string;
92
100
  timeoutMs?: number;
93
- traceContext?: TraceContext;
94
101
  /**
95
102
  * Read-only poll for an already-claimed ceremony (same idempotency key).
96
103
  * The server returns the current ceremony state without claiming a new
@@ -98,22 +105,7 @@ export declare class DynamicApiClient extends BaseClient {
98
105
  */
99
106
  poll?: boolean;
100
107
  }): Promise<KeygenCompleteResponse>;
101
- signMessage({ dynamicRequestId, walletId, shareSetId, message, onError, isFormatted, mfaToken, elevatedAccessToken, roomId, context, approvalQuorum, forwardMPCClientEnabled, traceContext, bitcoinConfig, }: {
102
- dynamicRequestId?: string;
103
- walletId: string;
104
- shareSetId?: string;
105
- message: string;
106
- onError?: (error: Error) => void;
107
- isFormatted?: boolean;
108
- mfaToken?: string;
109
- elevatedAccessToken?: string;
110
- roomId?: string;
111
- context?: SignMessageChainContext;
112
- approvalQuorum?: ApprovalQuorumRequestContext;
113
- forwardMPCClientEnabled?: boolean;
114
- traceContext?: TraceContext;
115
- bitcoinConfig?: BitcoinConfig;
116
- }): Promise<OpenRoomResponse>;
108
+ signMessage({ dynamicRequestId, walletId, shareSetId, message, onError, isFormatted, mfaToken, elevatedAccessToken, roomId, context, approvalQuorum, forwardMPCClientEnabled, traceContext, bitcoinConfig, }: SignMessageApiRequest): Promise<import("@dynamic-labs/sdk-api-core").OpenRoomResponseWithServerKeygenIds>;
117
109
  /**
118
110
  * Plain-JSON (non-SSE) variant of `signMessage`. Hits the same
119
111
  * `/signMessage` endpoint; the `x-idempotency-key` header tells the backend
@@ -121,22 +113,8 @@ export declare class DynamicApiClient extends BaseClient {
121
113
  * OpenRoomResponse synchronously instead of streaming `room_created` over SSE.
122
114
  * Unlike wallet creation, no completion polling is needed — the response is final.
123
115
  */
124
- requestSignMessageJson({ dynamicRequestId, walletId, shareSetId, message, onError, isFormatted, mfaToken, elevatedAccessToken, roomId, context, approvalQuorum, idempotencyKey, forwardMPCClientEnabled, traceContext, bitcoinConfig, }: {
125
- dynamicRequestId?: string;
126
- walletId: string;
127
- shareSetId?: string;
128
- message: string;
129
- onError?: (error: Error) => void;
130
- isFormatted?: boolean;
131
- mfaToken?: string;
132
- elevatedAccessToken?: string;
133
- roomId?: string;
134
- context?: SignMessageChainContext;
135
- approvalQuorum?: ApprovalQuorumRequestContext;
116
+ requestSignMessageJson({ dynamicRequestId, walletId, shareSetId, message, onError, isFormatted, mfaToken, elevatedAccessToken, roomId, context, approvalQuorum, idempotencyKey, forwardMPCClientEnabled, traceContext, bitcoinConfig, }: SignMessageApiRequest & {
136
117
  idempotencyKey: string;
137
- forwardMPCClientEnabled?: boolean;
138
- traceContext?: TraceContext;
139
- bitcoinConfig?: BitcoinConfig;
140
118
  }): Promise<OpenRoomResponse>;
141
119
  refreshWalletAccountShares({ dynamicRequestId, walletId, shareSetId, onError, onCeremonyComplete, mfaToken, elevatedAccessToken, traceContext, }: {
142
120
  dynamicRequestId?: string;
@@ -147,55 +125,46 @@ export declare class DynamicApiClient extends BaseClient {
147
125
  mfaToken?: string;
148
126
  elevatedAccessToken?: string;
149
127
  traceContext?: TraceContext;
150
- }): Promise<RefreshResponse>;
151
- reshare({ walletId, shareSetId, dynamicRequestId, clientKeygenIds, oldThresholdSignatureScheme, newThresholdSignatureScheme, delegateToProjectEnvironment, revokeDelegation, mfaToken, elevatedAccessToken, onError, onCeremonyComplete, traceContext, initialSignerRules, reshareKind, }: {
128
+ }): Promise<import("@dynamic-labs/sdk-api-core").RefreshKeySharesResponse>;
129
+ reshare({ walletId, shareSetId, dynamicRequestId, clientKeygenIds, oldThresholdSignatureScheme, newThresholdSignatureScheme, delegateToProjectEnvironment, revokeDelegation, mfaToken, elevatedAccessToken, onError, onCeremonyComplete, traceContext, initialSignerRules, reshareKind, }: Omit<ApiReshareRequest, 'oldThresholdSignatureScheme' | 'newThresholdSignatureScheme' | 'reshareKind'> & {
152
130
  dynamicRequestId?: string;
153
131
  walletId: string;
154
- shareSetId?: string;
155
- clientKeygenIds: string[];
156
132
  oldThresholdSignatureScheme: ThresholdSignatureScheme;
157
133
  newThresholdSignatureScheme: ThresholdSignatureScheme;
158
- delegateToProjectEnvironment?: boolean;
159
- revokeDelegation?: boolean;
160
134
  mfaToken?: string;
161
135
  elevatedAccessToken?: string;
162
136
  onError?: (error: Error) => void;
163
137
  onCeremonyComplete?: (accountAddress: string, walletId: string, shareSetId?: string, shareSetType?: ShareSetType) => void;
164
138
  traceContext?: TraceContext;
165
- /** Seeds the delegated Signer's minted policy layer at ceremony time (delegation reshare only). */
166
- initialSignerRules?: WaasPolicyRule[];
167
139
  /**
168
140
  * What kind of share this ceremony mints. Omitted defaults to `rootUser`
169
141
  * server-side. `offlineRecovery` makes redcoast mint an independent 2/2
170
142
  * set and leave rootUser untouched.
171
143
  */
172
- reshareKind?: 'rootUser' | 'cloudBackup' | 'delegation' | 'offlineRecovery';
173
- }): Promise<ReshareResponse>;
174
- exportKey({ mfaToken, elevatedAccessToken, dynamicRequestId, walletId, shareSetId, exportId, bitcoinConfig, onError, traceContext, }: {
144
+ reshareKind?: `${NonNullable<ApiReshareRequest['reshareKind']>}`;
145
+ }): Promise<import("@dynamic-labs/sdk-api-core").OpenRoomResponseForReshare>;
146
+ exportKey({ mfaToken, elevatedAccessToken, dynamicRequestId, walletId, shareSetId, exportId, bitcoinConfig, onError, traceContext, }: Omit<ExportWaasWalletPrivateKeyRequest, 'addressType'> & {
175
147
  mfaToken?: string;
176
148
  elevatedAccessToken?: string;
177
149
  dynamicRequestId?: string;
178
150
  walletId: string;
179
- shareSetId?: string;
180
- exportId: string;
181
151
  bitcoinConfig?: BitcoinConfig;
182
152
  onError?: (error: Error) => void;
183
153
  traceContext?: TraceContext;
184
- }): Promise<OpenRoomResponse>;
154
+ }): Promise<import("@dynamic-labs/sdk-api-core").OpenRoomResponseWithServerKeygenIds>;
185
155
  /**
186
156
  * Kick off the Aleo view-key export MPC ceremony. Returns the MPC room once
187
157
  * redcoast + wallet-service have joined; the client then joins the same
188
158
  * room via Sodot's `exportViewKey` to receive the view key.
189
159
  */
190
- exportAleoViewKey({ mfaToken, elevatedAccessToken, dynamicRequestId, walletId, exportId, onError, traceContext, }: {
160
+ exportAleoViewKey({ mfaToken, elevatedAccessToken, dynamicRequestId, walletId, exportId, onError, traceContext, }: ExportAleoViewKeyRequest & {
191
161
  mfaToken?: string;
192
162
  elevatedAccessToken?: string;
193
163
  dynamicRequestId?: string;
194
164
  walletId: string;
195
- exportId: string;
196
165
  onError?: (error: Error) => void;
197
166
  traceContext?: TraceContext;
198
- }): Promise<OpenRoomResponse>;
167
+ }): Promise<import("@dynamic-labs/sdk-api-core").OpenRoomResponseWithServerKeygenIds>;
199
168
  /**
200
169
  * Kick off the Aleo signRequest MPC ceremony. Returns the MPC room once
201
170
  * redcoast + wallet-service have joined; the client then joins the same
@@ -209,7 +178,7 @@ export declare class DynamicApiClient extends BaseClient {
209
178
  payload: unknown;
210
179
  onError?: (error: Error) => void;
211
180
  traceContext?: TraceContext;
212
- }): Promise<OpenRoomResponse>;
181
+ }): Promise<import("@dynamic-labs/sdk-api-core").OpenRoomResponseWithServerKeygenIds>;
213
182
  /**
214
183
  * Fetch the Aleo Feemaster sponsorship policy for a network. Redcoast
215
184
  * holds the ANF Bearer key server-side and forwards. Caller usually
@@ -219,12 +188,7 @@ export declare class DynamicApiClient extends BaseClient {
219
188
  getAleoFeemasterPolicy({ network, traceContext, }: {
220
189
  network: 'testnet' | 'mainnet';
221
190
  traceContext?: TraceContext;
222
- }): Promise<{
223
- allowed_programs: Array<{
224
- program_id: string;
225
- allowed_functions?: string[] | null;
226
- }> | null;
227
- }>;
191
+ }): Promise<AleoFeemasterPolicyResponse>;
228
192
  /**
229
193
  * Coverage check via the redcoast convenience endpoint — server-side
230
194
  * walks the (cached) policy and returns a boolean.
@@ -241,14 +205,7 @@ export declare class DynamicApiClient extends BaseClient {
241
205
  * ProvingRequest. Throws on quota errors or service failures so the
242
206
  * caller can fall back to user-paid fees.
243
207
  */
244
- requestAleoFeeAuthorization({ network, authorization, priorityFee, traceContext, }: {
245
- network: 'testnet' | 'mainnet';
246
- authorization: string;
247
- priorityFee?: number;
248
- traceContext?: TraceContext;
249
- }): Promise<{
250
- feeAuthorization: string;
251
- }>;
208
+ requestAleoFeeAuthorization({ network, authorization, priorityFee, traceContext, }: AleoApiRequest<InlineObject1>): Promise<InlineResponse2003>;
252
209
  /**
253
210
  * Aleo RecordScanner — fetch the ephemeral public key Provable will
254
211
  * use to encrypt the next view-key registration. Forwards through
@@ -257,23 +214,13 @@ export declare class DynamicApiClient extends BaseClient {
257
214
  getAleoScannerPubkey({ network, traceContext, }: {
258
215
  network: 'testnet' | 'mainnet';
259
216
  traceContext?: TraceContext;
260
- }): Promise<{
261
- public_key: string;
262
- key_id: string;
263
- }>;
217
+ }): Promise<AleoScannerPublicKeyResponse>;
264
218
  /**
265
219
  * Aleo RecordScanner — register an encrypted view key. Body carries
266
220
  * the iframe's `crypto_box_seal` ciphertext; redcoast forwards it
267
221
  * verbatim. Server returns the assigned scanner UUID.
268
222
  */
269
- registerAleoScanner({ network, keyId, ciphertext, traceContext, }: {
270
- network: 'testnet' | 'mainnet';
271
- keyId: string;
272
- ciphertext: string;
273
- traceContext?: TraceContext;
274
- }): Promise<{
275
- uuid: string;
276
- } & Record<string, unknown>>;
223
+ registerAleoScanner({ network, keyId, ciphertext, traceContext, }: AleoApiRequest<InlineObject2>): Promise<InlineResponse2005 & Record<string, unknown>>;
277
224
  /**
278
225
  * Aleo RecordScanner — find owned records by uuid + filter. The filter
279
226
  * shape is passed through to Provable verbatim; the iframe handles
@@ -289,11 +236,7 @@ export declare class DynamicApiClient extends BaseClient {
289
236
  /**
290
237
  * Aleo RecordScanner — revoke a registration UUID.
291
238
  */
292
- revokeAleoScanner({ network, uuid, traceContext, }: {
293
- network: 'testnet' | 'mainnet';
294
- uuid: string;
295
- traceContext?: TraceContext;
296
- }): Promise<Record<string, unknown>>;
239
+ revokeAleoScanner({ network, uuid, traceContext, }: AleoApiRequest<InlineObject4>): Promise<Record<string, unknown>>;
297
240
  getDelegatedEncryptionKey({ environmentId, traceContext, }: {
298
241
  environmentId: string;
299
242
  traceContext?: TraceContext;
@@ -338,39 +281,15 @@ export declare class DynamicApiClient extends BaseClient {
338
281
  sendLocation?: boolean;
339
282
  businessAccountId?: string;
340
283
  passwordUpdateBatchId?: string;
341
- }): Promise<{
342
- message?: string;
343
- keyShareIds?: string[];
344
- walletActive?: boolean;
345
- passwordUpdateStatus?: 'pending' | 'activated';
346
- locationsWithKeyShares?: {
347
- location: BackupLocation;
348
- id: string;
349
- keygenId: string;
350
- externalKeyShareId?: string;
351
- }[];
352
- }>;
353
- markKeySharesAsBackedUp({ walletId, shareSetId, locations, dynamicRequestId, traceContext, passwordUpdateBatchId, businessAccountId, }: {
284
+ }): Promise<StoreEncryptedBackupResponse>;
285
+ markKeySharesAsBackedUp({ walletId, shareSetId, locations, dynamicRequestId, traceContext, passwordUpdateBatchId, businessAccountId, }: Omit<BackupKeySharesToLocationsRequest, 'locations'> & {
354
286
  walletId: string;
355
- shareSetId?: string;
356
287
  locations: BackupLocationWithExternalKeyShareId[];
357
288
  dynamicRequestId: string;
358
289
  traceContext?: TraceContext;
359
- passwordUpdateBatchId?: string;
360
290
  /** Set so redcoast maps the backup to the business-account signer's share set. */
361
291
  businessAccountId?: string;
362
- }): Promise<{
363
- message: string;
364
- walletId: string;
365
- walletActive?: boolean;
366
- passwordUpdateStatus?: 'pending' | 'activated';
367
- locationsWithKeyShares: {
368
- location: BackupLocation;
369
- id: string;
370
- keygenId: string;
371
- externalKeyShareId?: string;
372
- }[];
373
- }>;
292
+ }): Promise<BackupKeySharesResponse>;
374
293
  recoverEncryptedBackupByWallet({ walletId, externalKeyShareIds, signedSessionId, mfaToken, requiresSignedSessionId, traceContext, userId, }: {
375
294
  walletId: string;
376
295
  shareSetId?: string;
@@ -385,23 +304,20 @@ export declare class DynamicApiClient extends BaseClient {
385
304
  oauthAccountId: string;
386
305
  traceContext?: TraceContext;
387
306
  }): Promise<any>;
388
- importPrivateKey({ chainName, dynamicRequestId, clientKeygenIds, thresholdSignatureScheme, bitcoinConfig, onError, onCeremonyComplete, traceContext, legacyWalletId, variant, }: {
307
+ importPrivateKey({ chainName, dynamicRequestId, clientKeygenIds, thresholdSignatureScheme, bitcoinConfig, onError, onCeremonyComplete, traceContext, legacyWalletId, variant, }: Omit<ImportWaasPrivateKeyRequest, 'chain' | 'thresholdSignatureScheme' | 'variant'> & {
389
308
  dynamicRequestId?: string;
390
309
  chainName: string;
391
- clientKeygenIds: string[];
392
310
  thresholdSignatureScheme: ThresholdSignatureScheme;
393
311
  bitcoinConfig?: BitcoinConfig;
394
312
  onError?: (error: Error) => void;
395
313
  onCeremonyComplete?: (accountAddress: string, walletId: string, shareSetId?: string, shareSetType?: ShareSetType) => void;
396
314
  traceContext?: TraceContext;
397
- /** ID of the legacy embedded wallet being upgraded to v3 */
398
- legacyWalletId?: string;
399
315
  /**
400
316
  * ed25519 chains only: 'ed25519Standard' marks a raw 32-byte scalar import
401
317
  * (non-exportable Ed25519). Persisted server-side in WaasWalletSettings and
402
318
  * used for the import + later sign. Omitted → ed25519Exportable.
403
319
  */
404
- variant?: 'ed25519Exportable' | 'ed25519Standard';
320
+ variant?: `${NonNullable<ImportWaasPrivateKeyRequest['variant']>}`;
405
321
  }): Promise<KeygenCompleteResponse>;
406
322
  getUser(dynamicRequestId: string, traceContext?: TraceContext): Promise<any>;
407
323
  refreshUser(traceContext?: TraceContext): Promise<any>;
@@ -428,51 +344,30 @@ export declare class DynamicApiClient extends BaseClient {
428
344
  traceContext?: TraceContext;
429
345
  }): Promise<BusinessAccountList>;
430
346
  /** Get a business account with embedded members + signers. 404 if the caller is not a member. */
431
- getBusinessAccountById({ businessAccountId, traceContext, }: {
432
- businessAccountId: string;
433
- traceContext?: TraceContext;
434
- }): Promise<BusinessAccountDetail>;
347
+ getBusinessAccountById({ businessAccountId, traceContext, }: RequestWithTraceContext<Omit<GetBusinessAccountRequest, 'authToken'>>): Promise<BusinessAccountDetail>;
435
348
  /**
436
349
  * Add an existing wallet to a business account. No ceremony — the server
437
350
  * transfers ownership and registers the caller as owner + signer bound to
438
351
  * their existing share set. Omit `businessAccountId` to find-or-create the
439
352
  * per-wallet business account. Returns the business-account detail. Idempotent.
440
353
  */
441
- linkWalletToBusinessAccount({ walletId, businessAccountId, traceContext, }: {
442
- walletId: string;
443
- businessAccountId?: string;
444
- traceContext?: TraceContext;
445
- }): Promise<BusinessAccountDetail>;
354
+ linkWalletToBusinessAccount({ walletId, businessAccountId, traceContext, }: RequestWithTraceContext<Omit<LinkWalletToBusinessAccountRequest, 'authToken'>>): Promise<BusinessAccountDetail>;
446
355
  /**
447
356
  * Add a member to a business account. Resolve the target by `userId`, or by
448
357
  * `identifier` + `identifierType` (e.g. an email) — the user is created if
449
358
  * absent, mirroring addBusinessAccountSigner.
450
359
  */
451
- addBusinessAccountMember({ businessAccountId, userId, identifier, identifierType, smsCountryCode, socialProvider, role, traceContext, }: {
452
- businessAccountId: string;
453
- userId?: string;
454
- identifier?: string;
455
- identifierType?: BusinessAccountSignerIdentifierType;
456
- smsCountryCode?: SmsCountryCode;
457
- socialProvider?: string;
458
- role?: BusinessAccountMemberRole;
459
- traceContext?: TraceContext;
460
- }): Promise<BusinessAccountMember>;
360
+ addBusinessAccountMember({ businessAccountId, userId, identifier, identifierType, smsCountryCode, socialProvider, role, traceContext, }: RequestWithTraceContext<Omit<AddBusinessAccountMemberRequest, 'authToken'>>): Promise<BusinessAccountMember>;
461
361
  /**
462
362
  * Add a signer to a business-account wallet. Resolve the target by `userId`, or by
463
363
  * `identifier` + `identifierType` (e.g. an email). Returns a PENDING signer
464
364
  * (HTTP 202, `shareSetId: null`) — the reshare ceremony that mints the share
465
365
  * is a follow-up and not yet performed server-side.
466
366
  */
467
- addBusinessAccountSigner({ businessAccountId, walletId, signerType, userId, identifier, identifierType, smsCountryCode, socialProvider, traceContext, }: {
367
+ addBusinessAccountSigner({ businessAccountId, walletId, signerType, userId, identifier, identifierType, smsCountryCode, socialProvider, traceContext, }: TargetSignerIdentity & {
468
368
  businessAccountId: string;
469
369
  walletId: string;
470
370
  signerType: BusinessAccountSignerType;
471
- userId?: string;
472
- identifier?: string;
473
- identifierType?: BusinessAccountSignerIdentifierType;
474
- smsCountryCode?: SmsCountryCode;
475
- socialProvider?: string;
476
371
  traceContext?: TraceContext;
477
372
  }): Promise<BusinessAccountSigner>;
478
373
  /**
@@ -488,15 +383,12 @@ export declare class DynamicApiClient extends BaseClient {
488
383
  * seeded to the client-keyshare-service on the target's behalf (see
489
384
  * `seedBusinessAccountSignerShare`).
490
385
  */
491
- addBusinessAccountSignerCeremony({ businessAccountId, walletId, clientKeygenIds, oldThresholdSignatureScheme, signerType, userId, identifier, identifierType, signedIntent, dynamicRequestId, elevatedAccessToken, onError, onCeremonyComplete, traceContext, }: {
386
+ addBusinessAccountSignerCeremony({ businessAccountId, walletId, clientKeygenIds, oldThresholdSignatureScheme, signerType, userId, identifier, identifierType, signedIntent, dynamicRequestId, elevatedAccessToken, onError, onCeremonyComplete, traceContext, }: Pick<TargetSignerIdentity, 'userId' | 'identifier' | 'identifierType'> & {
492
387
  businessAccountId: string;
493
388
  walletId: string;
494
389
  clientKeygenIds: string[];
495
390
  oldThresholdSignatureScheme: ThresholdSignatureScheme;
496
391
  signerType: BusinessAccountSignerType;
497
- userId?: string;
498
- identifier?: string;
499
- identifierType?: BusinessAccountSignerIdentifierType;
500
392
  /**
501
393
  * Signed intent for a governed account — omit on the first call. If the
502
394
  * ceremony answers action-required, sign the returned intent and retry
@@ -539,7 +431,7 @@ export declare class DynamicApiClient extends BaseClient {
539
431
  message: string;
540
432
  keyShareIds: string[];
541
433
  }>;
542
- delegatedSignMessage({ walletId, shareSetId, message, isFormatted, dynamicRequestId, onError, context, traceContext, }: {
434
+ delegatedSignMessage({ walletId, shareSetId, message, isFormatted, dynamicRequestId, onError, context, traceContext, }: Pick<SignMessageWithWaasRequest, 'message' | 'isFormatted'> & {
543
435
  walletId: string;
544
436
  /**
545
437
  * Optional. The `shareSetId` from the `wallet.delegation.created`
@@ -547,82 +439,39 @@ export declare class DynamicApiClient extends BaseClient {
547
439
  * the right share set by walletId + shareSetType — see PR #9480.
548
440
  */
549
441
  shareSetId?: string;
550
- message: string;
551
- isFormatted?: boolean;
552
442
  dynamicRequestId: string;
553
443
  onError?: (error: Error) => void;
554
444
  context?: SignMessageChainContext;
555
445
  traceContext?: TraceContext;
556
- }): Promise<OpenRoomResponse>;
557
- createRooms({ walletId, roomType, roomCount, traceContext, }: {
446
+ }): Promise<import("@dynamic-labs/sdk-api-core").OpenRoomResponseWithServerKeygenIds>;
447
+ createRooms({ walletId, roomType, roomCount, traceContext, }: Partial<CreateRoomsRequest> & {
558
448
  walletId: string;
559
- roomType?: RoomTypeEnum;
560
- roomCount?: number;
561
449
  traceContext?: TraceContext;
562
450
  }): Promise<any>;
563
- createRoomsWithoutWalletId({ roomType, thresholdSignatureScheme, roomCount, traceContext, }: {
564
- roomType: RoomTypeEnum;
451
+ createRoomsWithoutWalletId({ roomType, thresholdSignatureScheme, roomCount, traceContext, }: Omit<CreateRoomsWithoutWalletIdRequest, 'thresholdSignatureScheme'> & {
565
452
  thresholdSignatureScheme: ThresholdSignatureScheme;
566
- roomCount?: number;
567
453
  traceContext?: TraceContext;
568
454
  }): Promise<any>;
569
- requestSvmSponsoredTransaction({ transaction, userId, traceContext, }: {
570
- /** Base64-encoded unsigned Solana transaction. */
571
- transaction: string;
572
- /** End user to attribute the sponsorship to. Server-auth callers only. */
573
- userId?: string;
455
+ requestSvmSponsoredTransaction({ transaction, userId, traceContext, }: SponsorSVMTransactionRequest & {
574
456
  traceContext?: TraceContext;
575
- }): Promise<{
576
- transaction: string;
577
- }>;
457
+ }): Promise<SponsorSVMTransactionResponse>;
578
458
  private buildTraceHeaders;
579
459
  private throwGaslessApiError;
580
460
  sponsorEVMTransaction({ request, traceContext, }: {
581
- request: {
582
- authorization?: {
583
- address: string;
584
- chainId: number;
585
- nonce: number;
586
- r: string;
587
- s: string;
588
- yParity: number;
589
- };
590
- calls: {
591
- data: string;
592
- target: string;
593
- value: string;
594
- }[];
595
- chainId: number;
596
- deadline: string;
597
- nonce: string;
598
- relayer: string;
599
- signature: string;
600
- userId?: string;
601
- walletAddress: string;
602
- };
461
+ request: SponsorEVMTransactionRequest;
603
462
  traceContext?: TraceContext;
604
- }): Promise<{
605
- requestId: string;
606
- }>;
463
+ }): Promise<SponsorEVMTransactionResponse>;
607
464
  getEVMSponsoredTransactionStatus({ requestId, traceContext, }: {
608
465
  requestId: string;
609
466
  traceContext?: TraceContext;
610
- }): Promise<{
611
- status: string;
612
- transactionHash?: string;
613
- errorMessage?: string;
614
- }>;
467
+ }): Promise<GetEVMSponsoredTransactionStatusResponse>;
615
468
  getAvailableEVMGaslessRelayer({ chainId, traceContext, }: {
616
469
  chainId: number;
617
470
  traceContext?: TraceContext;
618
- }): Promise<{
619
- relayerAddress: string;
620
- }>;
471
+ }): Promise<GetAvailableEVMGaslessRelayerResponse>;
621
472
  getNonces({ count }?: {
622
473
  count?: number;
623
- }): Promise<{
624
- nonces: string[];
625
- }>;
474
+ }): Promise<NoncesResponse>;
626
475
  /**
627
476
  * Resolves this environment's server identity — a real userId the server
628
477
  * itself is authenticated as, but with no discoverable email/externalUserId
@@ -637,12 +486,7 @@ export declare class DynamicApiClient extends BaseClient {
637
486
  }>;
638
487
  updateAdditionalAddresses({ walletId, additionalAddresses, dynamicRequestId, traceContext, }: {
639
488
  walletId: string;
640
- additionalAddresses: {
641
- address: string;
642
- type: string;
643
- publicKey: string;
644
- network?: string;
645
- }[];
489
+ additionalAddresses: WalletAdditionalAddressRequest[];
646
490
  dynamicRequestId?: string;
647
491
  traceContext?: TraceContext;
648
492
  }): Promise<any>;