diff --git a/package-lock.json b/package-lock.json index f8adb81..44e5fb1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@deltadefi-protocol/typescript-sdk", - "version": "0.3.18", + "version": "0.3.19", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@deltadefi-protocol/typescript-sdk", - "version": "0.3.18", + "version": "0.3.19", "dependencies": { "@meshsdk/core": "^1.9.0-beta.30", "@peculiar/webcrypto": "^1.5.0", @@ -1955,8 +1955,7 @@ "node_modules/@harmoniclabs/pair": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@harmoniclabs/pair/-/pair-1.0.0.tgz", - "integrity": "sha512-D9OBowsUsy1LctHxWzd9AngTzoo5x3rBiJ0gu579t41Q23pb+VNx1euEfluUEiaYbgljcl1lb/4D1fFTZd1tRQ==", - "peer": true + "integrity": "sha512-D9OBowsUsy1LctHxWzd9AngTzoo5x3rBiJ0gu579t41Q23pb+VNx1euEfluUEiaYbgljcl1lb/4D1fFTZd1tRQ==" }, "node_modules/@harmoniclabs/plutus-data": { "version": "1.2.4", @@ -2582,9 +2581,9 @@ "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==" }, "node_modules/@meshsdk/common": { - "version": "1.9.0-beta.31", - "resolved": "https://registry.npmjs.org/@meshsdk/common/-/common-1.9.0-beta.31.tgz", - "integrity": "sha512-QFWNuDZWYV7hpaqeEXbr7v30GczCo9BbH5cAohkopcwVmPpEcEKN80JYvvjenth9+29zpyrPlrZjhTtVGKSZfg==", + "version": "1.9.0-beta.32", + "resolved": "https://registry.npmjs.org/@meshsdk/common/-/common-1.9.0-beta.32.tgz", + "integrity": "sha512-BOBodzLKFTe4ohZv/PfPM57c11c9/ZLHDBXOjU8k6wBihS4NhmMyDe2NBLujb8+cf/rDkNCAPFxDHocCM/4vwg==", "dependencies": { "bech32": "^2.0.0", "bip39": "3.1.0", @@ -2593,31 +2592,32 @@ } }, "node_modules/@meshsdk/core": { - "version": "1.9.0-beta.31", - "resolved": "https://registry.npmjs.org/@meshsdk/core/-/core-1.9.0-beta.31.tgz", - "integrity": "sha512-6FfgbiNOTNPAOkzFTxd76ZIHANkQDSB5DfZvR6b3vqPjDEn3oUiLhMVn11XCdz5T4haf56meG2ABJzgspaPQGg==", + "version": "1.9.0-beta.32", + "resolved": "https://registry.npmjs.org/@meshsdk/core/-/core-1.9.0-beta.32.tgz", + "integrity": "sha512-Q9hkrG2opjOczFLce6W/w44NsTdGvEvVZ1l/vHmrNwJhxajOYqTWTu8zi42Deb3Vvj7vNJEgVHtwVNwV/9evzg==", "dependencies": { - "@meshsdk/common": "1.9.0-beta.31", - "@meshsdk/core-cst": "1.9.0-beta.31", - "@meshsdk/provider": "1.9.0-beta.31", - "@meshsdk/react": "1.9.0-beta.31", - "@meshsdk/transaction": "1.9.0-beta.31", - "@meshsdk/wallet": "1.9.0-beta.31" + "@meshsdk/common": "1.9.0-beta.32", + "@meshsdk/core-cst": "1.9.0-beta.32", + "@meshsdk/provider": "1.9.0-beta.32", + "@meshsdk/react": "1.9.0-beta.32", + "@meshsdk/transaction": "1.9.0-beta.32", + "@meshsdk/wallet": "1.9.0-beta.32" } }, "node_modules/@meshsdk/core-cst": { - "version": "1.9.0-beta.31", - "resolved": "https://registry.npmjs.org/@meshsdk/core-cst/-/core-cst-1.9.0-beta.31.tgz", - "integrity": "sha512-J1P7PVp1UXAA5+IqoYYbNNIWsLsuVZO6QnVuT5DHi/87tJGYIzfvgKTm+VYko2U65gGBeoqYuaAd9r9Y6ABAPg==", + "version": "1.9.0-beta.32", + "resolved": "https://registry.npmjs.org/@meshsdk/core-cst/-/core-cst-1.9.0-beta.32.tgz", + "integrity": "sha512-mJRaR+ilzcvoaIkmEndqa4kjNsSWY9qe62QqraiaIyj5IjosnNCPdTqHK0nJ9nculZj2/+gL78aiSjZPe4wyjg==", "dependencies": { "@cardano-sdk/core": "^0.45.5", "@cardano-sdk/crypto": "^0.2.2", "@cardano-sdk/input-selection": "^0.13.33", "@cardano-sdk/util": "^0.15.5", "@harmoniclabs/cbor": "1.3.0", + "@harmoniclabs/pair": "^1.0.0", "@harmoniclabs/plutus-data": "1.2.4", "@harmoniclabs/uplc": "1.2.4", - "@meshsdk/common": "1.9.0-beta.31", + "@meshsdk/common": "1.9.0-beta.32", "@types/base32-encoding": "^1.0.2", "base32-encoding": "^1.0.0", "bech32": "^2.0.0", @@ -2626,26 +2626,26 @@ } }, "node_modules/@meshsdk/provider": { - "version": "1.9.0-beta.31", - "resolved": "https://registry.npmjs.org/@meshsdk/provider/-/provider-1.9.0-beta.31.tgz", - "integrity": "sha512-pi9jeOLYUc0iVBEIsDZSbzRr9RrTruPaO81yzm57dy19Z9hpeZBDGWDKLMC3DfuEwXB4TiOE1Cj9Hzy446UjRQ==", + "version": "1.9.0-beta.32", + "resolved": "https://registry.npmjs.org/@meshsdk/provider/-/provider-1.9.0-beta.32.tgz", + "integrity": "sha512-1+XXTEIkZadrAL6f7pNOmC/Y9yA1yoe1GBwDmmi+eWMZ7pIeYIGF/QLjb1i4OBBtxQx/neno5XQKtdIRNmoVvQ==", "dependencies": { - "@meshsdk/common": "1.9.0-beta.31", - "@meshsdk/core-cst": "1.9.0-beta.31", + "@meshsdk/common": "1.9.0-beta.32", + "@meshsdk/core-cst": "1.9.0-beta.32", "@utxorpc/sdk": "0.6.2", "@utxorpc/spec": "0.10.1", "axios": "^1.7.2" } }, "node_modules/@meshsdk/react": { - "version": "1.9.0-beta.31", - "resolved": "https://registry.npmjs.org/@meshsdk/react/-/react-1.9.0-beta.31.tgz", - "integrity": "sha512-4McsuINMQp7aRq1XT1TGfwvRtZjR4h4ymjg8r3Hfl/8fN4hkoQLkkov2pLhFnblyNpr9ILMjSuKSY/EbCG/mEw==", + "version": "1.9.0-beta.32", + "resolved": "https://registry.npmjs.org/@meshsdk/react/-/react-1.9.0-beta.32.tgz", + "integrity": "sha512-rDjUXsmgIRsevN/fF4bRfIOugOMoxZ4HMTFyIh4yXvzcJxw1Jc0Xg44KKmxQH7MVF941JT1TZSWUv4ZftKCpFA==", "dependencies": { "@fabianbormann/cardano-peer-connect": "^1.2.18", - "@meshsdk/common": "1.9.0-beta.31", - "@meshsdk/transaction": "1.9.0-beta.31", - "@meshsdk/wallet": "1.9.0-beta.31", + "@meshsdk/common": "1.9.0-beta.32", + "@meshsdk/transaction": "1.9.0-beta.32", + "@meshsdk/wallet": "1.9.0-beta.32", "@meshsdk/web3-sdk": "0.0.17", "@radix-ui/react-dialog": "^1.1.2", "@radix-ui/react-dropdown-menu": "^2.1.2", @@ -2662,23 +2662,23 @@ } }, "node_modules/@meshsdk/transaction": { - "version": "1.9.0-beta.31", - "resolved": "https://registry.npmjs.org/@meshsdk/transaction/-/transaction-1.9.0-beta.31.tgz", - "integrity": "sha512-BBkjf3+QCvV0bPYjDy7ZltixVTezXQEo6Fg/ZGRNwGqtV0/LbF5TmAg6lTu9Zb/knmH/tE/44ghgrc/Y2JJaxg==", + "version": "1.9.0-beta.32", + "resolved": "https://registry.npmjs.org/@meshsdk/transaction/-/transaction-1.9.0-beta.32.tgz", + "integrity": "sha512-Iy9W8oOYtZDYiQz4/bNH0mOv/nGAstJeRmQrzFR/m1x6zHS0UfZ/kNvxWIxQc5OcCrwqRftXWdWrp/ESHwvzaQ==", "dependencies": { - "@meshsdk/common": "1.9.0-beta.31", - "@meshsdk/core-cst": "1.9.0-beta.31", + "@meshsdk/common": "1.9.0-beta.32", + "@meshsdk/core-cst": "1.9.0-beta.32", "json-bigint": "^1.0.0" } }, "node_modules/@meshsdk/wallet": { - "version": "1.9.0-beta.31", - "resolved": "https://registry.npmjs.org/@meshsdk/wallet/-/wallet-1.9.0-beta.31.tgz", - "integrity": "sha512-dVDWsP+Z3nTh+F+bN7AtQ+GzYguADlhmRUleF0stvOQ9d5nN0uM+4DpRJzlIe3nxJUqS6XDCMLVHMG+Lxu20dQ==", + "version": "1.9.0-beta.32", + "resolved": "https://registry.npmjs.org/@meshsdk/wallet/-/wallet-1.9.0-beta.32.tgz", + "integrity": "sha512-t8w6cSnrdih+NSi77dSOiYEAxnoVH9ZHBOffSRw7snWp/UIIBRh6HRZVBd59O+4ivie1mu/V2hKxMyoxdoLX9w==", "dependencies": { - "@meshsdk/common": "1.9.0-beta.31", - "@meshsdk/core-cst": "1.9.0-beta.31", - "@meshsdk/transaction": "1.9.0-beta.31", + "@meshsdk/common": "1.9.0-beta.32", + "@meshsdk/core-cst": "1.9.0-beta.32", + "@meshsdk/transaction": "1.9.0-beta.32", "@simplewebauthn/browser": "^13.0.0" } }, @@ -6542,9 +6542,9 @@ } }, "node_modules/dotenv": { - "version": "16.4.7", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", - "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz", + "integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==", "dev": true, "engines": { "node": ">=12" @@ -6588,9 +6588,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.135", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.135.tgz", - "integrity": "sha512-8gXUdEmvb+WCaYUhA0Svr08uSeRjM2w3x5uHOc1QbaEVzJXB8rgm5eptieXzyKoVEtinLvW6MtTcurA65PeS1Q==" + "version": "1.5.136", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.136.tgz", + "integrity": "sha512-kL4+wUTD7RSA5FHx5YwWtjDnEEkIIikFgWHR4P6fqjw1PPLlqYkxeOb++wAauAssat0YClCy8Y3C5SxgSkjibQ==" }, "node_modules/emittery": { "version": "0.13.1", diff --git a/package.json b/package.json index 23dbbea..a06f402 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@deltadefi-protocol/typescript-sdk", "description": "The Typescript SDK for interacting with DeltaDeFi protocol", - "version": "0.3.18", + "version": "0.3.19", "main": "./dist/index.cjs", "browser": "./dist/index.js", "module": "./dist/index.js", diff --git a/src/client/accounts/index.ts b/src/client/accounts/index.ts index 6f2427f..abdef90 100644 --- a/src/client/accounts/index.ts +++ b/src/client/accounts/index.ts @@ -18,6 +18,7 @@ import { GenerateNewAPIKeyResponse, AccountBalance, GetAPIKeyResponse, + GetOperationKeyResponse, } from '../../types'; import { Api } from '../api'; @@ -40,11 +41,11 @@ export class Accounts extends Api { /** * Signs in a user. * @param data - The sign-in request data. - * @param apiKey - The API key for authentication. * @returns A promise that resolves to the sign-in response. */ - public signIn(data: SignInRequest, apiKey: string): Promise { + public signIn(data: SignInRequest): Promise { const { + x_api_key, wallet_address, encrypted_operation_key, operation_key_hash, @@ -58,11 +59,20 @@ export class Accounts extends Api { operation_key_hash, is_script_operation_key, }, - { headers: { 'X-API-KEY': apiKey } }, + { headers: { 'X-API-KEY': x_api_key } }, ); return this.resolveAxiosData(res); } + /** + * Retrieves encryption operation key + * @returns A promise that resolves to the operation key response. + */ + public getOperationKey(): Promise { + const res = this.axiosInstance.get('/accounts/operation-key'); + return this.resolveAxiosData(res); + } + /** * Retrieves deposit records. * @returns A promise that resolves to the deposit records response. diff --git a/src/types/requests/index.ts b/src/types/requests/index.ts index cadcb5a..802bddc 100644 --- a/src/types/requests/index.ts +++ b/src/types/requests/index.ts @@ -3,6 +3,7 @@ import { TradingSymbol, OrderSide, OrderType } from '../models/order'; // SignInRequest to be refactored export type SignInRequest = { + x_api_key: string; wallet_address: string; encrypted_operation_key?: string; operation_key_hash?: string; diff --git a/src/types/responses/index.ts b/src/types/responses/index.ts index 763c356..262e8a2 100644 --- a/src/types/responses/index.ts +++ b/src/types/responses/index.ts @@ -8,6 +8,11 @@ export type SignInResponse = { is_first_time: boolean; }; +export type GetOperationKeyResponse = { + encrypted_operation_key: string; + operation_key_hash: string; +}; + // export type BuildSendRefScriptsTransactionResponse = { // tx_hex: string; // }; diff --git a/tests/accounts.test.ts b/tests/accounts.test.ts index 279e894..fa786b6 100644 --- a/tests/accounts.test.ts +++ b/tests/accounts.test.ts @@ -13,7 +13,10 @@ describe('Account APIs', () => { test('Sign In', async () => { if (skipApiTests) return; const api = new ApiClient({ apiKey, network: 'preprod' }); - const res = await api.accounts.signIn({ wallet_address }, apiKey); + const res = await api.accounts.signIn({ + x_api_key: apiKey, + wallet_address, + }); expect(res.token).not.toBe(''); }); test('Get Orders', async () => {