@chipi-stack/shared 0.1.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/dist/constants/index.d.mts +40 -0
- package/dist/constants/index.d.ts +40 -0
- package/dist/constants/index.js +47 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants/index.mjs +40 -0
- package/dist/constants/index.mjs.map +1 -0
- package/dist/crypto/index.d.mts +11 -0
- package/dist/crypto/index.d.ts +11 -0
- package/dist/crypto/index.js +41 -0
- package/dist/crypto/index.js.map +1 -0
- package/dist/crypto/index.mjs +30 -0
- package/dist/crypto/index.mjs.map +1 -0
- package/dist/index.d.mts +77 -0
- package/dist/index.d.ts +77 -0
- package/dist/index.js +355 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +305 -0
- package/dist/index.mjs.map +1 -0
- package/dist/utils/index.d.mts +24 -0
- package/dist/utils/index.d.ts +24 -0
- package/dist/utils/index.js +101 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/index.mjs +90 -0
- package/dist/utils/index.mjs.map +1 -0
- package/package.json +94 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Constants used across Chipi SDK packages
|
|
3
|
+
*/
|
|
4
|
+
declare const STARKNET_NETWORKS: {
|
|
5
|
+
readonly MAINNET: "https://starknet-mainnet.public.blastapi.io/rpc/v0_7";
|
|
6
|
+
readonly SEPOLIA: "https://starknet-sepolia.public.blastapi.io/rpc/v0_7";
|
|
7
|
+
};
|
|
8
|
+
declare const CONTRACT_ADDRESSES: {
|
|
9
|
+
readonly USDC_MAINNET: "0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8";
|
|
10
|
+
readonly VESU_USDC_MAINNET: "0x017f19582c61479f2fe0b6606300e975c0a8f439102f43eeecc1d0e9b3d84350";
|
|
11
|
+
};
|
|
12
|
+
declare const TOKEN_DECIMALS: {
|
|
13
|
+
readonly USDC: 6;
|
|
14
|
+
readonly USDT: 6;
|
|
15
|
+
readonly ETH: 18;
|
|
16
|
+
readonly STRK: 18;
|
|
17
|
+
readonly DAI: 18;
|
|
18
|
+
};
|
|
19
|
+
declare const API_ENDPOINTS: {
|
|
20
|
+
readonly CHIPI_WALLETS: "/chipi-wallets";
|
|
21
|
+
readonly TRANSACTIONS: "/transactions";
|
|
22
|
+
readonly SKUS: "/skus";
|
|
23
|
+
readonly SKU_TRANSACTIONS: "/sku-transactions";
|
|
24
|
+
};
|
|
25
|
+
declare const DEFAULT_PAGINATION: {
|
|
26
|
+
readonly PAGE: 1;
|
|
27
|
+
readonly LIMIT: 10;
|
|
28
|
+
readonly MAX_LIMIT: 100;
|
|
29
|
+
};
|
|
30
|
+
declare const ERRORS: {
|
|
31
|
+
readonly INVALID_API_KEY: "INVALID_API_KEY";
|
|
32
|
+
readonly WALLET_NOT_FOUND: "WALLET_NOT_FOUND";
|
|
33
|
+
readonly INSUFFICIENT_BALANCE: "INSUFFICIENT_BALANCE";
|
|
34
|
+
readonly TRANSACTION_FAILED: "TRANSACTION_FAILED";
|
|
35
|
+
readonly INVALID_SIGNATURE: "INVALID_SIGNATURE";
|
|
36
|
+
readonly SKU_NOT_FOUND: "SKU_NOT_FOUND";
|
|
37
|
+
readonly SKU_UNAVAILABLE: "SKU_UNAVAILABLE";
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export { API_ENDPOINTS, CONTRACT_ADDRESSES, DEFAULT_PAGINATION, ERRORS, STARKNET_NETWORKS, TOKEN_DECIMALS };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Constants used across Chipi SDK packages
|
|
3
|
+
*/
|
|
4
|
+
declare const STARKNET_NETWORKS: {
|
|
5
|
+
readonly MAINNET: "https://starknet-mainnet.public.blastapi.io/rpc/v0_7";
|
|
6
|
+
readonly SEPOLIA: "https://starknet-sepolia.public.blastapi.io/rpc/v0_7";
|
|
7
|
+
};
|
|
8
|
+
declare const CONTRACT_ADDRESSES: {
|
|
9
|
+
readonly USDC_MAINNET: "0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8";
|
|
10
|
+
readonly VESU_USDC_MAINNET: "0x017f19582c61479f2fe0b6606300e975c0a8f439102f43eeecc1d0e9b3d84350";
|
|
11
|
+
};
|
|
12
|
+
declare const TOKEN_DECIMALS: {
|
|
13
|
+
readonly USDC: 6;
|
|
14
|
+
readonly USDT: 6;
|
|
15
|
+
readonly ETH: 18;
|
|
16
|
+
readonly STRK: 18;
|
|
17
|
+
readonly DAI: 18;
|
|
18
|
+
};
|
|
19
|
+
declare const API_ENDPOINTS: {
|
|
20
|
+
readonly CHIPI_WALLETS: "/chipi-wallets";
|
|
21
|
+
readonly TRANSACTIONS: "/transactions";
|
|
22
|
+
readonly SKUS: "/skus";
|
|
23
|
+
readonly SKU_TRANSACTIONS: "/sku-transactions";
|
|
24
|
+
};
|
|
25
|
+
declare const DEFAULT_PAGINATION: {
|
|
26
|
+
readonly PAGE: 1;
|
|
27
|
+
readonly LIMIT: 10;
|
|
28
|
+
readonly MAX_LIMIT: 100;
|
|
29
|
+
};
|
|
30
|
+
declare const ERRORS: {
|
|
31
|
+
readonly INVALID_API_KEY: "INVALID_API_KEY";
|
|
32
|
+
readonly WALLET_NOT_FOUND: "WALLET_NOT_FOUND";
|
|
33
|
+
readonly INSUFFICIENT_BALANCE: "INSUFFICIENT_BALANCE";
|
|
34
|
+
readonly TRANSACTION_FAILED: "TRANSACTION_FAILED";
|
|
35
|
+
readonly INVALID_SIGNATURE: "INVALID_SIGNATURE";
|
|
36
|
+
readonly SKU_NOT_FOUND: "SKU_NOT_FOUND";
|
|
37
|
+
readonly SKU_UNAVAILABLE: "SKU_UNAVAILABLE";
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export { API_ENDPOINTS, CONTRACT_ADDRESSES, DEFAULT_PAGINATION, ERRORS, STARKNET_NETWORKS, TOKEN_DECIMALS };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// src/constants/index.ts
|
|
4
|
+
var STARKNET_NETWORKS = {
|
|
5
|
+
MAINNET: "https://starknet-mainnet.public.blastapi.io/rpc/v0_7",
|
|
6
|
+
SEPOLIA: "https://starknet-sepolia.public.blastapi.io/rpc/v0_7"
|
|
7
|
+
};
|
|
8
|
+
var CONTRACT_ADDRESSES = {
|
|
9
|
+
USDC_MAINNET: "0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8",
|
|
10
|
+
VESU_USDC_MAINNET: "0x017f19582c61479f2fe0b6606300e975c0a8f439102f43eeecc1d0e9b3d84350"
|
|
11
|
+
};
|
|
12
|
+
var TOKEN_DECIMALS = {
|
|
13
|
+
USDC: 6,
|
|
14
|
+
USDT: 6,
|
|
15
|
+
ETH: 18,
|
|
16
|
+
STRK: 18,
|
|
17
|
+
DAI: 18
|
|
18
|
+
};
|
|
19
|
+
var API_ENDPOINTS = {
|
|
20
|
+
CHIPI_WALLETS: "/chipi-wallets",
|
|
21
|
+
TRANSACTIONS: "/transactions",
|
|
22
|
+
SKUS: "/skus",
|
|
23
|
+
SKU_TRANSACTIONS: "/sku-transactions"
|
|
24
|
+
};
|
|
25
|
+
var DEFAULT_PAGINATION = {
|
|
26
|
+
PAGE: 1,
|
|
27
|
+
LIMIT: 10,
|
|
28
|
+
MAX_LIMIT: 100
|
|
29
|
+
};
|
|
30
|
+
var ERRORS = {
|
|
31
|
+
INVALID_API_KEY: "INVALID_API_KEY",
|
|
32
|
+
WALLET_NOT_FOUND: "WALLET_NOT_FOUND",
|
|
33
|
+
INSUFFICIENT_BALANCE: "INSUFFICIENT_BALANCE",
|
|
34
|
+
TRANSACTION_FAILED: "TRANSACTION_FAILED",
|
|
35
|
+
INVALID_SIGNATURE: "INVALID_SIGNATURE",
|
|
36
|
+
SKU_NOT_FOUND: "SKU_NOT_FOUND",
|
|
37
|
+
SKU_UNAVAILABLE: "SKU_UNAVAILABLE"
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
exports.API_ENDPOINTS = API_ENDPOINTS;
|
|
41
|
+
exports.CONTRACT_ADDRESSES = CONTRACT_ADDRESSES;
|
|
42
|
+
exports.DEFAULT_PAGINATION = DEFAULT_PAGINATION;
|
|
43
|
+
exports.ERRORS = ERRORS;
|
|
44
|
+
exports.STARKNET_NETWORKS = STARKNET_NETWORKS;
|
|
45
|
+
exports.TOKEN_DECIMALS = TOKEN_DECIMALS;
|
|
46
|
+
//# sourceMappingURL=index.js.map
|
|
47
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/constants/index.ts"],"names":[],"mappings":";;;AAIO,IAAM,iBAAA,GAAoB;AAAA,EAC/B,OAAA,EAAS,sDAAA;AAAA,EACT,OAAA,EAAS;AACX;AAEO,IAAM,kBAAA,GAAqB;AAAA,EAChC,YAAA,EAAc,oEAAA;AAAA,EACd,iBAAA,EAAmB;AACrB;AAEO,IAAM,cAAA,GAAiB;AAAA,EAC5B,IAAA,EAAM,CAAA;AAAA,EACN,IAAA,EAAM,CAAA;AAAA,EACN,GAAA,EAAK,EAAA;AAAA,EACL,IAAA,EAAM,EAAA;AAAA,EACN,GAAA,EAAK;AACP;AAEO,IAAM,aAAA,GAAgB;AAAA,EAC3B,aAAA,EAAe,gBAAA;AAAA,EACf,YAAA,EAAc,eAAA;AAAA,EACd,IAAA,EAAM,OAAA;AAAA,EACN,gBAAA,EAAkB;AACpB;AAEO,IAAM,kBAAA,GAAqB;AAAA,EAChC,IAAA,EAAM,CAAA;AAAA,EACN,KAAA,EAAO,EAAA;AAAA,EACP,SAAA,EAAW;AACb;AAEO,IAAM,MAAA,GAAS;AAAA,EACpB,eAAA,EAAiB,iBAAA;AAAA,EACjB,gBAAA,EAAkB,kBAAA;AAAA,EAClB,oBAAA,EAAsB,sBAAA;AAAA,EACtB,kBAAA,EAAoB,oBAAA;AAAA,EACpB,iBAAA,EAAmB,mBAAA;AAAA,EACnB,aAAA,EAAe,eAAA;AAAA,EACf,eAAA,EAAiB;AACnB","file":"index.js","sourcesContent":["/**\n * Constants used across Chipi SDK packages\n */\n\nexport const STARKNET_NETWORKS = {\n MAINNET: 'https://starknet-mainnet.public.blastapi.io/rpc/v0_7',\n SEPOLIA: 'https://starknet-sepolia.public.blastapi.io/rpc/v0_7',\n} as const;\n\nexport const CONTRACT_ADDRESSES = {\n USDC_MAINNET: '0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8',\n VESU_USDC_MAINNET: '0x017f19582c61479f2fe0b6606300e975c0a8f439102f43eeecc1d0e9b3d84350',\n} as const;\n\nexport const TOKEN_DECIMALS = {\n USDC: 6,\n USDT: 6,\n ETH: 18,\n STRK: 18,\n DAI: 18,\n} as const;\n\nexport const API_ENDPOINTS = {\n CHIPI_WALLETS: '/chipi-wallets',\n TRANSACTIONS: '/transactions',\n SKUS: '/skus',\n SKU_TRANSACTIONS: '/sku-transactions',\n} as const;\n\nexport const DEFAULT_PAGINATION = {\n PAGE: 1,\n LIMIT: 10,\n MAX_LIMIT: 100,\n} as const;\n\nexport const ERRORS = {\n INVALID_API_KEY: 'INVALID_API_KEY',\n WALLET_NOT_FOUND: 'WALLET_NOT_FOUND',\n INSUFFICIENT_BALANCE: 'INSUFFICIENT_BALANCE',\n TRANSACTION_FAILED: 'TRANSACTION_FAILED',\n INVALID_SIGNATURE: 'INVALID_SIGNATURE',\n SKU_NOT_FOUND: 'SKU_NOT_FOUND',\n SKU_UNAVAILABLE: 'SKU_UNAVAILABLE',\n} as const;\n"]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// src/constants/index.ts
|
|
2
|
+
var STARKNET_NETWORKS = {
|
|
3
|
+
MAINNET: "https://starknet-mainnet.public.blastapi.io/rpc/v0_7",
|
|
4
|
+
SEPOLIA: "https://starknet-sepolia.public.blastapi.io/rpc/v0_7"
|
|
5
|
+
};
|
|
6
|
+
var CONTRACT_ADDRESSES = {
|
|
7
|
+
USDC_MAINNET: "0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8",
|
|
8
|
+
VESU_USDC_MAINNET: "0x017f19582c61479f2fe0b6606300e975c0a8f439102f43eeecc1d0e9b3d84350"
|
|
9
|
+
};
|
|
10
|
+
var TOKEN_DECIMALS = {
|
|
11
|
+
USDC: 6,
|
|
12
|
+
USDT: 6,
|
|
13
|
+
ETH: 18,
|
|
14
|
+
STRK: 18,
|
|
15
|
+
DAI: 18
|
|
16
|
+
};
|
|
17
|
+
var API_ENDPOINTS = {
|
|
18
|
+
CHIPI_WALLETS: "/chipi-wallets",
|
|
19
|
+
TRANSACTIONS: "/transactions",
|
|
20
|
+
SKUS: "/skus",
|
|
21
|
+
SKU_TRANSACTIONS: "/sku-transactions"
|
|
22
|
+
};
|
|
23
|
+
var DEFAULT_PAGINATION = {
|
|
24
|
+
PAGE: 1,
|
|
25
|
+
LIMIT: 10,
|
|
26
|
+
MAX_LIMIT: 100
|
|
27
|
+
};
|
|
28
|
+
var ERRORS = {
|
|
29
|
+
INVALID_API_KEY: "INVALID_API_KEY",
|
|
30
|
+
WALLET_NOT_FOUND: "WALLET_NOT_FOUND",
|
|
31
|
+
INSUFFICIENT_BALANCE: "INSUFFICIENT_BALANCE",
|
|
32
|
+
TRANSACTION_FAILED: "TRANSACTION_FAILED",
|
|
33
|
+
INVALID_SIGNATURE: "INVALID_SIGNATURE",
|
|
34
|
+
SKU_NOT_FOUND: "SKU_NOT_FOUND",
|
|
35
|
+
SKU_UNAVAILABLE: "SKU_UNAVAILABLE"
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export { API_ENDPOINTS, CONTRACT_ADDRESSES, DEFAULT_PAGINATION, ERRORS, STARKNET_NETWORKS, TOKEN_DECIMALS };
|
|
39
|
+
//# sourceMappingURL=index.mjs.map
|
|
40
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/constants/index.ts"],"names":[],"mappings":";AAIO,IAAM,iBAAA,GAAoB;AAAA,EAC/B,OAAA,EAAS,sDAAA;AAAA,EACT,OAAA,EAAS;AACX;AAEO,IAAM,kBAAA,GAAqB;AAAA,EAChC,YAAA,EAAc,oEAAA;AAAA,EACd,iBAAA,EAAmB;AACrB;AAEO,IAAM,cAAA,GAAiB;AAAA,EAC5B,IAAA,EAAM,CAAA;AAAA,EACN,IAAA,EAAM,CAAA;AAAA,EACN,GAAA,EAAK,EAAA;AAAA,EACL,IAAA,EAAM,EAAA;AAAA,EACN,GAAA,EAAK;AACP;AAEO,IAAM,aAAA,GAAgB;AAAA,EAC3B,aAAA,EAAe,gBAAA;AAAA,EACf,YAAA,EAAc,eAAA;AAAA,EACd,IAAA,EAAM,OAAA;AAAA,EACN,gBAAA,EAAkB;AACpB;AAEO,IAAM,kBAAA,GAAqB;AAAA,EAChC,IAAA,EAAM,CAAA;AAAA,EACN,KAAA,EAAO,EAAA;AAAA,EACP,SAAA,EAAW;AACb;AAEO,IAAM,MAAA,GAAS;AAAA,EACpB,eAAA,EAAiB,iBAAA;AAAA,EACjB,gBAAA,EAAkB,kBAAA;AAAA,EAClB,oBAAA,EAAsB,sBAAA;AAAA,EACtB,kBAAA,EAAoB,oBAAA;AAAA,EACpB,iBAAA,EAAmB,mBAAA;AAAA,EACnB,aAAA,EAAe,eAAA;AAAA,EACf,eAAA,EAAiB;AACnB","file":"index.mjs","sourcesContent":["/**\n * Constants used across Chipi SDK packages\n */\n\nexport const STARKNET_NETWORKS = {\n MAINNET: 'https://starknet-mainnet.public.blastapi.io/rpc/v0_7',\n SEPOLIA: 'https://starknet-sepolia.public.blastapi.io/rpc/v0_7',\n} as const;\n\nexport const CONTRACT_ADDRESSES = {\n USDC_MAINNET: '0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8',\n VESU_USDC_MAINNET: '0x017f19582c61479f2fe0b6606300e975c0a8f439102f43eeecc1d0e9b3d84350',\n} as const;\n\nexport const TOKEN_DECIMALS = {\n USDC: 6,\n USDT: 6,\n ETH: 18,\n STRK: 18,\n DAI: 18,\n} as const;\n\nexport const API_ENDPOINTS = {\n CHIPI_WALLETS: '/chipi-wallets',\n TRANSACTIONS: '/transactions',\n SKUS: '/skus',\n SKU_TRANSACTIONS: '/sku-transactions',\n} as const;\n\nexport const DEFAULT_PAGINATION = {\n PAGE: 1,\n LIMIT: 10,\n MAX_LIMIT: 100,\n} as const;\n\nexport const ERRORS = {\n INVALID_API_KEY: 'INVALID_API_KEY',\n WALLET_NOT_FOUND: 'WALLET_NOT_FOUND',\n INSUFFICIENT_BALANCE: 'INSUFFICIENT_BALANCE',\n TRANSACTION_FAILED: 'TRANSACTION_FAILED',\n INVALID_SIGNATURE: 'INVALID_SIGNATURE',\n SKU_NOT_FOUND: 'SKU_NOT_FOUND',\n SKU_UNAVAILABLE: 'SKU_UNAVAILABLE',\n} as const;\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Crypto utilities for Chipi SDK
|
|
3
|
+
*/
|
|
4
|
+
declare function encryptData(data: string, key: string): string;
|
|
5
|
+
declare function decryptData(encryptedData: string, key: string): string;
|
|
6
|
+
declare function generateSalt(): string;
|
|
7
|
+
declare function hashData(data: string): string;
|
|
8
|
+
declare function generateRandomKey(): string;
|
|
9
|
+
declare function validateSignature(data: string, signature: string, publicKey: string): boolean;
|
|
10
|
+
|
|
11
|
+
export { decryptData, encryptData, generateRandomKey, generateSalt, hashData, validateSignature };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Crypto utilities for Chipi SDK
|
|
3
|
+
*/
|
|
4
|
+
declare function encryptData(data: string, key: string): string;
|
|
5
|
+
declare function decryptData(encryptedData: string, key: string): string;
|
|
6
|
+
declare function generateSalt(): string;
|
|
7
|
+
declare function hashData(data: string): string;
|
|
8
|
+
declare function generateRandomKey(): string;
|
|
9
|
+
declare function validateSignature(data: string, signature: string, publicKey: string): boolean;
|
|
10
|
+
|
|
11
|
+
export { decryptData, encryptData, generateRandomKey, generateSalt, hashData, validateSignature };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var CryptoJS = require('crypto-js');
|
|
4
|
+
|
|
5
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
|
+
|
|
7
|
+
var CryptoJS__default = /*#__PURE__*/_interopDefault(CryptoJS);
|
|
8
|
+
|
|
9
|
+
// src/crypto/index.ts
|
|
10
|
+
function encryptData(data, key) {
|
|
11
|
+
return CryptoJS__default.default.AES.encrypt(data, key).toString();
|
|
12
|
+
}
|
|
13
|
+
function decryptData(encryptedData, key) {
|
|
14
|
+
const bytes = CryptoJS__default.default.AES.decrypt(encryptedData, key);
|
|
15
|
+
return bytes.toString(CryptoJS__default.default.enc.Utf8);
|
|
16
|
+
}
|
|
17
|
+
function generateSalt() {
|
|
18
|
+
return CryptoJS__default.default.lib.WordArray.random(32).toString();
|
|
19
|
+
}
|
|
20
|
+
function hashData(data) {
|
|
21
|
+
return CryptoJS__default.default.SHA256(data).toString();
|
|
22
|
+
}
|
|
23
|
+
function generateRandomKey() {
|
|
24
|
+
return CryptoJS__default.default.lib.WordArray.random(32).toString();
|
|
25
|
+
}
|
|
26
|
+
function validateSignature(data, signature, publicKey) {
|
|
27
|
+
try {
|
|
28
|
+
return signature.length > 0 && publicKey.length > 0;
|
|
29
|
+
} catch (error) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
exports.decryptData = decryptData;
|
|
35
|
+
exports.encryptData = encryptData;
|
|
36
|
+
exports.generateRandomKey = generateRandomKey;
|
|
37
|
+
exports.generateSalt = generateSalt;
|
|
38
|
+
exports.hashData = hashData;
|
|
39
|
+
exports.validateSignature = validateSignature;
|
|
40
|
+
//# sourceMappingURL=index.js.map
|
|
41
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/crypto/index.ts"],"names":["CryptoJS"],"mappings":";;;;;;;;;AAMO,SAAS,WAAA,CAAY,MAAc,GAAA,EAAqB;AAC7D,EAAA,OAAOA,0BAAS,GAAA,CAAI,OAAA,CAAQ,IAAA,EAAM,GAAG,EAAE,QAAA,EAAS;AAClD;AAEO,SAAS,WAAA,CAAY,eAAuB,GAAA,EAAqB;AACtE,EAAA,MAAM,KAAA,GAAQA,yBAAA,CAAS,GAAA,CAAI,OAAA,CAAQ,eAAe,GAAG,CAAA;AACrD,EAAA,OAAO,KAAA,CAAM,QAAA,CAASA,yBAAA,CAAS,GAAA,CAAI,IAAI,CAAA;AACzC;AAEO,SAAS,YAAA,GAAuB;AACrC,EAAA,OAAOA,0BAAS,GAAA,CAAI,SAAA,CAAU,MAAA,CAAO,EAAE,EAAE,QAAA,EAAS;AACpD;AAEO,SAAS,SAAS,IAAA,EAAsB;AAC7C,EAAA,OAAOA,yBAAA,CAAS,MAAA,CAAO,IAAI,CAAA,CAAE,QAAA,EAAS;AACxC;AAEO,SAAS,iBAAA,GAA4B;AAC1C,EAAA,OAAOA,0BAAS,GAAA,CAAI,SAAA,CAAU,MAAA,CAAO,EAAE,EAAE,QAAA,EAAS;AACpD;AAEO,SAAS,iBAAA,CAAkB,IAAA,EAAc,SAAA,EAAmB,SAAA,EAA4B;AAG7F,EAAA,IAAI;AAEF,IAAA,OAAO,SAAA,CAAU,MAAA,GAAS,CAAA,IAAK,SAAA,CAAU,MAAA,GAAS,CAAA;AAAA,EACpD,SAAS,KAAA,EAAO;AACd,IAAA,OAAO,KAAA;AAAA,EACT;AACF","file":"index.js","sourcesContent":["import CryptoJS from 'crypto-js';\n\n/**\n * Crypto utilities for Chipi SDK\n */\n\nexport function encryptData(data: string, key: string): string {\n return CryptoJS.AES.encrypt(data, key).toString();\n}\n\nexport function decryptData(encryptedData: string, key: string): string {\n const bytes = CryptoJS.AES.decrypt(encryptedData, key);\n return bytes.toString(CryptoJS.enc.Utf8);\n}\n\nexport function generateSalt(): string {\n return CryptoJS.lib.WordArray.random(32).toString();\n}\n\nexport function hashData(data: string): string {\n return CryptoJS.SHA256(data).toString();\n}\n\nexport function generateRandomKey(): string {\n return CryptoJS.lib.WordArray.random(32).toString();\n}\n\nexport function validateSignature(data: string, signature: string, publicKey: string): boolean {\n // Implementation depends on the signature scheme used\n // This is a placeholder for signature validation logic\n try {\n // Add actual signature validation logic here\n return signature.length > 0 && publicKey.length > 0;\n } catch (error) {\n return false;\n }\n}\n"]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import CryptoJS from 'crypto-js';
|
|
2
|
+
|
|
3
|
+
// src/crypto/index.ts
|
|
4
|
+
function encryptData(data, key) {
|
|
5
|
+
return CryptoJS.AES.encrypt(data, key).toString();
|
|
6
|
+
}
|
|
7
|
+
function decryptData(encryptedData, key) {
|
|
8
|
+
const bytes = CryptoJS.AES.decrypt(encryptedData, key);
|
|
9
|
+
return bytes.toString(CryptoJS.enc.Utf8);
|
|
10
|
+
}
|
|
11
|
+
function generateSalt() {
|
|
12
|
+
return CryptoJS.lib.WordArray.random(32).toString();
|
|
13
|
+
}
|
|
14
|
+
function hashData(data) {
|
|
15
|
+
return CryptoJS.SHA256(data).toString();
|
|
16
|
+
}
|
|
17
|
+
function generateRandomKey() {
|
|
18
|
+
return CryptoJS.lib.WordArray.random(32).toString();
|
|
19
|
+
}
|
|
20
|
+
function validateSignature(data, signature, publicKey) {
|
|
21
|
+
try {
|
|
22
|
+
return signature.length > 0 && publicKey.length > 0;
|
|
23
|
+
} catch (error) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { decryptData, encryptData, generateRandomKey, generateSalt, hashData, validateSignature };
|
|
29
|
+
//# sourceMappingURL=index.mjs.map
|
|
30
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/crypto/index.ts"],"names":[],"mappings":";;;AAMO,SAAS,WAAA,CAAY,MAAc,GAAA,EAAqB;AAC7D,EAAA,OAAO,SAAS,GAAA,CAAI,OAAA,CAAQ,IAAA,EAAM,GAAG,EAAE,QAAA,EAAS;AAClD;AAEO,SAAS,WAAA,CAAY,eAAuB,GAAA,EAAqB;AACtE,EAAA,MAAM,KAAA,GAAQ,QAAA,CAAS,GAAA,CAAI,OAAA,CAAQ,eAAe,GAAG,CAAA;AACrD,EAAA,OAAO,KAAA,CAAM,QAAA,CAAS,QAAA,CAAS,GAAA,CAAI,IAAI,CAAA;AACzC;AAEO,SAAS,YAAA,GAAuB;AACrC,EAAA,OAAO,SAAS,GAAA,CAAI,SAAA,CAAU,MAAA,CAAO,EAAE,EAAE,QAAA,EAAS;AACpD;AAEO,SAAS,SAAS,IAAA,EAAsB;AAC7C,EAAA,OAAO,QAAA,CAAS,MAAA,CAAO,IAAI,CAAA,CAAE,QAAA,EAAS;AACxC;AAEO,SAAS,iBAAA,GAA4B;AAC1C,EAAA,OAAO,SAAS,GAAA,CAAI,SAAA,CAAU,MAAA,CAAO,EAAE,EAAE,QAAA,EAAS;AACpD;AAEO,SAAS,iBAAA,CAAkB,IAAA,EAAc,SAAA,EAAmB,SAAA,EAA4B;AAG7F,EAAA,IAAI;AAEF,IAAA,OAAO,SAAA,CAAU,MAAA,GAAS,CAAA,IAAK,SAAA,CAAU,MAAA,GAAS,CAAA;AAAA,EACpD,SAAS,KAAA,EAAO;AACd,IAAA,OAAO,KAAA;AAAA,EACT;AACF","file":"index.mjs","sourcesContent":["import CryptoJS from 'crypto-js';\n\n/**\n * Crypto utilities for Chipi SDK\n */\n\nexport function encryptData(data: string, key: string): string {\n return CryptoJS.AES.encrypt(data, key).toString();\n}\n\nexport function decryptData(encryptedData: string, key: string): string {\n const bytes = CryptoJS.AES.decrypt(encryptedData, key);\n return bytes.toString(CryptoJS.enc.Utf8);\n}\n\nexport function generateSalt(): string {\n return CryptoJS.lib.WordArray.random(32).toString();\n}\n\nexport function hashData(data: string): string {\n return CryptoJS.SHA256(data).toString();\n}\n\nexport function generateRandomKey(): string {\n return CryptoJS.lib.WordArray.random(32).toString();\n}\n\nexport function validateSignature(data: string, signature: string, publicKey: string): boolean {\n // Implementation depends on the signature scheme used\n // This is a placeholder for signature validation logic\n try {\n // Add actual signature validation logic here\n return signature.length > 0 && publicKey.length > 0;\n } catch (error) {\n return false;\n }\n}\n"]}
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
export { createPaginatedResponse, deepMerge, formatAmount, isValidAddress, isValidApiKey, parseAmount, retry, sanitizeUrl, sleep, validatePagination } from './utils/index.mjs';
|
|
2
|
+
export { decryptData, encryptData, generateRandomKey, generateSalt, hashData, validateSignature } from './crypto/index.mjs';
|
|
3
|
+
export { API_ENDPOINTS, CONTRACT_ADDRESSES, DEFAULT_PAGINATION, ERRORS, STARKNET_NETWORKS, TOKEN_DECIMALS } from './constants/index.mjs';
|
|
4
|
+
import { ErrorWithCode } from '@chipi-stack/types';
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Error classes and utilities for Chipi SDK
|
|
9
|
+
*/
|
|
10
|
+
declare class ChipiError extends Error implements ErrorWithCode {
|
|
11
|
+
readonly code: string;
|
|
12
|
+
readonly status?: number;
|
|
13
|
+
constructor(message: string, code: string, status?: number);
|
|
14
|
+
}
|
|
15
|
+
declare class ChipiApiError extends ChipiError {
|
|
16
|
+
constructor(message: string, code: string, status: number);
|
|
17
|
+
}
|
|
18
|
+
declare class ChipiWalletError extends ChipiError {
|
|
19
|
+
constructor(message: string, code?: string);
|
|
20
|
+
}
|
|
21
|
+
declare class ChipiTransactionError extends ChipiError {
|
|
22
|
+
constructor(message: string, code?: string);
|
|
23
|
+
}
|
|
24
|
+
declare class ChipiSkuError extends ChipiError {
|
|
25
|
+
constructor(message: string, code?: string);
|
|
26
|
+
}
|
|
27
|
+
declare class ChipiValidationError extends ChipiError {
|
|
28
|
+
constructor(message: string, code?: string);
|
|
29
|
+
}
|
|
30
|
+
declare class ChipiAuthError extends ChipiError {
|
|
31
|
+
constructor(message: string, code?: string);
|
|
32
|
+
}
|
|
33
|
+
declare function isChipiError(error: any): error is ChipiError;
|
|
34
|
+
declare function handleApiError(error: any): ChipiError;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Data formatters and transformers for Chipi SDK
|
|
38
|
+
*/
|
|
39
|
+
declare function formatCurrency(amount: number, currency?: string, locale?: string): string;
|
|
40
|
+
declare function formatNumber(value: number, options?: {
|
|
41
|
+
decimals?: number;
|
|
42
|
+
locale?: string;
|
|
43
|
+
compact?: boolean;
|
|
44
|
+
}): string;
|
|
45
|
+
declare function formatDate(date: Date | string, options?: {
|
|
46
|
+
locale?: string;
|
|
47
|
+
dateStyle?: 'full' | 'long' | 'medium' | 'short';
|
|
48
|
+
timeStyle?: 'full' | 'long' | 'medium' | 'short';
|
|
49
|
+
}): string;
|
|
50
|
+
declare function formatAddress(address: string, length?: number): string;
|
|
51
|
+
declare function formatTransactionHash(hash: string): string;
|
|
52
|
+
declare function formatTokenAmount(amount: string | number, decimals?: number, displayDecimals?: number): string;
|
|
53
|
+
declare function camelToSnake(str: string): string;
|
|
54
|
+
declare function snakeToCamel(str: string): string;
|
|
55
|
+
declare function capitalizeFirst(str: string): string;
|
|
56
|
+
|
|
57
|
+
declare const ApiResponseSchema: z.ZodObject<{
|
|
58
|
+
success: z.ZodBoolean;
|
|
59
|
+
data: z.ZodUnknown;
|
|
60
|
+
message: z.ZodOptional<z.ZodString>;
|
|
61
|
+
code: z.ZodOptional<z.ZodString>;
|
|
62
|
+
}, z.core.$strip>;
|
|
63
|
+
declare const ErrorResponseSchema: z.ZodObject<{
|
|
64
|
+
message: z.ZodString;
|
|
65
|
+
code: z.ZodOptional<z.ZodString>;
|
|
66
|
+
status: z.ZodOptional<z.ZodNumber>;
|
|
67
|
+
}, z.core.$strip>;
|
|
68
|
+
declare const SuccessResponseSchema: <T extends z.ZodTypeAny>(dataSchema: T) => z.ZodObject<{
|
|
69
|
+
success: z.ZodLiteral<true>;
|
|
70
|
+
data: T;
|
|
71
|
+
}, z.core.$strip>;
|
|
72
|
+
type ApiResponse<T> = z.infer<ReturnType<typeof SuccessResponseSchema<z.ZodType<T>>>>;
|
|
73
|
+
type ErrorResponse = z.infer<typeof ErrorResponseSchema>;
|
|
74
|
+
declare function validateApiResponse<T>(response: unknown, dataSchema?: z.ZodType<T>): T;
|
|
75
|
+
declare function validateErrorResponse(response: unknown): ErrorResponse;
|
|
76
|
+
|
|
77
|
+
export { type ApiResponse, ApiResponseSchema, ChipiApiError, ChipiAuthError, ChipiError, ChipiSkuError, ChipiTransactionError, ChipiValidationError, ChipiWalletError, type ErrorResponse, ErrorResponseSchema, SuccessResponseSchema, camelToSnake, capitalizeFirst, formatAddress, formatCurrency, formatDate, formatNumber, formatTokenAmount, formatTransactionHash, handleApiError, isChipiError, snakeToCamel, validateApiResponse, validateErrorResponse };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
export { createPaginatedResponse, deepMerge, formatAmount, isValidAddress, isValidApiKey, parseAmount, retry, sanitizeUrl, sleep, validatePagination } from './utils/index.js';
|
|
2
|
+
export { decryptData, encryptData, generateRandomKey, generateSalt, hashData, validateSignature } from './crypto/index.js';
|
|
3
|
+
export { API_ENDPOINTS, CONTRACT_ADDRESSES, DEFAULT_PAGINATION, ERRORS, STARKNET_NETWORKS, TOKEN_DECIMALS } from './constants/index.js';
|
|
4
|
+
import { ErrorWithCode } from '@chipi-stack/types';
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Error classes and utilities for Chipi SDK
|
|
9
|
+
*/
|
|
10
|
+
declare class ChipiError extends Error implements ErrorWithCode {
|
|
11
|
+
readonly code: string;
|
|
12
|
+
readonly status?: number;
|
|
13
|
+
constructor(message: string, code: string, status?: number);
|
|
14
|
+
}
|
|
15
|
+
declare class ChipiApiError extends ChipiError {
|
|
16
|
+
constructor(message: string, code: string, status: number);
|
|
17
|
+
}
|
|
18
|
+
declare class ChipiWalletError extends ChipiError {
|
|
19
|
+
constructor(message: string, code?: string);
|
|
20
|
+
}
|
|
21
|
+
declare class ChipiTransactionError extends ChipiError {
|
|
22
|
+
constructor(message: string, code?: string);
|
|
23
|
+
}
|
|
24
|
+
declare class ChipiSkuError extends ChipiError {
|
|
25
|
+
constructor(message: string, code?: string);
|
|
26
|
+
}
|
|
27
|
+
declare class ChipiValidationError extends ChipiError {
|
|
28
|
+
constructor(message: string, code?: string);
|
|
29
|
+
}
|
|
30
|
+
declare class ChipiAuthError extends ChipiError {
|
|
31
|
+
constructor(message: string, code?: string);
|
|
32
|
+
}
|
|
33
|
+
declare function isChipiError(error: any): error is ChipiError;
|
|
34
|
+
declare function handleApiError(error: any): ChipiError;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Data formatters and transformers for Chipi SDK
|
|
38
|
+
*/
|
|
39
|
+
declare function formatCurrency(amount: number, currency?: string, locale?: string): string;
|
|
40
|
+
declare function formatNumber(value: number, options?: {
|
|
41
|
+
decimals?: number;
|
|
42
|
+
locale?: string;
|
|
43
|
+
compact?: boolean;
|
|
44
|
+
}): string;
|
|
45
|
+
declare function formatDate(date: Date | string, options?: {
|
|
46
|
+
locale?: string;
|
|
47
|
+
dateStyle?: 'full' | 'long' | 'medium' | 'short';
|
|
48
|
+
timeStyle?: 'full' | 'long' | 'medium' | 'short';
|
|
49
|
+
}): string;
|
|
50
|
+
declare function formatAddress(address: string, length?: number): string;
|
|
51
|
+
declare function formatTransactionHash(hash: string): string;
|
|
52
|
+
declare function formatTokenAmount(amount: string | number, decimals?: number, displayDecimals?: number): string;
|
|
53
|
+
declare function camelToSnake(str: string): string;
|
|
54
|
+
declare function snakeToCamel(str: string): string;
|
|
55
|
+
declare function capitalizeFirst(str: string): string;
|
|
56
|
+
|
|
57
|
+
declare const ApiResponseSchema: z.ZodObject<{
|
|
58
|
+
success: z.ZodBoolean;
|
|
59
|
+
data: z.ZodUnknown;
|
|
60
|
+
message: z.ZodOptional<z.ZodString>;
|
|
61
|
+
code: z.ZodOptional<z.ZodString>;
|
|
62
|
+
}, z.core.$strip>;
|
|
63
|
+
declare const ErrorResponseSchema: z.ZodObject<{
|
|
64
|
+
message: z.ZodString;
|
|
65
|
+
code: z.ZodOptional<z.ZodString>;
|
|
66
|
+
status: z.ZodOptional<z.ZodNumber>;
|
|
67
|
+
}, z.core.$strip>;
|
|
68
|
+
declare const SuccessResponseSchema: <T extends z.ZodTypeAny>(dataSchema: T) => z.ZodObject<{
|
|
69
|
+
success: z.ZodLiteral<true>;
|
|
70
|
+
data: T;
|
|
71
|
+
}, z.core.$strip>;
|
|
72
|
+
type ApiResponse<T> = z.infer<ReturnType<typeof SuccessResponseSchema<z.ZodType<T>>>>;
|
|
73
|
+
type ErrorResponse = z.infer<typeof ErrorResponseSchema>;
|
|
74
|
+
declare function validateApiResponse<T>(response: unknown, dataSchema?: z.ZodType<T>): T;
|
|
75
|
+
declare function validateErrorResponse(response: unknown): ErrorResponse;
|
|
76
|
+
|
|
77
|
+
export { type ApiResponse, ApiResponseSchema, ChipiApiError, ChipiAuthError, ChipiError, ChipiSkuError, ChipiTransactionError, ChipiValidationError, ChipiWalletError, type ErrorResponse, ErrorResponseSchema, SuccessResponseSchema, camelToSnake, capitalizeFirst, formatAddress, formatCurrency, formatDate, formatNumber, formatTokenAmount, formatTransactionHash, handleApiError, isChipiError, snakeToCamel, validateApiResponse, validateErrorResponse };
|