@ordanetwork/sdk 1.0.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.
- package/LICENSE +21 -0
- package/README.md +315 -0
- package/dist/browser/api/OffRampAPI.d.ts +45 -0
- package/dist/browser/api/OffRampAPI.d.ts.map +1 -0
- package/dist/browser/api/OffRampAPI.js +73 -0
- package/dist/browser/api/OffRampAPI.js.map +1 -0
- package/dist/browser/api/OnRampAPI.d.ts +42 -0
- package/dist/browser/api/OnRampAPI.d.ts.map +1 -0
- package/dist/browser/api/OnRampAPI.js +73 -0
- package/dist/browser/api/OnRampAPI.js.map +1 -0
- package/dist/browser/api/QuoteAPI.d.ts +16 -0
- package/dist/browser/api/QuoteAPI.d.ts.map +1 -0
- package/dist/browser/api/QuoteAPI.js +17 -0
- package/dist/browser/api/QuoteAPI.js.map +1 -0
- package/dist/browser/api/RecipientAPI.d.ts +25 -0
- package/dist/browser/api/RecipientAPI.d.ts.map +1 -0
- package/dist/browser/api/RecipientAPI.js +30 -0
- package/dist/browser/api/RecipientAPI.js.map +1 -0
- package/dist/browser/api/TransactionAPI.d.ts +35 -0
- package/dist/browser/api/TransactionAPI.d.ts.map +1 -0
- package/dist/browser/api/TransactionAPI.js +72 -0
- package/dist/browser/api/TransactionAPI.js.map +1 -0
- package/dist/browser/auth/hmac.d.ts +24 -0
- package/dist/browser/auth/hmac.d.ts.map +1 -0
- package/dist/browser/auth/hmac.js +70 -0
- package/dist/browser/auth/hmac.js.map +1 -0
- package/dist/browser/crypto/factory.d.ts +7 -0
- package/dist/browser/crypto/factory.d.ts.map +1 -0
- package/dist/browser/crypto/factory.js +18 -0
- package/dist/browser/crypto/factory.js.map +1 -0
- package/dist/browser/crypto/node-crypto.d.ts +10 -0
- package/dist/browser/crypto/node-crypto.d.ts.map +1 -0
- package/dist/browser/crypto/node-crypto.js +28 -0
- package/dist/browser/crypto/node-crypto.js.map +1 -0
- package/dist/browser/crypto/types.d.ts +13 -0
- package/dist/browser/crypto/types.d.ts.map +1 -0
- package/dist/browser/crypto/types.js +2 -0
- package/dist/browser/crypto/types.js.map +1 -0
- package/dist/browser/crypto/web-crypto.d.ts +8 -0
- package/dist/browser/crypto/web-crypto.d.ts.map +1 -0
- package/dist/browser/crypto/web-crypto.js +17 -0
- package/dist/browser/crypto/web-crypto.js.map +1 -0
- package/dist/browser/errors/index.d.ts +38 -0
- package/dist/browser/errors/index.d.ts.map +1 -0
- package/dist/browser/errors/index.js +72 -0
- package/dist/browser/errors/index.js.map +1 -0
- package/dist/browser/http/client.d.ts +50 -0
- package/dist/browser/http/client.d.ts.map +1 -0
- package/dist/browser/http/client.js +153 -0
- package/dist/browser/http/client.js.map +1 -0
- package/dist/browser/index.d.ts +59 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +78 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/smart-wallets/LocalSigner.d.ts +19 -0
- package/dist/browser/smart-wallets/LocalSigner.d.ts.map +1 -0
- package/dist/browser/smart-wallets/LocalSigner.js +57 -0
- package/dist/browser/smart-wallets/LocalSigner.js.map +1 -0
- package/dist/browser/smart-wallets/SmartWalletClient.d.ts +19 -0
- package/dist/browser/smart-wallets/SmartWalletClient.d.ts.map +1 -0
- package/dist/browser/smart-wallets/SmartWalletClient.js +180 -0
- package/dist/browser/smart-wallets/SmartWalletClient.js.map +1 -0
- package/dist/browser/smart-wallets/SmartWalletManager.d.ts +17 -0
- package/dist/browser/smart-wallets/SmartWalletManager.d.ts.map +1 -0
- package/dist/browser/smart-wallets/SmartWalletManager.js +59 -0
- package/dist/browser/smart-wallets/SmartWalletManager.js.map +1 -0
- package/dist/browser/smart-wallets/chains.d.ts +11 -0
- package/dist/browser/smart-wallets/chains.d.ts.map +1 -0
- package/dist/browser/smart-wallets/chains.js +30 -0
- package/dist/browser/smart-wallets/chains.js.map +1 -0
- package/dist/browser/smart-wallets/errors.d.ts +23 -0
- package/dist/browser/smart-wallets/errors.d.ts.map +1 -0
- package/dist/browser/smart-wallets/errors.js +44 -0
- package/dist/browser/smart-wallets/errors.js.map +1 -0
- package/dist/browser/smart-wallets/index.d.ts +11 -0
- package/dist/browser/smart-wallets/index.d.ts.map +1 -0
- package/dist/browser/smart-wallets/index.js +13 -0
- package/dist/browser/smart-wallets/index.js.map +1 -0
- package/dist/browser/smart-wallets/types.d.ts +47 -0
- package/dist/browser/smart-wallets/types.d.ts.map +1 -0
- package/dist/browser/smart-wallets/types.js +2 -0
- package/dist/browser/smart-wallets/types.js.map +1 -0
- package/dist/browser/smart-wallets/utils.d.ts +22 -0
- package/dist/browser/smart-wallets/utils.d.ts.map +1 -0
- package/dist/browser/smart-wallets/utils.js +57 -0
- package/dist/browser/smart-wallets/utils.js.map +1 -0
- package/dist/browser/types/index.d.ts +170 -0
- package/dist/browser/types/index.d.ts.map +1 -0
- package/dist/browser/types/index.js +10 -0
- package/dist/browser/types/index.js.map +1 -0
- package/dist/browser/types/offramp.d.ts +55 -0
- package/dist/browser/types/offramp.d.ts.map +1 -0
- package/dist/browser/types/offramp.js +2 -0
- package/dist/browser/types/offramp.js.map +1 -0
- package/dist/browser/types/onramp.d.ts +54 -0
- package/dist/browser/types/onramp.d.ts.map +1 -0
- package/dist/browser/types/onramp.js +2 -0
- package/dist/browser/types/onramp.js.map +1 -0
- package/dist/cjs/api/OffRampAPI.d.ts +45 -0
- package/dist/cjs/api/OffRampAPI.d.ts.map +1 -0
- package/dist/cjs/api/OffRampAPI.js +77 -0
- package/dist/cjs/api/OffRampAPI.js.map +1 -0
- package/dist/cjs/api/OnRampAPI.d.ts +42 -0
- package/dist/cjs/api/OnRampAPI.d.ts.map +1 -0
- package/dist/cjs/api/OnRampAPI.js +77 -0
- package/dist/cjs/api/OnRampAPI.js.map +1 -0
- package/dist/cjs/api/QuoteAPI.d.ts +16 -0
- package/dist/cjs/api/QuoteAPI.d.ts.map +1 -0
- package/dist/cjs/api/QuoteAPI.js +21 -0
- package/dist/cjs/api/QuoteAPI.js.map +1 -0
- package/dist/cjs/api/RecipientAPI.d.ts +25 -0
- package/dist/cjs/api/RecipientAPI.d.ts.map +1 -0
- package/dist/cjs/api/RecipientAPI.js +34 -0
- package/dist/cjs/api/RecipientAPI.js.map +1 -0
- package/dist/cjs/api/TransactionAPI.d.ts +35 -0
- package/dist/cjs/api/TransactionAPI.d.ts.map +1 -0
- package/dist/cjs/api/TransactionAPI.js +76 -0
- package/dist/cjs/api/TransactionAPI.js.map +1 -0
- package/dist/cjs/auth/hmac.d.ts +24 -0
- package/dist/cjs/auth/hmac.d.ts.map +1 -0
- package/dist/cjs/auth/hmac.js +74 -0
- package/dist/cjs/auth/hmac.js.map +1 -0
- package/dist/cjs/crypto/factory.d.ts +7 -0
- package/dist/cjs/crypto/factory.d.ts.map +1 -0
- package/dist/cjs/crypto/factory.js +21 -0
- package/dist/cjs/crypto/factory.js.map +1 -0
- package/dist/cjs/crypto/node-crypto.d.ts +10 -0
- package/dist/cjs/crypto/node-crypto.d.ts.map +1 -0
- package/dist/cjs/crypto/node-crypto.js +65 -0
- package/dist/cjs/crypto/node-crypto.js.map +1 -0
- package/dist/cjs/crypto/types.d.ts +13 -0
- package/dist/cjs/crypto/types.d.ts.map +1 -0
- package/dist/cjs/crypto/types.js +3 -0
- package/dist/cjs/crypto/types.js.map +1 -0
- package/dist/cjs/crypto/web-crypto.d.ts +8 -0
- package/dist/cjs/crypto/web-crypto.d.ts.map +1 -0
- package/dist/cjs/crypto/web-crypto.js +21 -0
- package/dist/cjs/crypto/web-crypto.js.map +1 -0
- package/dist/cjs/errors/index.d.ts +38 -0
- package/dist/cjs/errors/index.d.ts.map +1 -0
- package/dist/cjs/errors/index.js +85 -0
- package/dist/cjs/errors/index.js.map +1 -0
- package/dist/cjs/http/client.d.ts +50 -0
- package/dist/cjs/http/client.d.ts.map +1 -0
- package/dist/cjs/http/client.js +157 -0
- package/dist/cjs/http/client.js.map +1 -0
- package/dist/cjs/index.d.ts +59 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +112 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/smart-wallets/LocalSigner.d.ts +19 -0
- package/dist/cjs/smart-wallets/LocalSigner.d.ts.map +1 -0
- package/dist/cjs/smart-wallets/LocalSigner.js +61 -0
- package/dist/cjs/smart-wallets/LocalSigner.js.map +1 -0
- package/dist/cjs/smart-wallets/SmartWalletClient.d.ts +19 -0
- package/dist/cjs/smart-wallets/SmartWalletClient.d.ts.map +1 -0
- package/dist/cjs/smart-wallets/SmartWalletClient.js +184 -0
- package/dist/cjs/smart-wallets/SmartWalletClient.js.map +1 -0
- package/dist/cjs/smart-wallets/SmartWalletManager.d.ts +17 -0
- package/dist/cjs/smart-wallets/SmartWalletManager.d.ts.map +1 -0
- package/dist/cjs/smart-wallets/SmartWalletManager.js +63 -0
- package/dist/cjs/smart-wallets/SmartWalletManager.js.map +1 -0
- package/dist/cjs/smart-wallets/chains.d.ts +11 -0
- package/dist/cjs/smart-wallets/chains.d.ts.map +1 -0
- package/dist/cjs/smart-wallets/chains.js +36 -0
- package/dist/cjs/smart-wallets/chains.js.map +1 -0
- package/dist/cjs/smart-wallets/errors.d.ts +23 -0
- package/dist/cjs/smart-wallets/errors.d.ts.map +1 -0
- package/dist/cjs/smart-wallets/errors.js +54 -0
- package/dist/cjs/smart-wallets/errors.js.map +1 -0
- package/dist/cjs/smart-wallets/index.d.ts +11 -0
- package/dist/cjs/smart-wallets/index.d.ts.map +1 -0
- package/dist/cjs/smart-wallets/index.js +36 -0
- package/dist/cjs/smart-wallets/index.js.map +1 -0
- package/dist/cjs/smart-wallets/types.d.ts +47 -0
- package/dist/cjs/smart-wallets/types.d.ts.map +1 -0
- package/dist/cjs/smart-wallets/types.js +3 -0
- package/dist/cjs/smart-wallets/types.js.map +1 -0
- package/dist/cjs/smart-wallets/utils.d.ts +22 -0
- package/dist/cjs/smart-wallets/utils.d.ts.map +1 -0
- package/dist/cjs/smart-wallets/utils.js +64 -0
- package/dist/cjs/smart-wallets/utils.js.map +1 -0
- package/dist/cjs/types/index.d.ts +170 -0
- package/dist/cjs/types/index.d.ts.map +1 -0
- package/dist/cjs/types/index.js +13 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/types/offramp.d.ts +55 -0
- package/dist/cjs/types/offramp.d.ts.map +1 -0
- package/dist/cjs/types/offramp.js +3 -0
- package/dist/cjs/types/offramp.js.map +1 -0
- package/dist/cjs/types/onramp.d.ts +54 -0
- package/dist/cjs/types/onramp.d.ts.map +1 -0
- package/dist/cjs/types/onramp.js +3 -0
- package/dist/cjs/types/onramp.js.map +1 -0
- package/dist/esm/api/OffRampAPI.d.ts +45 -0
- package/dist/esm/api/OffRampAPI.d.ts.map +1 -0
- package/dist/esm/api/OffRampAPI.js +73 -0
- package/dist/esm/api/OffRampAPI.js.map +1 -0
- package/dist/esm/api/OnRampAPI.d.ts +42 -0
- package/dist/esm/api/OnRampAPI.d.ts.map +1 -0
- package/dist/esm/api/OnRampAPI.js +73 -0
- package/dist/esm/api/OnRampAPI.js.map +1 -0
- package/dist/esm/api/QuoteAPI.d.ts +16 -0
- package/dist/esm/api/QuoteAPI.d.ts.map +1 -0
- package/dist/esm/api/QuoteAPI.js +17 -0
- package/dist/esm/api/QuoteAPI.js.map +1 -0
- package/dist/esm/api/RecipientAPI.d.ts +25 -0
- package/dist/esm/api/RecipientAPI.d.ts.map +1 -0
- package/dist/esm/api/RecipientAPI.js +30 -0
- package/dist/esm/api/RecipientAPI.js.map +1 -0
- package/dist/esm/api/TransactionAPI.d.ts +35 -0
- package/dist/esm/api/TransactionAPI.d.ts.map +1 -0
- package/dist/esm/api/TransactionAPI.js +72 -0
- package/dist/esm/api/TransactionAPI.js.map +1 -0
- package/dist/esm/auth/hmac.d.ts +24 -0
- package/dist/esm/auth/hmac.d.ts.map +1 -0
- package/dist/esm/auth/hmac.js +70 -0
- package/dist/esm/auth/hmac.js.map +1 -0
- package/dist/esm/crypto/factory.d.ts +7 -0
- package/dist/esm/crypto/factory.d.ts.map +1 -0
- package/dist/esm/crypto/factory.js +18 -0
- package/dist/esm/crypto/factory.js.map +1 -0
- package/dist/esm/crypto/node-crypto.d.ts +10 -0
- package/dist/esm/crypto/node-crypto.d.ts.map +1 -0
- package/dist/esm/crypto/node-crypto.js +28 -0
- package/dist/esm/crypto/node-crypto.js.map +1 -0
- package/dist/esm/crypto/types.d.ts +13 -0
- package/dist/esm/crypto/types.d.ts.map +1 -0
- package/dist/esm/crypto/types.js +2 -0
- package/dist/esm/crypto/types.js.map +1 -0
- package/dist/esm/crypto/web-crypto.d.ts +8 -0
- package/dist/esm/crypto/web-crypto.d.ts.map +1 -0
- package/dist/esm/crypto/web-crypto.js +17 -0
- package/dist/esm/crypto/web-crypto.js.map +1 -0
- package/dist/esm/errors/index.d.ts +38 -0
- package/dist/esm/errors/index.d.ts.map +1 -0
- package/dist/esm/errors/index.js +72 -0
- package/dist/esm/errors/index.js.map +1 -0
- package/dist/esm/http/client.d.ts +50 -0
- package/dist/esm/http/client.d.ts.map +1 -0
- package/dist/esm/http/client.js +153 -0
- package/dist/esm/http/client.js.map +1 -0
- package/dist/esm/index.d.ts +59 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +78 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/smart-wallets/LocalSigner.d.ts +19 -0
- package/dist/esm/smart-wallets/LocalSigner.d.ts.map +1 -0
- package/dist/esm/smart-wallets/LocalSigner.js +57 -0
- package/dist/esm/smart-wallets/LocalSigner.js.map +1 -0
- package/dist/esm/smart-wallets/SmartWalletClient.d.ts +19 -0
- package/dist/esm/smart-wallets/SmartWalletClient.d.ts.map +1 -0
- package/dist/esm/smart-wallets/SmartWalletClient.js +180 -0
- package/dist/esm/smart-wallets/SmartWalletClient.js.map +1 -0
- package/dist/esm/smart-wallets/SmartWalletManager.d.ts +17 -0
- package/dist/esm/smart-wallets/SmartWalletManager.d.ts.map +1 -0
- package/dist/esm/smart-wallets/SmartWalletManager.js +59 -0
- package/dist/esm/smart-wallets/SmartWalletManager.js.map +1 -0
- package/dist/esm/smart-wallets/chains.d.ts +11 -0
- package/dist/esm/smart-wallets/chains.d.ts.map +1 -0
- package/dist/esm/smart-wallets/chains.js +30 -0
- package/dist/esm/smart-wallets/chains.js.map +1 -0
- package/dist/esm/smart-wallets/errors.d.ts +23 -0
- package/dist/esm/smart-wallets/errors.d.ts.map +1 -0
- package/dist/esm/smart-wallets/errors.js +44 -0
- package/dist/esm/smart-wallets/errors.js.map +1 -0
- package/dist/esm/smart-wallets/index.d.ts +11 -0
- package/dist/esm/smart-wallets/index.d.ts.map +1 -0
- package/dist/esm/smart-wallets/index.js +13 -0
- package/dist/esm/smart-wallets/index.js.map +1 -0
- package/dist/esm/smart-wallets/types.d.ts +47 -0
- package/dist/esm/smart-wallets/types.d.ts.map +1 -0
- package/dist/esm/smart-wallets/types.js +2 -0
- package/dist/esm/smart-wallets/types.js.map +1 -0
- package/dist/esm/smart-wallets/utils.d.ts +22 -0
- package/dist/esm/smart-wallets/utils.d.ts.map +1 -0
- package/dist/esm/smart-wallets/utils.js +57 -0
- package/dist/esm/smart-wallets/utils.js.map +1 -0
- package/dist/esm/types/index.d.ts +170 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/index.js +10 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/offramp.d.ts +55 -0
- package/dist/esm/types/offramp.d.ts.map +1 -0
- package/dist/esm/types/offramp.js +2 -0
- package/dist/esm/types/offramp.js.map +1 -0
- package/dist/esm/types/onramp.d.ts +54 -0
- package/dist/esm/types/onramp.d.ts.map +1 -0
- package/dist/esm/types/onramp.js +2 -0
- package/dist/esm/types/onramp.js.map +1 -0
- package/dist/types/api/OffRampAPI.d.ts +45 -0
- package/dist/types/api/OffRampAPI.d.ts.map +1 -0
- package/dist/types/api/OnRampAPI.d.ts +42 -0
- package/dist/types/api/OnRampAPI.d.ts.map +1 -0
- package/dist/types/api/QuoteAPI.d.ts +16 -0
- package/dist/types/api/QuoteAPI.d.ts.map +1 -0
- package/dist/types/api/RecipientAPI.d.ts +25 -0
- package/dist/types/api/RecipientAPI.d.ts.map +1 -0
- package/dist/types/api/TransactionAPI.d.ts +35 -0
- package/dist/types/api/TransactionAPI.d.ts.map +1 -0
- package/dist/types/auth/hmac.d.ts +24 -0
- package/dist/types/auth/hmac.d.ts.map +1 -0
- package/dist/types/crypto/factory.d.ts +7 -0
- package/dist/types/crypto/factory.d.ts.map +1 -0
- package/dist/types/crypto/node-crypto.d.ts +10 -0
- package/dist/types/crypto/node-crypto.d.ts.map +1 -0
- package/dist/types/crypto/types.d.ts +13 -0
- package/dist/types/crypto/types.d.ts.map +1 -0
- package/dist/types/crypto/web-crypto.d.ts +8 -0
- package/dist/types/crypto/web-crypto.d.ts.map +1 -0
- package/dist/types/errors/index.d.ts +38 -0
- package/dist/types/errors/index.d.ts.map +1 -0
- package/dist/types/http/client.d.ts +50 -0
- package/dist/types/http/client.d.ts.map +1 -0
- package/dist/types/index.d.ts +59 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/smart-wallets/LocalSigner.d.ts +19 -0
- package/dist/types/smart-wallets/LocalSigner.d.ts.map +1 -0
- package/dist/types/smart-wallets/SmartWalletClient.d.ts +19 -0
- package/dist/types/smart-wallets/SmartWalletClient.d.ts.map +1 -0
- package/dist/types/smart-wallets/SmartWalletManager.d.ts +17 -0
- package/dist/types/smart-wallets/SmartWalletManager.d.ts.map +1 -0
- package/dist/types/smart-wallets/chains.d.ts +11 -0
- package/dist/types/smart-wallets/chains.d.ts.map +1 -0
- package/dist/types/smart-wallets/errors.d.ts +23 -0
- package/dist/types/smart-wallets/errors.d.ts.map +1 -0
- package/dist/types/smart-wallets/index.d.ts +11 -0
- package/dist/types/smart-wallets/index.d.ts.map +1 -0
- package/dist/types/smart-wallets/types.d.ts +47 -0
- package/dist/types/smart-wallets/types.d.ts.map +1 -0
- package/dist/types/smart-wallets/utils.d.ts +22 -0
- package/dist/types/smart-wallets/utils.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +170 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/offramp.d.ts +55 -0
- package/dist/types/types/offramp.d.ts.map +1 -0
- package/dist/types/types/onramp.d.ts +54 -0
- package/dist/types/types/onramp.d.ts.map +1 -0
- package/package.json +99 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export class RecipientAPI {
|
|
2
|
+
constructor(httpClient) {
|
|
3
|
+
this.httpClient = httpClient;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Creates a new recipient
|
|
7
|
+
* @param params Recipient creation parameters
|
|
8
|
+
* @returns Recipient response with ID and optional smart wallet
|
|
9
|
+
*/
|
|
10
|
+
async create(params) {
|
|
11
|
+
return this.httpClient.post('/create-recipient', params);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Updates recipient settlement details
|
|
15
|
+
* @param params Update parameters including recipient ID
|
|
16
|
+
* @returns Update response
|
|
17
|
+
*/
|
|
18
|
+
async updateSettlement(params) {
|
|
19
|
+
return this.httpClient.put('/update-recipient', params);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Deactivates a recipient
|
|
23
|
+
* @param params Deactivation parameters
|
|
24
|
+
* @returns Deactivation response
|
|
25
|
+
*/
|
|
26
|
+
async deactivate(params) {
|
|
27
|
+
return this.httpClient.put('/deactivate-recipient', params);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=RecipientAPI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RecipientAPI.js","sourceRoot":"","sources":["../../../src/api/RecipientAPI.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,YAAY;IACvB,YAAoB,UAA+B;QAA/B,eAAU,GAAV,UAAU,CAAqB;IAAG,CAAC;IAEvD;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,MAA6B;QACxC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAA0B,mBAAmB,EAAE,MAAM,CAAC,CAAC;IACpF,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CACpB,MAAuC;QAEvC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAA0B,mBAAmB,EAAE,MAAM,CAAC,CAAC;IACnF,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,MAAiC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAA8B,uBAAuB,EAAE,MAAM,CAAC,CAAC;IAC3F,CAAC;CACF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { UniversalHttpClient } from '../http/client';
|
|
2
|
+
import { TransactionStatusParams, TransactionStatusResponse, TransactionListItem, TransactionStatus } from '../types';
|
|
3
|
+
export interface PollingOptions {
|
|
4
|
+
intervalMs?: number;
|
|
5
|
+
timeoutMs?: number;
|
|
6
|
+
onStatusUpdate?: (status: TransactionStatus) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare class TransactionAPI {
|
|
9
|
+
private httpClient;
|
|
10
|
+
constructor(httpClient: UniversalHttpClient);
|
|
11
|
+
/**
|
|
12
|
+
* Gets the status of a transaction
|
|
13
|
+
* @param params Query parameters for transaction lookup
|
|
14
|
+
* @returns Transaction status response
|
|
15
|
+
*/
|
|
16
|
+
getStatus(params: TransactionStatusParams): Promise<TransactionStatusResponse>;
|
|
17
|
+
/**
|
|
18
|
+
* Gets all successful transactions
|
|
19
|
+
* @returns Array of successful transactions
|
|
20
|
+
*/
|
|
21
|
+
getSuccessfulTransactions(): Promise<TransactionListItem[]>;
|
|
22
|
+
/**
|
|
23
|
+
* Waits for a transaction to reach a terminal state
|
|
24
|
+
* @param transactionId The transaction ID to monitor
|
|
25
|
+
* @param options Polling configuration
|
|
26
|
+
* @returns Final transaction status
|
|
27
|
+
*/
|
|
28
|
+
waitForCompletion(transactionId: string, options?: PollingOptions): Promise<TransactionStatusResponse>;
|
|
29
|
+
/**
|
|
30
|
+
* Checks if a status is terminal
|
|
31
|
+
*/
|
|
32
|
+
private isTerminalStatus;
|
|
33
|
+
private sleep;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=TransactionAPI.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionAPI.d.ts","sourceRoot":"","sources":["../../../src/api/TransactionAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAGlB,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACtD;AAED,qBAAa,cAAc;IACb,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,mBAAmB;IAEnD;;;;OAIG;IACG,SAAS,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAIpF;;;OAGG;IACG,yBAAyB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAIjE;;;;;OAKG;IACG,iBAAiB,CACrB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,yBAAyB,CAAC;IAqCrC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,KAAK;CAGd"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { TransactionStatus } from '../types';
|
|
2
|
+
export class TransactionAPI {
|
|
3
|
+
constructor(httpClient) {
|
|
4
|
+
this.httpClient = httpClient;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Gets the status of a transaction
|
|
8
|
+
* @param params Query parameters for transaction lookup
|
|
9
|
+
* @returns Transaction status response
|
|
10
|
+
*/
|
|
11
|
+
async getStatus(params) {
|
|
12
|
+
return this.httpClient.get('/status', params);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Gets all successful transactions
|
|
16
|
+
* @returns Array of successful transactions
|
|
17
|
+
*/
|
|
18
|
+
async getSuccessfulTransactions() {
|
|
19
|
+
return this.httpClient.get('/successful-transactions');
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Waits for a transaction to reach a terminal state
|
|
23
|
+
* @param transactionId The transaction ID to monitor
|
|
24
|
+
* @param options Polling configuration
|
|
25
|
+
* @returns Final transaction status
|
|
26
|
+
*/
|
|
27
|
+
async waitForCompletion(transactionId, options) {
|
|
28
|
+
const intervalMs = options?.intervalMs || 5000;
|
|
29
|
+
const timeoutMs = options?.timeoutMs || 600000;
|
|
30
|
+
const startTime = Date.now();
|
|
31
|
+
let lastStatus = null;
|
|
32
|
+
while (true) {
|
|
33
|
+
if (Date.now() - startTime > timeoutMs) {
|
|
34
|
+
throw new Error(`Transaction polling timeout after ${timeoutMs}ms. Last status: ${lastStatus}`);
|
|
35
|
+
}
|
|
36
|
+
try {
|
|
37
|
+
const response = await this.getStatus({ transactionId });
|
|
38
|
+
const currentStatus = response.transaction.status;
|
|
39
|
+
if (currentStatus !== lastStatus && options?.onStatusUpdate) {
|
|
40
|
+
options.onStatusUpdate(currentStatus);
|
|
41
|
+
}
|
|
42
|
+
lastStatus = currentStatus;
|
|
43
|
+
if (this.isTerminalStatus(currentStatus)) {
|
|
44
|
+
return response;
|
|
45
|
+
}
|
|
46
|
+
await this.sleep(intervalMs); // wait before next poll
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
if (error instanceof Error && error.message.includes('network')) {
|
|
50
|
+
await this.sleep(intervalMs); // continue polling on error
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
throw error;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Checks if a status is terminal
|
|
59
|
+
*/
|
|
60
|
+
isTerminalStatus(status) {
|
|
61
|
+
return [
|
|
62
|
+
TransactionStatus.COMPLETED,
|
|
63
|
+
TransactionStatus.FAILED,
|
|
64
|
+
TransactionStatus.CANCELLED,
|
|
65
|
+
TransactionStatus.REFUNDED
|
|
66
|
+
].includes(status);
|
|
67
|
+
}
|
|
68
|
+
sleep(ms) {
|
|
69
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=TransactionAPI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionAPI.js","sourceRoot":"","sources":["../../../src/api/TransactionAPI.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,iBAAiB,EAClB,MAAM,UAAU,CAAC;AASlB,MAAM,OAAO,cAAc;IACzB,YAAoB,UAA+B;QAA/B,eAAU,GAAV,UAAU,CAAqB;IAAG,CAAC;IAEvD;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,MAA+B;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAA4B,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,yBAAyB;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAwB,0BAA0B,CAAC,CAAC;IAChF,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,iBAAiB,CACrB,aAAqB,EACrB,OAAwB;QAExB,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC;QAC/C,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,MAAM,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,UAAU,GAA6B,IAAI,CAAC;QAEhD,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CACb,qCAAqC,SAAS,oBAAoB,UAAU,EAAE,CAC/E,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;gBACzD,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,CAAC,MAA2B,CAAC;gBAEvE,IAAI,aAAa,KAAK,UAAU,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;oBAC5D,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;gBACxC,CAAC;gBACD,UAAU,GAAG,aAAa,CAAC;gBAE3B,IAAI,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC;oBACzC,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBAED,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,wBAAwB;YACxD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChE,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,4BAA4B;oBAC1D,SAAS;gBACX,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,MAAyB;QAChD,OAAO;YACL,iBAAiB,CAAC,SAAS;YAC3B,iBAAiB,CAAC,MAAM;YACxB,iBAAiB,CAAC,SAAS;YAC3B,iBAAiB,CAAC,QAAQ;SAC3B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;CACF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare class HmacAuthenticator {
|
|
2
|
+
private clientId;
|
|
3
|
+
private clientSecret;
|
|
4
|
+
private cryptoProvider;
|
|
5
|
+
constructor(clientId: string, clientSecret: string);
|
|
6
|
+
/**
|
|
7
|
+
* Canonicalizes a JavaScript object into deterministic JSON string
|
|
8
|
+
*/
|
|
9
|
+
private canonicalizeJSON;
|
|
10
|
+
/**
|
|
11
|
+
* Generates HMAC signature for a payload
|
|
12
|
+
* @param payload The payload to sign
|
|
13
|
+
* @returns Hex-encoded signature
|
|
14
|
+
*/
|
|
15
|
+
generateSignature(payload: unknown): Promise<string>;
|
|
16
|
+
/**
|
|
17
|
+
* Gets authentication headers for API requests
|
|
18
|
+
* @param body Request body to sign
|
|
19
|
+
* @param includeTimestamp Whether to include timestamp header
|
|
20
|
+
* @returns Authentication headers
|
|
21
|
+
*/
|
|
22
|
+
getAuthHeaders(body: unknown, includeTimestamp?: boolean): Promise<Record<string, string>>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=hmac.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hmac.d.ts","sourceRoot":"","sources":["../../../src/auth/hmac.ts"],"names":[],"mappings":"AAGA,qBAAa,iBAAiB;IAI1B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,YAAY;IAJtB,OAAO,CAAC,cAAc,CAAiB;gBAG7B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM;IAK9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA8BxB;;;;OAIG;IACG,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAM1D;;;;;OAKG;IACG,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,gBAAgB,UAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAY9F"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { getCryptoProvider } from '../crypto/factory';
|
|
2
|
+
export class HmacAuthenticator {
|
|
3
|
+
constructor(clientId, clientSecret) {
|
|
4
|
+
this.clientId = clientId;
|
|
5
|
+
this.clientSecret = clientSecret;
|
|
6
|
+
this.cryptoProvider = getCryptoProvider();
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Canonicalizes a JavaScript object into deterministic JSON string
|
|
10
|
+
*/
|
|
11
|
+
canonicalizeJSON(obj, seenObjects = new WeakSet()) {
|
|
12
|
+
if (obj === null)
|
|
13
|
+
return 'null';
|
|
14
|
+
if (typeof obj === 'undefined')
|
|
15
|
+
return 'undefined';
|
|
16
|
+
if (typeof obj === 'boolean' || typeof obj === 'number')
|
|
17
|
+
return String(obj);
|
|
18
|
+
if (typeof obj === 'string')
|
|
19
|
+
return JSON.stringify(obj);
|
|
20
|
+
if (obj instanceof Date)
|
|
21
|
+
return JSON.stringify(obj.toISOString());
|
|
22
|
+
if (Array.isArray(obj)) {
|
|
23
|
+
if (seenObjects.has(obj))
|
|
24
|
+
return '[Circular]';
|
|
25
|
+
seenObjects.add(obj);
|
|
26
|
+
const items = obj.map((item) => this.canonicalizeJSON(item, seenObjects));
|
|
27
|
+
seenObjects.delete(obj);
|
|
28
|
+
return `[${items.join(',')}]`;
|
|
29
|
+
}
|
|
30
|
+
if (typeof obj === 'object' && obj !== null) {
|
|
31
|
+
if (seenObjects.has(obj))
|
|
32
|
+
return '{Circular}';
|
|
33
|
+
seenObjects.add(obj);
|
|
34
|
+
const sortedKeys = Object.keys(obj).sort();
|
|
35
|
+
const pairs = sortedKeys.map((key) => {
|
|
36
|
+
const value = this.canonicalizeJSON(obj[key], seenObjects);
|
|
37
|
+
return `${JSON.stringify(key)}:${value}`;
|
|
38
|
+
});
|
|
39
|
+
seenObjects.delete(obj);
|
|
40
|
+
return `{${pairs.join(',')}}`;
|
|
41
|
+
}
|
|
42
|
+
return JSON.stringify(obj);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Generates HMAC signature for a payload
|
|
46
|
+
* @param payload The payload to sign
|
|
47
|
+
* @returns Hex-encoded signature
|
|
48
|
+
*/
|
|
49
|
+
async generateSignature(payload) {
|
|
50
|
+
const message = typeof payload === 'string' ? payload : this.canonicalizeJSON(payload);
|
|
51
|
+
return this.cryptoProvider.createHmacSha256(this.clientSecret, message);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Gets authentication headers for API requests
|
|
55
|
+
* @param body Request body to sign
|
|
56
|
+
* @param includeTimestamp Whether to include timestamp header
|
|
57
|
+
* @returns Authentication headers
|
|
58
|
+
*/
|
|
59
|
+
async getAuthHeaders(body, includeTimestamp = true) {
|
|
60
|
+
const headers = {
|
|
61
|
+
'x-client-id': this.clientId,
|
|
62
|
+
'x-signature': await this.generateSignature(body)
|
|
63
|
+
};
|
|
64
|
+
if (includeTimestamp) {
|
|
65
|
+
headers['x-timestamp'] = Date.now().toString();
|
|
66
|
+
}
|
|
67
|
+
return headers;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=hmac.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hmac.js","sourceRoot":"","sources":["../../../src/auth/hmac.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/crypto/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAIzC;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAalD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { WebCryptoProvider } from './web-crypto';
|
|
2
|
+
import { NodeCryptoProvider } from './node-crypto';
|
|
3
|
+
/**
|
|
4
|
+
* Factory function to get the appropriate crypto provider
|
|
5
|
+
* based on the current environment
|
|
6
|
+
*/
|
|
7
|
+
export function getCryptoProvider() {
|
|
8
|
+
// Check for Web Crypto API first (works in browsers and Node)
|
|
9
|
+
if (typeof crypto !== 'undefined' && crypto.subtle) {
|
|
10
|
+
return new WebCryptoProvider();
|
|
11
|
+
}
|
|
12
|
+
// Check for Node environment
|
|
13
|
+
if (typeof process !== 'undefined' && process.versions?.node) {
|
|
14
|
+
return new NodeCryptoProvider();
|
|
15
|
+
}
|
|
16
|
+
throw new Error('No suitable crypto provider found. This SDK requires either Web Crypto API or Node.js crypto module.');
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/crypto/factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,8DAA8D;IAC9D,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACnD,OAAO,IAAI,iBAAiB,EAAE,CAAC;IACjC,CAAC;IACD,6BAA6B;IAC7B,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC7D,OAAO,IAAI,kBAAkB,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,IAAI,KAAK,CACb,sGAAsG,CACvG,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CryptoProvider } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Node.js crypto module provider for server environments
|
|
4
|
+
*/
|
|
5
|
+
export declare class NodeCryptoProvider implements CryptoProvider {
|
|
6
|
+
private crypto;
|
|
7
|
+
constructor();
|
|
8
|
+
createHmacSha256(secret: string, message: string): Promise<string>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=node-crypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-crypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/node-crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC;;GAEG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IACvD,OAAO,CAAC,MAAM,CAAsC;;IAY9C,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAazE"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js crypto module provider for server environments
|
|
3
|
+
*/
|
|
4
|
+
export class NodeCryptoProvider {
|
|
5
|
+
constructor() {
|
|
6
|
+
// dynamic import to avoid bundling in browser builds
|
|
7
|
+
try {
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
9
|
+
this.crypto = require('crypto');
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
// will be handled by factory
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
async createHmacSha256(secret, message) {
|
|
16
|
+
if (!this.crypto) {
|
|
17
|
+
// fallback to Web Crypto if available in Node
|
|
18
|
+
if (typeof globalThis.crypto !== 'undefined' && globalThis.crypto.subtle) {
|
|
19
|
+
const webProvider = await import('./web-crypto');
|
|
20
|
+
const provider = new webProvider.WebCryptoProvider();
|
|
21
|
+
return provider.createHmacSha256(secret, message);
|
|
22
|
+
}
|
|
23
|
+
throw new Error('No crypto provider available');
|
|
24
|
+
}
|
|
25
|
+
return Promise.resolve(this.crypto.createHmac('sha256', secret).update(message).digest('hex'));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=node-crypto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-crypto.js","sourceRoot":"","sources":["../../../src/crypto/node-crypto.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAG7B;QACE,qDAAqD;QACrD,IAAI,CAAC;YACH,8DAA8D;YAC9D,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;QAC/B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,OAAe;QACpD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,8CAA8C;YAC9C,IAAI,OAAO,UAAU,CAAC,MAAM,KAAK,WAAW,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACzE,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;gBACjD,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,iBAAiB,EAAE,CAAC;gBACrD,OAAO,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACpD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACjG,CAAC;CACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface for crypto providers that can create HMAC signatures
|
|
3
|
+
*/
|
|
4
|
+
export interface CryptoProvider {
|
|
5
|
+
/**
|
|
6
|
+
* Creates an HMAC SHA-256 signature
|
|
7
|
+
* @param secret The secret key
|
|
8
|
+
* @param message The message to sign
|
|
9
|
+
* @returns Hex-encoded signature
|
|
10
|
+
*/
|
|
11
|
+
createHmacSha256(secret: string, message: string): Promise<string>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/crypto/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACpE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/crypto/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CryptoProvider } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Web Crypto API provider for browsers and Node.js
|
|
4
|
+
*/
|
|
5
|
+
export declare class WebCryptoProvider implements CryptoProvider {
|
|
6
|
+
createHmacSha256(secret: string, message: string): Promise<string>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=web-crypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-crypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/web-crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC;;GAEG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IAChD,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAoBzE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Web Crypto API provider for browsers and Node.js
|
|
3
|
+
*/
|
|
4
|
+
export class WebCryptoProvider {
|
|
5
|
+
async createHmacSha256(secret, message) {
|
|
6
|
+
const encoder = new TextEncoder();
|
|
7
|
+
const keyData = encoder.encode(secret);
|
|
8
|
+
const msgData = encoder.encode(message);
|
|
9
|
+
const key = await crypto.subtle.importKey('raw', keyData, { name: 'HMAC', hash: 'SHA-256' }, false, ['sign']);
|
|
10
|
+
const signature = await crypto.subtle.sign('HMAC', key, msgData);
|
|
11
|
+
// convert to hex string
|
|
12
|
+
return Array.from(new Uint8Array(signature))
|
|
13
|
+
.map((b) => b.toString(16).padStart(2, '0'))
|
|
14
|
+
.join('');
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=web-crypto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-crypto.js","sourceRoot":"","sources":["../../../src/crypto/web-crypto.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAC5B,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,OAAe;QACpD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAExC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CACvC,KAAK,EACL,OAAO,EACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EACjC,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAEjE,wBAAwB;QACxB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;aACzC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;aAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;CACF"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base error class for all Orda SDK errors
|
|
3
|
+
*/
|
|
4
|
+
export declare class OrdaError extends Error {
|
|
5
|
+
code: string;
|
|
6
|
+
statusCode?: number;
|
|
7
|
+
details?: unknown;
|
|
8
|
+
constructor(message: string, statusCode?: number, details?: unknown);
|
|
9
|
+
}
|
|
10
|
+
export declare class BadRequestError extends OrdaError {
|
|
11
|
+
constructor(message: string, statusCode?: number, details?: unknown);
|
|
12
|
+
}
|
|
13
|
+
export declare class UnauthorizedError extends OrdaError {
|
|
14
|
+
constructor(message: string, statusCode?: number, details?: unknown);
|
|
15
|
+
}
|
|
16
|
+
export declare class ForbiddenError extends OrdaError {
|
|
17
|
+
constructor(message: string, statusCode?: number, details?: unknown);
|
|
18
|
+
}
|
|
19
|
+
export declare class NotFoundError extends OrdaError {
|
|
20
|
+
constructor(message: string, statusCode?: number, details?: unknown);
|
|
21
|
+
}
|
|
22
|
+
export declare class ExternalApiError extends OrdaError {
|
|
23
|
+
constructor(message: string, details?: unknown);
|
|
24
|
+
}
|
|
25
|
+
export declare class DatabaseError extends OrdaError {
|
|
26
|
+
constructor(message: string, details?: unknown);
|
|
27
|
+
}
|
|
28
|
+
export declare class NetworkError extends OrdaError {
|
|
29
|
+
constructor(message: string, statusCode?: number, details?: unknown);
|
|
30
|
+
}
|
|
31
|
+
export declare class TimeoutError extends OrdaError {
|
|
32
|
+
constructor(message: string);
|
|
33
|
+
}
|
|
34
|
+
export declare class PollingTimeoutError extends OrdaError {
|
|
35
|
+
lastStatus?: string;
|
|
36
|
+
constructor(message: string, lastStatus?: string);
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;gBAEb,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAQpE;AAED,qBAAa,eAAgB,SAAQ,SAAS;gBAEhC,OAAO,EAAE,MAAM,EAAE,UAAU,SAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAIjE;AAED,qBAAa,iBAAkB,SAAQ,SAAS;gBAElC,OAAO,EAAE,MAAM,EAAE,UAAU,SAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAIjE;AAED,qBAAa,cAAe,SAAQ,SAAS;gBAE/B,OAAO,EAAE,MAAM,EAAE,UAAU,SAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAIjE;AAED,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,OAAO,EAAE,MAAM,EAAE,UAAU,SAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAIjE;AAED,qBAAa,gBAAiB,SAAQ,SAAS;gBACjC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAI/C;AAED,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAI/C;AAED,qBAAa,YAAa,SAAQ,SAAS;gBAC7B,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAIpE;AAED,qBAAa,YAAa,SAAQ,SAAS;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,mBAAoB,SAAQ,SAAS;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;gBAEf,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;CAKjD"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base error class for all Orda SDK errors
|
|
3
|
+
*/
|
|
4
|
+
export class OrdaError extends Error {
|
|
5
|
+
constructor(message, statusCode, details) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.name = this.constructor.name;
|
|
8
|
+
this.code = this.constructor.name;
|
|
9
|
+
this.statusCode = statusCode;
|
|
10
|
+
this.details = details;
|
|
11
|
+
Error.captureStackTrace(this, this.constructor);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export class BadRequestError extends OrdaError {
|
|
15
|
+
// validation error
|
|
16
|
+
constructor(message, statusCode = 400, details) {
|
|
17
|
+
super(message, statusCode, details);
|
|
18
|
+
this.code = 'BAD_REQUEST_ERROR';
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export class UnauthorizedError extends OrdaError {
|
|
22
|
+
// authentication error
|
|
23
|
+
constructor(message, statusCode = 401, details) {
|
|
24
|
+
super(message, statusCode, details);
|
|
25
|
+
this.code = 'UNAUTHORIZED_ERROR';
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export class ForbiddenError extends OrdaError {
|
|
29
|
+
// authorization error
|
|
30
|
+
constructor(message, statusCode = 403, details) {
|
|
31
|
+
super(message, statusCode, details);
|
|
32
|
+
this.code = 'FORBIDDEN_ERROR';
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export class NotFoundError extends OrdaError {
|
|
36
|
+
constructor(message, statusCode = 404, details) {
|
|
37
|
+
super(message, statusCode, details);
|
|
38
|
+
this.code = 'NOT_FOUND_ERROR';
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export class ExternalApiError extends OrdaError {
|
|
42
|
+
constructor(message, details) {
|
|
43
|
+
super(message, 502, details);
|
|
44
|
+
this.code = 'EXTERNAL_API_ERROR';
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export class DatabaseError extends OrdaError {
|
|
48
|
+
constructor(message, details) {
|
|
49
|
+
super(message, 500, details);
|
|
50
|
+
this.code = 'DATABASE_ERROR';
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export class NetworkError extends OrdaError {
|
|
54
|
+
constructor(message, statusCode, details) {
|
|
55
|
+
super(message, statusCode || 502, details);
|
|
56
|
+
this.code = 'NETWORK_ERROR';
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export class TimeoutError extends OrdaError {
|
|
60
|
+
constructor(message) {
|
|
61
|
+
super(message, 408);
|
|
62
|
+
this.code = 'TIMEOUT_ERROR';
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
export class PollingTimeoutError extends OrdaError {
|
|
66
|
+
constructor(message, lastStatus) {
|
|
67
|
+
super(message, 408);
|
|
68
|
+
this.code = 'POLLING_TIMEOUT';
|
|
69
|
+
this.lastStatus = lastStatus;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAKlC,YAAY,OAAe,EAAE,UAAmB,EAAE,OAAiB;QACjE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5C,mBAAmB;IACnB,YAAY,OAAe,EAAE,UAAU,GAAG,GAAG,EAAE,OAAiB;QAC9D,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,SAAS;IAC9C,uBAAuB;IACvB,YAAY,OAAe,EAAE,UAAU,GAAG,GAAG,EAAE,OAAiB;QAC9D,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,SAAS;IAC3C,sBAAsB;IACtB,YAAY,OAAe,EAAE,UAAU,GAAG,GAAG,EAAE,OAAiB;QAC9D,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1C,YAAY,OAAe,EAAE,UAAU,GAAG,GAAG,EAAE,OAAiB;QAC9D,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC7C,YAAY,OAAe,EAAE,OAAiB;QAC5C,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1C,YAAY,OAAe,EAAE,OAAiB;QAC5C,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC,YAAY,OAAe,EAAE,UAAmB,EAAE,OAAiB;QACjE,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,SAAS;IAGhD,YAAY,OAAe,EAAE,UAAmB;QAC9C,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { HmacAuthenticator } from '../auth/hmac';
|
|
2
|
+
/**
|
|
3
|
+
* Request configuration
|
|
4
|
+
*/
|
|
5
|
+
export interface RequestConfig {
|
|
6
|
+
path: string;
|
|
7
|
+
method: 'GET' | 'POST' | 'PUT' | 'DELETE';
|
|
8
|
+
headers?: Record<string, string>;
|
|
9
|
+
params?: Record<string, string | number | boolean | null | undefined>;
|
|
10
|
+
body?: unknown;
|
|
11
|
+
timeout?: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* HTTP client configuration
|
|
15
|
+
*/
|
|
16
|
+
export interface HttpClientConfig {
|
|
17
|
+
baseUrl: string;
|
|
18
|
+
authenticator?: HmacAuthenticator;
|
|
19
|
+
timeout?: number;
|
|
20
|
+
enableTimestamp?: boolean;
|
|
21
|
+
debug?: boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Universal HTTP client using fetch API
|
|
25
|
+
*/
|
|
26
|
+
export declare class UniversalHttpClient {
|
|
27
|
+
private baseUrl;
|
|
28
|
+
private timeout;
|
|
29
|
+
private authenticator?;
|
|
30
|
+
private enableTimestamp;
|
|
31
|
+
private debug;
|
|
32
|
+
constructor(baseUrl: string, timeout?: number, options?: {
|
|
33
|
+
authenticator?: HmacAuthenticator;
|
|
34
|
+
enableTimestamp?: boolean;
|
|
35
|
+
debug?: boolean;
|
|
36
|
+
});
|
|
37
|
+
/**
|
|
38
|
+
* Makes an HTTP request
|
|
39
|
+
*/
|
|
40
|
+
request<T>(config: RequestConfig): Promise<T>;
|
|
41
|
+
/**
|
|
42
|
+
* Handles error responses from the API
|
|
43
|
+
*/
|
|
44
|
+
private handleErrorResponse;
|
|
45
|
+
get<T>(path: string, params?: object): Promise<T>;
|
|
46
|
+
post<T>(path: string, body?: unknown): Promise<T>;
|
|
47
|
+
put<T>(path: string, body?: unknown): Promise<T>;
|
|
48
|
+
delete<T>(path: string): Promise<T>;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/http/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAajD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IACtE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAM5B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IANjB,OAAO,CAAC,aAAa,CAAC,CAAoB;IAC1C,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,KAAK,CAAU;gBAGb,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,MAAc,EAC/B,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,iBAAiB,CAAC;QAClC,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;IAOH;;OAEG;IACG,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC;IAwGnD;;OAEG;YACW,mBAAmB;IAsC3B,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAQjD,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjD,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhD,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAG1C"}
|