@dzapio/sdk 1.0.1

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.
Files changed (79) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/LICENSE +21 -0
  3. package/README.md +355 -0
  4. package/dist/api/index.d.ts +19 -0
  5. package/dist/artifacts/ERC20Permit.d.ts +336 -0
  6. package/dist/artifacts/Permit2.d.ts +700 -0
  7. package/dist/artifacts/default/DZapCoreAbi.d.ts +2 -0
  8. package/dist/artifacts/default/DZapDcaAbi.d.ts +2 -0
  9. package/dist/artifacts/default/Permit2Abi.d.ts +70 -0
  10. package/dist/artifacts/default/erc20Abi.d.ts +165 -0
  11. package/dist/artifacts/default/index.d.ts +5 -0
  12. package/dist/artifacts/index.d.ts +2 -0
  13. package/dist/artifacts/staging/DZapCoreSwapAbi.d.ts +2 -0
  14. package/dist/artifacts/staging/index.d.ts +2 -0
  15. package/dist/axios/baseClient.d.ts +2 -0
  16. package/dist/axios/index.d.ts +8 -0
  17. package/dist/config.d.ts +16 -0
  18. package/dist/constants/address.d.ts +13 -0
  19. package/dist/constants/approval.d.ts +5 -0
  20. package/dist/constants/axios.d.ts +2 -0
  21. package/dist/constants/chains.d.ts +16 -0
  22. package/dist/constants/contract.d.ts +6 -0
  23. package/dist/constants/erc20.d.ts +22 -0
  24. package/dist/constants/httpMethods.d.ts +2 -0
  25. package/dist/constants/index.d.ts +43 -0
  26. package/dist/constants/permit.d.ts +5 -0
  27. package/dist/constants/permit2.d.ts +2 -0
  28. package/dist/constants/rpc.d.ts +2 -0
  29. package/dist/constants/urlConstants.d.ts +13 -0
  30. package/dist/dZapClient/index.d.ts +383 -0
  31. package/dist/enums/index.d.ts +36 -0
  32. package/dist/index.d.ts +15 -0
  33. package/dist/index.js +2 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/index.m.js +2 -0
  36. package/dist/index.m.js.map +1 -0
  37. package/dist/index.umd.js +2 -0
  38. package/dist/index.umd.js.map +1 -0
  39. package/dist/service/cache/cacheProvider.d.ts +10 -0
  40. package/dist/service/cache/constant.d.ts +2 -0
  41. package/dist/service/price/index.d.ts +16 -0
  42. package/dist/service/price/provider/coingecko/config.d.ts +6 -0
  43. package/dist/service/price/provider/coingecko/index.d.ts +9 -0
  44. package/dist/service/price/provider/defiLlama/config.d.ts +3 -0
  45. package/dist/service/price/provider/defiLlama/index.d.ts +9 -0
  46. package/dist/service/price/provider/defiLlama/types.d.ts +11 -0
  47. package/dist/service/price/provider/dzap/index.d.ts +6 -0
  48. package/dist/service/price/types/IPriceProvider.d.ts +14 -0
  49. package/dist/transactionHandlers/generic.d.ts +24 -0
  50. package/dist/transactionHandlers/permit.d.ts +58 -0
  51. package/dist/transactionHandlers/trade.d.ts +11 -0
  52. package/dist/transactionHandlers/zap.d.ts +37 -0
  53. package/dist/types/axiosClient.d.ts +6 -0
  54. package/dist/types/btc.d.ts +45 -0
  55. package/dist/types/chains.d.ts +2 -0
  56. package/dist/types/contract.d.ts +14 -0
  57. package/dist/types/eip-2612.d.ts +6 -0
  58. package/dist/types/index.d.ts +317 -0
  59. package/dist/types/zap/index.d.ts +65 -0
  60. package/dist/types/zap/path.d.ts +36 -0
  61. package/dist/types/zap/step.d.ts +15 -0
  62. package/dist/utils/amount.d.ts +82 -0
  63. package/dist/utils/axios.d.ts +13 -0
  64. package/dist/utils/chains.d.ts +2 -0
  65. package/dist/utils/date.d.ts +1 -0
  66. package/dist/utils/erc20.d.ts +61 -0
  67. package/dist/utils/errors.d.ts +16 -0
  68. package/dist/utils/index.d.ts +3940 -0
  69. package/dist/utils/multicall.d.ts +12 -0
  70. package/dist/utils/permit/permit2Methods.d.ts +32 -0
  71. package/dist/utils/permit/permitMethods.d.ts +29 -0
  72. package/dist/utils/signTypedData.d.ts +11 -0
  73. package/dist/utils/tokens.d.ts +7 -0
  74. package/dist/utils/updateQuotes.d.ts +3 -0
  75. package/dist/zap/constants/index.d.ts +2 -0
  76. package/dist/zap/constants/path.d.ts +8 -0
  77. package/dist/zap/constants/step.d.ts +3 -0
  78. package/dist/zap/constants/urls.d.ts +3 -0
  79. package/package.json +115 -0
