@revibase/lite 0.5.1 → 0.5.3

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/dist/index.d.cts CHANGED
@@ -1,6 +1,5 @@
1
- import { StartMessageRequest, StartTransactionRequest, CompleteMessageRequest, UserInfo, CompleteTransactionRequest } from '@revibase/core';
1
+ import { StartMessageRequest, StartTransactionRequest, CompleteMessageRequest, CompleteTransactionRequest, UserInfo } from '@revibase/core';
2
2
  export { CompleteMessageRequest, CompleteTransactionRequest, StartMessageRequest, StartTransactionRequest, UserInfo } from '@revibase/core';
3
- import * as _simplewebauthn_browser from '@simplewebauthn/browser';
4
3
  import { Instruction, TransactionSigner, AddressesByLookupTableAddress } from 'gill';
5
4
 
6
5
  declare class RevibaseError extends Error {
@@ -45,13 +44,29 @@ type ClientAuthorizationCallback = {
45
44
  signature: string;
46
45
  validTill: number;
47
46
  }>;
48
- (request: CompleteMessageRequest): Promise<{
49
- user: UserInfo;
47
+ (request: CompleteMessageRequest): Promise<void>;
48
+ (request: CompleteTransactionRequest): Promise<{
49
+ signature: string;
50
50
  }>;
51
- (request: CompleteTransactionRequest): Promise<CompleteTransactionRequest>;
52
51
  };
52
+ type OnConnectedCallback = (rid: string, clientOrigin: string) => Promise<{
53
+ request: StartMessageRequest | StartTransactionRequest;
54
+ signature: string;
55
+ }>;
56
+ type SuccessMap = {
57
+ message: {
58
+ user: UserInfo;
59
+ };
60
+ transaction: {
61
+ txSig: string;
62
+ user: UserInfo;
63
+ };
64
+ };
65
+ type OnSuccessCallback = ((req: CompleteMessageRequest) => Promise<SuccessMap["message"]>) | ((req: CompleteTransactionRequest) => Promise<SuccessMap["transaction"]>);
53
66
  type StartPayload = Omit<StartMessageRequest, "validTill"> | Omit<StartTransactionRequest, "validTill">;
54
67
  type SignInAuthorizationFlowOptions = {
68
+ requireTwoFactorAuthentication?: boolean;
69
+ pendingApprovalsCallback?: PendingApprovalsCallbacks;
55
70
  signal?: AbortSignal;
56
71
  };
57
72
  type TransactionAuthorizationFlowOptions = {
@@ -63,123 +78,41 @@ type TransactionAuthorizationFlowOptions = {
63
78
  type RevibaseProviderOptions = {
64
79
  rpcEndpoint: string;
65
80
  providerOrigin?: string;
81
+ rpId?: string;
82
+ ui?: {
83
+ mode?: "popup" | "iframe";
84
+ render?: (url: string) => {
85
+ targetWindow: Window;
86
+ close: () => void;
87
+ isClosed?: () => boolean;
88
+ };
89
+ };
66
90
  onClientAuthorizationCallback?: ClientAuthorizationCallback;
67
91
  onEstimateJitoTipsCallback?: () => Promise<number>;
68
92
  onSendJitoBundleCallback?: (request: string[]) => Promise<string>;
69
93
  };
70
94
 
71
95
  declare class RevibaseProvider {
72
- private readonly pending;
73
96
  onClientAuthorizationCallback: ClientAuthorizationCallback;
74
97
  onSendJitoBundleCallback: (request: string[]) => Promise<string>;
75
98
  onEstimateJitoTipsCallback: () => Promise<number>;
76
- private providerOrigin;
77
- private popUpConfig;
99
+ providerOrigin: string;
100
+ rpId: string;
101
+ private uiMode;
102
+ private render?;
103
+ private popUp;
104
+ private frame;
105
+ private rendered;
78
106
  constructor(options: RevibaseProviderOptions);
79
- startRequest(): Promise<void>;
80
- sendRequestToPopupProvidr({ onConnectedCallback, signal, }: {
81
- onConnectedCallback: (rid: string, clientOrigin: string) => Promise<{
82
- request: StartMessageRequest | StartTransactionRequest;
83
- signature: string;
84
- }>;
107
+ sendRequestToPopupProvider({ onConnectedCallback, onSuccessCallback, signal, }: {
108
+ onConnectedCallback: OnConnectedCallback;
109
+ onSuccessCallback: OnSuccessCallback;
85
110
  signal?: AbortSignal;
86
111
  }): Promise<{
87
- phase: "complete";
88
- data: {
89
- type: "transaction";
90
- payload: {
91
- signer: string;
92
- startRequest: {
93
- phase: "start";
94
- clientOrigin: string;
95
- rid: string;
96
- validTill: number;
97
- data: {
98
- type: "message";
99
- payload: string;
100
- };
101
- signer?: string | undefined;
102
- } | {
103
- phase: "start";
104
- clientOrigin: string;
105
- rid: string;
106
- validTill: number;
107
- data: {
108
- type: "transaction";
109
- payload: {
110
- transactionActionType: "create" | "create_with_preauthorized_execution" | "execute" | "vote" | "sync" | "close" | "decompress" | "transfer_intent" | "change_delegate" | "change_config";
111
- transactionAddress: string;
112
- transactionMessageBytes: string;
113
- };
114
- };
115
- signer?: string | undefined;
116
- };
117
- authResponse: _simplewebauthn_browser.AuthenticationResponseJSON;
118
- client: {
119
- clientOrigin: string;
120
- jws: string;
121
- };
122
- device: {
123
- jwk: string;
124
- jws: string;
125
- };
126
- slotHash: string;
127
- slotNumber: string;
128
- estimatedSlotHashExpiry: number;
129
- originIndex: number;
130
- crossOrigin: boolean;
131
- userAddressTreeIndex?: number | undefined;
132
- additionalInfo?: {
133
- [x: string]: unknown;
134
- } | undefined;
135
- };
136
- };
112
+ user: UserInfo;
137
113
  } | {
138
- phase: "complete";
139
- data: {
140
- type: "message";
141
- payload: {
142
- signer: string;
143
- startRequest: {
144
- phase: "start";
145
- clientOrigin: string;
146
- rid: string;
147
- validTill: number;
148
- data: {
149
- type: "message";
150
- payload: string;
151
- };
152
- signer?: string | undefined;
153
- } | {
154
- phase: "start";
155
- clientOrigin: string;
156
- rid: string;
157
- validTill: number;
158
- data: {
159
- type: "transaction";
160
- payload: {
161
- transactionActionType: "create" | "create_with_preauthorized_execution" | "execute" | "vote" | "sync" | "close" | "decompress" | "transfer_intent" | "change_delegate" | "change_config";
162
- transactionAddress: string;
163
- transactionMessageBytes: string;
164
- };
165
- };
166
- signer?: string | undefined;
167
- };
168
- authResponse: _simplewebauthn_browser.AuthenticationResponseJSON;
169
- client: {
170
- clientOrigin: string;
171
- jws: string;
172
- };
173
- device: {
174
- jwk: string;
175
- jws: string;
176
- };
177
- userAddressTreeIndex?: number | undefined;
178
- additionalInfo?: {
179
- [x: string]: unknown;
180
- } | undefined;
181
- };
182
- };
114
+ txSig: string;
115
+ user: UserInfo;
183
116
  }>;
184
117
  private attachTransport;
185
118
  }
@@ -216,22 +149,23 @@ declare function transferTokens(provider: RevibaseProvider, args: {
216
149
  user: UserInfo;
217
150
  }>;
218
151
 
219
- declare function processClientAuthCallback({ request, publicKey, allowedClientOrigins, privateKey, providerOrigin, rpId, }: {
152
+ declare function processClientAuthCallback({ request, publicKey, allowedClientOrigins, privateKey, require2FAChecks, }: {
220
153
  request: Omit<StartMessageRequest, "validTill"> | Omit<StartTransactionRequest, "validTill"> | CompleteMessageRequest | CompleteTransactionRequest;
221
154
  allowedClientOrigins: string[];
222
155
  publicKey: string;
223
156
  privateKey: string;
224
- providerOrigin?: string;
225
- rpId?: string;
157
+ require2FAChecks?: {
158
+ rpcEndpoint: string;
159
+ };
226
160
  }): Promise<{
227
- signature: string;
228
- validTill: number;
161
+ user: boolean;
229
162
  } | {
230
- user: UserInfo;
231
- } | CompleteTransactionRequest>;
163
+ ok: boolean;
164
+ signature: string;
165
+ }>;
232
166
 
233
167
  declare function processEstimateJitoTipsCallback(priority?: string, url?: string): Promise<number>;
234
168
 
235
169
  declare function processSendJitoBundleCallback(serializedTransactions: string[], jitoUUID?: string, url?: string): Promise<string>;
236
170
 
237
- export { type ClientAuthorizationCallback, RevibaseAbortedError, RevibaseApiError, RevibaseAuthError, RevibaseEnvironmentError, RevibaseError, RevibaseFlowInProgressError, RevibasePopupBlockedError, RevibasePopupClosedError, RevibasePopupNotOpenError, RevibaseProvider, RevibaseTimeoutError, type SignInAuthorizationFlowOptions, type StartPayload, type TransactionAuthorizationFlowOptions, executeTransaction, processClientAuthCallback, processEstimateJitoTipsCallback, processSendJitoBundleCallback, signIn, transferTokens };
171
+ export { type ClientAuthorizationCallback, type OnConnectedCallback, type OnSuccessCallback, RevibaseAbortedError, RevibaseApiError, RevibaseAuthError, RevibaseEnvironmentError, RevibaseError, RevibaseFlowInProgressError, RevibasePopupBlockedError, RevibasePopupClosedError, RevibasePopupNotOpenError, RevibaseProvider, RevibaseTimeoutError, type SignInAuthorizationFlowOptions, type StartPayload, type TransactionAuthorizationFlowOptions, executeTransaction, processClientAuthCallback, processEstimateJitoTipsCallback, processSendJitoBundleCallback, signIn, transferTokens };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- import { StartMessageRequest, StartTransactionRequest, CompleteMessageRequest, UserInfo, CompleteTransactionRequest } from '@revibase/core';
1
+ import { StartMessageRequest, StartTransactionRequest, CompleteMessageRequest, CompleteTransactionRequest, UserInfo } from '@revibase/core';
2
2
  export { CompleteMessageRequest, CompleteTransactionRequest, StartMessageRequest, StartTransactionRequest, UserInfo } from '@revibase/core';
3
- import * as _simplewebauthn_browser from '@simplewebauthn/browser';
4
3
  import { Instruction, TransactionSigner, AddressesByLookupTableAddress } from 'gill';
5
4
 
6
5
  declare class RevibaseError extends Error {
@@ -45,13 +44,29 @@ type ClientAuthorizationCallback = {
45
44
  signature: string;
46
45
  validTill: number;
47
46
  }>;
48
- (request: CompleteMessageRequest): Promise<{
49
- user: UserInfo;
47
+ (request: CompleteMessageRequest): Promise<void>;
48
+ (request: CompleteTransactionRequest): Promise<{
49
+ signature: string;
50
50
  }>;
51
- (request: CompleteTransactionRequest): Promise<CompleteTransactionRequest>;
52
51
  };
52
+ type OnConnectedCallback = (rid: string, clientOrigin: string) => Promise<{
53
+ request: StartMessageRequest | StartTransactionRequest;
54
+ signature: string;
55
+ }>;
56
+ type SuccessMap = {
57
+ message: {
58
+ user: UserInfo;
59
+ };
60
+ transaction: {
61
+ txSig: string;
62
+ user: UserInfo;
63
+ };
64
+ };
65
+ type OnSuccessCallback = ((req: CompleteMessageRequest) => Promise<SuccessMap["message"]>) | ((req: CompleteTransactionRequest) => Promise<SuccessMap["transaction"]>);
53
66
  type StartPayload = Omit<StartMessageRequest, "validTill"> | Omit<StartTransactionRequest, "validTill">;
54
67
  type SignInAuthorizationFlowOptions = {
68
+ requireTwoFactorAuthentication?: boolean;
69
+ pendingApprovalsCallback?: PendingApprovalsCallbacks;
55
70
  signal?: AbortSignal;
56
71
  };
57
72
  type TransactionAuthorizationFlowOptions = {
@@ -63,123 +78,41 @@ type TransactionAuthorizationFlowOptions = {
63
78
  type RevibaseProviderOptions = {
64
79
  rpcEndpoint: string;
65
80
  providerOrigin?: string;
81
+ rpId?: string;
82
+ ui?: {
83
+ mode?: "popup" | "iframe";
84
+ render?: (url: string) => {
85
+ targetWindow: Window;
86
+ close: () => void;
87
+ isClosed?: () => boolean;
88
+ };
89
+ };
66
90
  onClientAuthorizationCallback?: ClientAuthorizationCallback;
67
91
  onEstimateJitoTipsCallback?: () => Promise<number>;
68
92
  onSendJitoBundleCallback?: (request: string[]) => Promise<string>;
69
93
  };
70
94
 
71
95
  declare class RevibaseProvider {
72
- private readonly pending;
73
96
  onClientAuthorizationCallback: ClientAuthorizationCallback;
74
97
  onSendJitoBundleCallback: (request: string[]) => Promise<string>;
75
98
  onEstimateJitoTipsCallback: () => Promise<number>;
76
- private providerOrigin;
77
- private popUpConfig;
99
+ providerOrigin: string;
100
+ rpId: string;
101
+ private uiMode;
102
+ private render?;
103
+ private popUp;
104
+ private frame;
105
+ private rendered;
78
106
  constructor(options: RevibaseProviderOptions);
79
- startRequest(): Promise<void>;
80
- sendRequestToPopupProvidr({ onConnectedCallback, signal, }: {
81
- onConnectedCallback: (rid: string, clientOrigin: string) => Promise<{
82
- request: StartMessageRequest | StartTransactionRequest;
83
- signature: string;
84
- }>;
107
+ sendRequestToPopupProvider({ onConnectedCallback, onSuccessCallback, signal, }: {
108
+ onConnectedCallback: OnConnectedCallback;
109
+ onSuccessCallback: OnSuccessCallback;
85
110
  signal?: AbortSignal;
86
111
  }): Promise<{
87
- phase: "complete";
88
- data: {
89
- type: "transaction";
90
- payload: {
91
- signer: string;
92
- startRequest: {
93
- phase: "start";
94
- clientOrigin: string;
95
- rid: string;
96
- validTill: number;
97
- data: {
98
- type: "message";
99
- payload: string;
100
- };
101
- signer?: string | undefined;
102
- } | {
103
- phase: "start";
104
- clientOrigin: string;
105
- rid: string;
106
- validTill: number;
107
- data: {
108
- type: "transaction";
109
- payload: {
110
- transactionActionType: "create" | "create_with_preauthorized_execution" | "execute" | "vote" | "sync" | "close" | "decompress" | "transfer_intent" | "change_delegate" | "change_config";
111
- transactionAddress: string;
112
- transactionMessageBytes: string;
113
- };
114
- };
115
- signer?: string | undefined;
116
- };
117
- authResponse: _simplewebauthn_browser.AuthenticationResponseJSON;
118
- client: {
119
- clientOrigin: string;
120
- jws: string;
121
- };
122
- device: {
123
- jwk: string;
124
- jws: string;
125
- };
126
- slotHash: string;
127
- slotNumber: string;
128
- estimatedSlotHashExpiry: number;
129
- originIndex: number;
130
- crossOrigin: boolean;
131
- userAddressTreeIndex?: number | undefined;
132
- additionalInfo?: {
133
- [x: string]: unknown;
134
- } | undefined;
135
- };
136
- };
112
+ user: UserInfo;
137
113
  } | {
138
- phase: "complete";
139
- data: {
140
- type: "message";
141
- payload: {
142
- signer: string;
143
- startRequest: {
144
- phase: "start";
145
- clientOrigin: string;
146
- rid: string;
147
- validTill: number;
148
- data: {
149
- type: "message";
150
- payload: string;
151
- };
152
- signer?: string | undefined;
153
- } | {
154
- phase: "start";
155
- clientOrigin: string;
156
- rid: string;
157
- validTill: number;
158
- data: {
159
- type: "transaction";
160
- payload: {
161
- transactionActionType: "create" | "create_with_preauthorized_execution" | "execute" | "vote" | "sync" | "close" | "decompress" | "transfer_intent" | "change_delegate" | "change_config";
162
- transactionAddress: string;
163
- transactionMessageBytes: string;
164
- };
165
- };
166
- signer?: string | undefined;
167
- };
168
- authResponse: _simplewebauthn_browser.AuthenticationResponseJSON;
169
- client: {
170
- clientOrigin: string;
171
- jws: string;
172
- };
173
- device: {
174
- jwk: string;
175
- jws: string;
176
- };
177
- userAddressTreeIndex?: number | undefined;
178
- additionalInfo?: {
179
- [x: string]: unknown;
180
- } | undefined;
181
- };
182
- };
114
+ txSig: string;
115
+ user: UserInfo;
183
116
  }>;
184
117
  private attachTransport;
185
118
  }
@@ -216,22 +149,23 @@ declare function transferTokens(provider: RevibaseProvider, args: {
216
149
  user: UserInfo;
217
150
  }>;
218
151
 
219
- declare function processClientAuthCallback({ request, publicKey, allowedClientOrigins, privateKey, providerOrigin, rpId, }: {
152
+ declare function processClientAuthCallback({ request, publicKey, allowedClientOrigins, privateKey, require2FAChecks, }: {
220
153
  request: Omit<StartMessageRequest, "validTill"> | Omit<StartTransactionRequest, "validTill"> | CompleteMessageRequest | CompleteTransactionRequest;
221
154
  allowedClientOrigins: string[];
222
155
  publicKey: string;
223
156
  privateKey: string;
224
- providerOrigin?: string;
225
- rpId?: string;
157
+ require2FAChecks?: {
158
+ rpcEndpoint: string;
159
+ };
226
160
  }): Promise<{
227
- signature: string;
228
- validTill: number;
161
+ user: boolean;
229
162
  } | {
230
- user: UserInfo;
231
- } | CompleteTransactionRequest>;
163
+ ok: boolean;
164
+ signature: string;
165
+ }>;
232
166
 
233
167
  declare function processEstimateJitoTipsCallback(priority?: string, url?: string): Promise<number>;
234
168
 
235
169
  declare function processSendJitoBundleCallback(serializedTransactions: string[], jitoUUID?: string, url?: string): Promise<string>;
236
170
 
237
- export { type ClientAuthorizationCallback, RevibaseAbortedError, RevibaseApiError, RevibaseAuthError, RevibaseEnvironmentError, RevibaseError, RevibaseFlowInProgressError, RevibasePopupBlockedError, RevibasePopupClosedError, RevibasePopupNotOpenError, RevibaseProvider, RevibaseTimeoutError, type SignInAuthorizationFlowOptions, type StartPayload, type TransactionAuthorizationFlowOptions, executeTransaction, processClientAuthCallback, processEstimateJitoTipsCallback, processSendJitoBundleCallback, signIn, transferTokens };
171
+ export { type ClientAuthorizationCallback, type OnConnectedCallback, type OnSuccessCallback, RevibaseAbortedError, RevibaseApiError, RevibaseAuthError, RevibaseEnvironmentError, RevibaseError, RevibaseFlowInProgressError, RevibasePopupBlockedError, RevibasePopupClosedError, RevibasePopupNotOpenError, RevibaseProvider, RevibaseTimeoutError, type SignInAuthorizationFlowOptions, type StartPayload, type TransactionAuthorizationFlowOptions, executeTransaction, processClientAuthCallback, processEstimateJitoTipsCallback, processSendJitoBundleCallback, signIn, transferTokens };