@@ -0,0 +1,12 @@
1
+ import { StatusCodes, TxnStatus } from 'src/enums';
2
+ import { MulticallParameters } from 'viem';
3
+ export declare const multicall: ({ chainId, contracts, rpcUrls, allowFailure, }: {
4
+ chainId: number;
5
+ contracts: MulticallParameters["contracts"];
6
+ rpcUrls?: string[];
7
+ allowFailure?: boolean;
8
+ }) => Promise<{
9
+ status: TxnStatus;
10
+ code: StatusCodes;
11
+ data: unknown[];
12
+ }>;
@@ -0,0 +1,32 @@
1
+ import { Wallet } from 'ethers';
2
+ import { StatusCodes, TxnStatus } from 'src/enums';
3
+ import { AvailableDZapServices, HexString } from 'src/types';
4
+ import { WalletClient } from 'viem';
5
+ export declare function getPermit2Address(chainId: number): HexString;
6
+ export declare function getPermit2Signature({ chainId, spender, service, account, token, signer, rpcUrls, amount, sigDeadline, expiration, }: {
7
+ chainId: number;
8
+ account: HexString;
9
+ token: HexString;
10
+ service: AvailableDZapServices;
11
+ spender: HexString;
12
+ rpcUrls?: string[];
13
+ sigDeadline?: bigint;
14
+ amount?: bigint;
15
+ signer: WalletClient | Wallet;
16
+ expiration?: bigint;
17
+ }): Promise<{
18
+ status: TxnStatus;
19
+ permitData: `0x${string}`;
20
+ code: StatusCodes;
21
+ permitdata?: undefined;
22
+ } | {
23
+ status: TxnStatus;
24
+ code: StatusCodes;
25
+ permitdata: null;
26
+ permitData?: undefined;
27
+ } | {
28
+ status: TxnStatus;
29
+ code: any;
30
+ permitData: null;
31
+ permitdata?: undefined;
32
+ }>;
@@ -0,0 +1,29 @@
1
+ import { Wallet } from 'ethers';
2
+ import { StatusCodes, TxnStatus } from 'src/enums';
3
+ import { HexString } from 'src/types';
4
+ import { WalletClient } from 'viem';
5
+ export declare const checkEIP2612PermitSupport: ({ address, chainId, rpcUrls, permitEIP2612DisabledTokens, }: {
6
+ address: HexString;
7
+ chainId: number;
8
+ rpcUrls?: string[];
9
+ permitEIP2612DisabledTokens?: string[];
10
+ }) => Promise<{
11
+ supportsPermit: boolean;
12
+ domainSeparator?: HexString;
13
+ version?: string;
14
+ }>;
15
+ export declare const getEIP2612PermitSignature: ({ chainId, spender, account, token, signer, version, rpcUrls, amount, sigDeadline, }: {
16
+ chainId: number;
17
+ account: HexString;
18
+ token: HexString;
19
+ spender: HexString;
20
+ version: string;
21
+ rpcUrls?: string[];
22
+ sigDeadline?: bigint;
23
+ amount?: bigint;
24
+ signer: WalletClient | Wallet;
25
+ }) => Promise<{
26
+ status: TxnStatus;
27
+ code: StatusCodes;
28
+ permitData?: HexString;
29
+ }>;
@@ -0,0 +1,11 @@
1
+ import { TypedDataField, Wallet } from 'ethers';
2
+ import { TypedDataDomain, WalletClient } from 'viem';
3
+ import { HexString } from 'src/types';
4
+ export declare const signTypedData: ({ signer, domain, message, types, account, primaryType, }: {
5
+ signer: WalletClient | Wallet;
6
+ domain: TypedDataDomain;
7
+ types: Record<string, Array<TypedDataField>>;
8
+ message: Record<string, any>;
9
+ account: string;
10
+ primaryType: string;
11
+ }) => Promise<HexString>;
@@ -0,0 +1,7 @@
1
+ import { PriceService } from 'src/service/price';
2
+ import { ChainData, TokenInfo, TokenResponse } from 'src/types';
3
+ export declare const isNativeCurrency: (address: string, chainConfig: ChainData) => boolean;
4
+ export declare const sortByBalanceInUsd: (tokenEntries: [string, TokenInfo][]) => TokenResponse;
5
+ export declare const updateTokenListPrices: (tokens: TokenResponse, chainId: number, chainConfig: ChainData, priceService: PriceService) => Promise<TokenResponse>;
6
+ export declare function isNonEVMChain(chainId: number, chainConfig: ChainData): boolean;
7
+ export declare const formatToken: (token: string, chainId: number, chainConfig: ChainData, nativeToken?: "0x0000000000000000000000000000000000000000") => string;
@@ -0,0 +1,3 @@
1
+ import { TradeQuotesRequest, TradeQuotesResponse, ChainData } from 'src/types';
2
+ import { PriceService } from 'src/service/price';
3
+ export declare const updateQuotes: (quotes: TradeQuotesResponse, request: TradeQuotesRequest, priceService: PriceService, chainConfig: ChainData) => Promise<TradeQuotesResponse>;
@@ -0,0 +1,2 @@
1
+ export * from './path';
2
+ export * from './step';
@@ -0,0 +1,8 @@
1
+ export declare const zapPathAction: {
2
+ readonly swap: "swap";
3
+ readonly bridge: "bridge";
4
+ readonly deposit: "deposit";
5
+ readonly withdraw: "withdraw";
6
+ readonly stake: "stake";
7
+ readonly unstake: "unstake";
8
+ };
@@ -0,0 +1,3 @@
1
+ export declare const zapStepAction: {
2
+ readonly execute: "execute";
3
+ };
@@ -0,0 +1,3 @@
1
+ export declare const ZAP_BUILD_TX_URL = "buildTx";
2
+ export declare const ZAP_QUOTE_URL = "quote";
3
+ export declare const ZAP_TXN_STATUS_URL = "status";
package/package.json ADDED
@@ -0,0 +1,115 @@
1
+ {
2
+ "name": "@dzapio/sdk",
3
+ "version": "1.0.1",
4
+ "description": "A TypeScript/JavaScript SDK for interacting with the DZap protocol, providing utilities for DeFi operations including Swaps, Bridges, and Zaps.",
5
+ "main": "dist/index.js",
6
+ "source": "src/index.ts",
7
+ "module": "dist/index.m.js",
8
+ "unpkg": "dist/index.umd.js",
9
+ "types": "dist/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "import": "./dist/index.m.js",
13
+ "require": "./dist/index.js",
14
+ "types": "./dist/index.d.ts"
15
+ }
16
+ },
17
+ "engines": {
18
+ "node": ">=16.0.0"
19
+ },
20
+ "publishConfig": {
21
+ "access": "public"
22
+ },
23
+ "scripts": {
24
+ "start": "node .",
25
+ "dev:debug": "ts-node-dev --respawn --pretty --transpile-only ./src/index.ts",
26
+ "yalcPublish": "npm run build && yalc publish",
27
+ "pack": "yarn build && npm pack",
28
+ "githubPublish": "npm run build && npm publish",
29
+ "npmPublish": "npm run build && npm publish --access public",
30
+ "build": "rm -rf dist && microbundle --tsconfig tsconfig.build.json",
31
+ "dev": "nodemon",
32
+ "test": "jest",
33
+ "lint": "eslint --cache src/**/*.ts",
34
+ "lint:fix": "eslint --cache --fix src/**/*.ts",
35
+ "pretty": "prettier --write --ignore-unknown src/**/*.ts",
36
+ "prepush": "tsc --build",
37
+ "prepare": "husky install && yarn run fix-permissions",
38
+ "fix-permissions": "node ./scripts/fixPermissions.js"
39
+ },
40
+ "husky": {
41
+ "hooks": {
42
+ "pre-commit": "npx lint-staged",
43
+ "pre-push": "yarn prepush"
44
+ }
45
+ },
46
+ "lint-staged": {
47
+ "src/**/*.{js,ts}": "eslint --cache --fix",
48
+ "src/**/*.{js,ts,md}": "prettier --write --ignore-unknown"
49
+ },
50
+ "keywords": [
51
+ "DZap",
52
+ "defi",
53
+ "dex",
54
+ "swap",
55
+ "bridge",
56
+ "zap",
57
+ "dca",
58
+ "ethereum",
59
+ "blockchain",
60
+ "web3",
61
+ "typescript",
62
+ "sdk"
63
+ ],
64
+ "author": "DZap",
65
+ "license": "MIT",
66
+ "files": [
67
+ "dist",
68
+ "README.md",
69
+ "CHANGELOG.md",
70
+ "LICENSE"
71
+ ],
72
+ "devDependencies": {
73
+ "@types/jest": "^30.0.0",
74
+ "@types/node": "^24.0.7",
75
+ "@typescript-eslint/eslint-plugin": "^6.13.1",
76
+ "@typescript-eslint/parser": "^6.13.1",
77
+ "eslint": "^8.54.0",
78
+ "eslint-config-airbnb-base": "^15.0.0",
79
+ "eslint-config-airbnb-typescript": "^17.1.0",
80
+ "eslint-config-prettier": "^9.1.0",
81
+ "eslint-plugin-import": "^2.29.1",
82
+ "eslint-plugin-prettier": "^5.1.3",
83
+ "husky": "^9.0.10",
84
+ "jest": "^29.7.0",
85
+ "lint-staged": "^15.2.2",
86
+ "microbundle": "^0.15.1",
87
+ "nodemon": "^2.0.16",
88
+ "prettier": "^3.1.0",
89
+ "ts-jest": "^29.4.0",
90
+ "typescript": "^5.5.4"
91
+ },
92
+ "dependencies": {
93
+ "axios": "^1.2.1",
94
+ "decimal.js": "^10.4.3",
95
+ "node-cache": "^5.1.2",
96
+ "ethers": "5.7.2",
97
+ "viem": "^2.17.0"
98
+ },
99
+ "repository": {
100
+ "type": "git",
101
+ "url": "git+https://github.com/dzapio/sdk.git"
102
+ },
103
+ "bugs": {
104
+ "url": "https://github.com/dzapio/sdk/issues"
105
+ },
106
+ "homepage": "https://github.com/dzapio/sdk#readme",
107
+ "microbundle": {
108
+ "entry": "src/index.ts",
109
+ "output": "dist",
110
+ "format": "esm,cjs,umd",
111
+ "target": "node",
112
+ "sourcemap": false,
113
+ "generateTypes": true
114
+ }
115
+ }