@kasarlabs/erc20-mcp 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.
Files changed (52) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +36 -0
  3. package/bin/erc20-mcp.js +14 -0
  4. package/build/index.d.ts +2 -0
  5. package/build/index.js +128 -0
  6. package/build/index.js.map +1 -0
  7. package/build/lib/abis/new.d.ts +184 -0
  8. package/build/lib/abis/new.js +576 -0
  9. package/build/lib/abis/new.js.map +1 -0
  10. package/build/lib/abis/old.d.ts +122 -0
  11. package/build/lib/abis/old.js +1030 -0
  12. package/build/lib/abis/old.js.map +1 -0
  13. package/build/lib/constants/constant.d.ts +5 -0
  14. package/build/lib/constants/constant.js +36 -0
  15. package/build/lib/constants/constant.js.map +1 -0
  16. package/build/lib/dependances/types.d.ts +85 -0
  17. package/build/lib/dependances/types.js +51 -0
  18. package/build/lib/dependances/types.js.map +1 -0
  19. package/build/lib/types/types.d.ts +32 -0
  20. package/build/lib/types/types.js +6 -0
  21. package/build/lib/types/types.js.map +1 -0
  22. package/build/lib/utils/contractManager.d.ts +9 -0
  23. package/build/lib/utils/contractManager.js +26 -0
  24. package/build/lib/utils/contractManager.js.map +1 -0
  25. package/build/lib/utils/utils.d.ts +129 -0
  26. package/build/lib/utils/utils.js +176 -0
  27. package/build/lib/utils/utils.js.map +1 -0
  28. package/build/schemas/index.d.ts +370 -0
  29. package/build/schemas/index.js +88 -0
  30. package/build/schemas/index.js.map +1 -0
  31. package/build/tools/approve.d.ts +20 -0
  32. package/build/tools/approve.js +35 -0
  33. package/build/tools/approve.js.map +1 -0
  34. package/build/tools/deployERC20.d.ts +14 -0
  35. package/build/tools/deployERC20.js +32 -0
  36. package/build/tools/deployERC20.js.map +1 -0
  37. package/build/tools/getAllowance.d.ts +48 -0
  38. package/build/tools/getAllowance.js +74 -0
  39. package/build/tools/getAllowance.js.map +1 -0
  40. package/build/tools/getBalance.d.ts +25 -0
  41. package/build/tools/getBalance.js +62 -0
  42. package/build/tools/getBalance.js.map +1 -0
  43. package/build/tools/getTotalSupply.d.ts +14 -0
  44. package/build/tools/getTotalSupply.js +25 -0
  45. package/build/tools/getTotalSupply.js.map +1 -0
  46. package/build/tools/transfer.d.ts +10 -0
  47. package/build/tools/transfer.js +46 -0
  48. package/build/tools/transfer.js.map +1 -0
  49. package/build/tools/transferFrom.d.ts +12 -0
  50. package/build/tools/transferFrom.js +36 -0
  51. package/build/tools/transferFrom.js.map +1 -0
  52. package/package.json +43 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"old.js","sourceRoot":"","sources":["../../../src/lib/abis/old.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare const tokenAddresses: {
2
+ [key: string]: string;
3
+ };
4
+ export declare const ERC20_CLASSHASH_SEPOLIA = "0x1932e98bfd12e65ca0d69cd98f04352674597f15477373dfa868863e9792144";
5
+ export declare const ERC20_CLASSHASH_MAINNET = "0x55d9e5d7ba82a3975278caf55b8883d33801e7159903fd1375f29f105bc2cf9";
@@ -0,0 +1,36 @@
1
+ export const tokenAddresses = {
2
+ AKU: '0x137dfca7d96cdd526d13a63176454f35c691f55837497448fad352643cfe4d4',
3
+ ALF: '0x78d7dfcddb44667153513bd837ff534ef395484f4b6cf28faa25b2c46e063d9',
4
+ BROTHER: '0x3b405a98c9e795d427fe82cdeeeed803f221b52471e3a757574a2b4180793ee',
5
+ CASH: '0x498edfaf50ca5855666a700c25dd629d577eb9afccdf3b5977aec79aee55ada',
6
+ DAI: '0x5574eb6b8789a91466f902c380d978e472db68170ff82a5b650b95a58ddf4ad',
7
+ DAIv0: '0xda114221cb83fa859dbdb4c44beeaa0bb37c7537ad5ae66fe5e0efd20e6eb3',
8
+ DICK: '0x388588584bd8c651151f6baf241a85827e7ff0574101f2a8194a3df68a7e2fe',
9
+ EKUBO: '0x75afe6402ad5a5c20dd25e10ec3b3986acaa647b77e4ae24b0cbc9a54a27a87',
10
+ ETH: '0x49d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7',
11
+ LORDS: '0x124aeb495b947201f5fac96fd1138e326ad86195b98df6dec9009158a533b49',
12
+ LUSD: '0x70a76fd48ca0ef910631754d77dd822147fe98a569b826ec85e3c33fde586ac',
13
+ NSTR: '0xc530f2c0aa4c16a0806365b0898499fba372e5df7a7172dc6fe9ba777e8007',
14
+ PAL: '0x49201f03a0f0a9e70e28dcd74cbf44931174dbe3cc4b2ff488898339959e559',
15
+ SCHIZODIO: '0xacc2fa3bb7f6a6726c14d9e142d51fe3984dbfa32b5907e1e76425177875e2',
16
+ SLAY: '0x2ab526354a39e7f5d272f327fa94e757df3688188d4a92c6dc3623ab79894e2',
17
+ SLINK: '0x13ff4e86fa3e7286cc5c64b62f4099cf41e7918d727d22a5109ecfd00274d19',
18
+ SSTR: '0x102d5e124c51b936ee87302e0f938165aec96fb6c2027ae7f3a5ed46c77573b',
19
+ STRK: '0x4718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d',
20
+ SWAY: '0x4878d1148318a31829523ee9c6a5ee563af6cd87f90a30809e5b0d27db8a9b',
21
+ UNI: '0x49210ffc442172463f3177147c1aeaa36c51d152c1b0630f2364c300d4f48ee',
22
+ UNO: '0x719b5092403233201aa822ce928bd4b551d0cdb071a724edd7dc5e5f57b7f34',
23
+ USDC: '0x53c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8',
24
+ USDT: '0x68f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8',
25
+ WBTC: '0x3fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac',
26
+ WIZ: '0x6e987f1e703c549991e1c13b8f1b8e1e6f8bba068a0715b9aacb51dba2800f',
27
+ ZEND: '0x585c32b625999e6e5e78645ff8df7a9001cf5cf3eb6b80ccdd16cb64bd3a34',
28
+ kSTRK: '0x45cd05ee2caaac3459b87e5e2480099d201be2f62243f839f00e10dde7f500c',
29
+ rETH: '0x319111a5037cbec2b3e638cc34a3474e2d2608299f3e62866e9cc683208c610',
30
+ sSTRK: '0x356f304b154d29d2a8fe22f1cb9107a9b564a733cf6b4cc47fd121ac1af90c9',
31
+ wstETH: '0x42b8f0484674ca266ac5d08e4ac6a3fe65bd3129795def2dca5c34ecc5f96d2',
32
+ xSTRK: '0x28d709c875c0ceac3dce7065bec5328186dc89fe254527084d1689910954b0a',
33
+ };
34
+ export const ERC20_CLASSHASH_SEPOLIA = '0x1932e98bfd12e65ca0d69cd98f04352674597f15477373dfa868863e9792144';
35
+ export const ERC20_CLASSHASH_MAINNET = '0x55d9e5d7ba82a3975278caf55b8883d33801e7159903fd1375f29f105bc2cf9';
36
+ //# sourceMappingURL=constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constant.js","sourceRoot":"","sources":["../../../src/lib/constants/constant.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAA8B;IACvD,GAAG,EAAE,mEAAmE;IACxE,GAAG,EAAE,mEAAmE;IACxE,OAAO,EAAE,mEAAmE;IAC5E,IAAI,EAAE,mEAAmE;IACzE,GAAG,EAAE,mEAAmE;IACxE,KAAK,EAAE,kEAAkE;IACzE,IAAI,EAAE,mEAAmE;IACzE,KAAK,EAAE,mEAAmE;IAC1E,GAAG,EAAE,mEAAmE;IACxE,KAAK,EAAE,mEAAmE;IAC1E,IAAI,EAAE,mEAAmE;IACzE,IAAI,EAAE,kEAAkE;IACxE,GAAG,EAAE,mEAAmE;IACxE,SAAS,EAAE,kEAAkE;IAC7E,IAAI,EAAE,mEAAmE;IACzE,KAAK,EAAE,mEAAmE;IAC1E,IAAI,EAAE,mEAAmE;IACzE,IAAI,EAAE,mEAAmE;IACzE,IAAI,EAAE,kEAAkE;IACxE,GAAG,EAAE,mEAAmE;IACxE,GAAG,EAAE,mEAAmE;IACxE,IAAI,EAAE,mEAAmE;IACzE,IAAI,EAAE,mEAAmE;IACzE,IAAI,EAAE,mEAAmE;IACzE,GAAG,EAAE,kEAAkE;IACvE,IAAI,EAAE,kEAAkE;IACxE,KAAK,EAAE,mEAAmE;IAC1E,IAAI,EAAE,mEAAmE;IACzE,KAAK,EAAE,mEAAmE;IAC1E,MAAM,EAAE,mEAAmE;IAC3E,KAAK,EAAE,mEAAmE;CAC3E,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAClC,mEAAmE,CAAC;AACtE,MAAM,CAAC,MAAM,uBAAuB,GAClC,mEAAmE,CAAC"}
@@ -0,0 +1,85 @@
1
+ import { RpcProvider } from 'starknet';
2
+ import { SystemMessage } from '@langchain/core/messages';
3
+ import { z as Zod } from 'zod';
4
+ export interface StarknetTool<P = unknown> {
5
+ name: string;
6
+ plugins: string;
7
+ description: string;
8
+ schema?: Zod.AnyZodObject;
9
+ responseFormat?: string;
10
+ execute: (agent: SnakAgentInterface, params: P, plugins_manager?: any) => Promise<unknown>;
11
+ }
12
+ export interface SignatureTool<P = any> {
13
+ name: string;
14
+ categorie?: string;
15
+ description: string;
16
+ schema?: object;
17
+ execute: (params: P) => Promise<unknown>;
18
+ }
19
+ export declare enum AgentMode {
20
+ INTERACTIVE = "interactive",
21
+ AUTONOMOUS = "autonomous",
22
+ HYBRID = "hybrid"
23
+ }
24
+ export interface RawAgentConfig {
25
+ name: string;
26
+ group: string;
27
+ description: string;
28
+ lore: string[];
29
+ objectives: string[];
30
+ knowledge: string[];
31
+ interval: number;
32
+ plugins: string[];
33
+ memory: MemoryConfig;
34
+ rag?: RagConfig;
35
+ mcpServers?: Record<string, any>;
36
+ mode: AgentMode;
37
+ }
38
+ export interface MemoryConfig {
39
+ enabled?: boolean;
40
+ shortTermMemorySize?: number;
41
+ memorySize?: number;
42
+ maxIterations?: number;
43
+ embeddingModel?: string;
44
+ }
45
+ export interface RagConfig {
46
+ enabled?: boolean;
47
+ topK?: number;
48
+ embeddingModel?: string;
49
+ }
50
+ export interface AgentConfig {
51
+ id: string;
52
+ name: string;
53
+ group: string;
54
+ description: string;
55
+ interval: number;
56
+ chatId: string;
57
+ plugins: string[];
58
+ memory: MemoryConfig;
59
+ rag?: RagConfig;
60
+ mcpServers?: Record<string, any>;
61
+ mode: AgentMode;
62
+ maxIterations: number;
63
+ prompt: SystemMessage;
64
+ }
65
+ export interface DatabaseCredentials {
66
+ host: string;
67
+ port: number;
68
+ user: string;
69
+ password: string;
70
+ database: string;
71
+ }
72
+ export interface SnakAgentInterface {
73
+ getAccountCredentials: () => {
74
+ accountPublicKey: string;
75
+ accountPrivateKey: string;
76
+ };
77
+ getDatabaseCredentials: () => DatabaseCredentials;
78
+ getSignature: () => {
79
+ signature: string;
80
+ };
81
+ getProvider: () => RpcProvider;
82
+ getAgentConfig: () => AgentConfig;
83
+ }
84
+ import winston from 'winston';
85
+ export declare const logger: winston.Logger;
@@ -0,0 +1,51 @@
1
+ export var AgentMode;
2
+ (function (AgentMode) {
3
+ AgentMode["INTERACTIVE"] = "interactive";
4
+ AgentMode["AUTONOMOUS"] = "autonomous";
5
+ AgentMode["HYBRID"] = "hybrid";
6
+ })(AgentMode || (AgentMode = {}));
7
+ import winston from 'winston';
8
+ const levels = {
9
+ error: 0,
10
+ warn: 1,
11
+ info: 2,
12
+ http: 3,
13
+ debug: 4,
14
+ };
15
+ const colors = {
16
+ error: 'red',
17
+ warn: 'yellow',
18
+ info: 'green',
19
+ http: 'magenta',
20
+ debug: 'blue',
21
+ };
22
+ winston.addColors(colors);
23
+ const level = () => {
24
+ if (process.env.LOG_LEVEL) {
25
+ return process.env.LOG_LEVEL.toLowerCase();
26
+ }
27
+ const env = process.env.NODE_ENV || 'production';
28
+ return env === 'development' ? 'debug' : 'info';
29
+ };
30
+ const format = winston.format.combine(winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), winston.format.colorize({ all: true }), winston.format.printf((info) => `${info.timestamp} ${info.level}: ${info.message}`));
31
+ let transports;
32
+ try {
33
+ transports = [
34
+ new winston.transports.Console(),
35
+ new winston.transports.File({
36
+ filename: 'logs/error.log',
37
+ level: 'error',
38
+ }),
39
+ new winston.transports.File({ filename: 'logs/combined.log' }),
40
+ ];
41
+ }
42
+ catch (error) {
43
+ transports = [new winston.transports.Console()];
44
+ }
45
+ export const logger = winston.createLogger({
46
+ level: level(),
47
+ levels,
48
+ format,
49
+ transports,
50
+ });
51
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/dependances/types.ts"],"names":[],"mappings":"AAqCA,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,wCAA2B,CAAA;IAC3B,sCAAyB,CAAA;IACzB,8BAAiB,CAAA;AACnB,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;AAoFD,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,MAAM,MAAM,GAAG;IACb,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,MAAM,MAAM,GAAG;IACb,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,MAAM;CACd,CAAC;AAEF,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAE1B,MAAM,KAAK,GAAG,GAAG,EAAE;IAEjB,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IAGD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,YAAY,CAAC;IACjD,OAAO,GAAG,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CACnC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,EAC3D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EACtC,OAAO,CAAC,MAAM,CAAC,MAAM,CACnB,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,EAAE,CAC7D,CACF,CAAC;AACF,IAAI,UAAU,CAAC;AACf,IAAI,CAAC;IACH,UAAU,GAAG;QACX,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE;QAEhC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YAC1B,QAAQ,EAAE,gBAAgB;YAC1B,KAAK,EAAE,OAAO;SACf,CAAC;QAEF,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;KAC/D,CAAC;AACJ,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,UAAU,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IACzC,KAAK,EAAE,KAAK,EAAE;IACd,MAAM;IACN,MAAM;IACN,UAAU;CACX,CAAC,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { Uint256, Call, Account } from 'starknet';
2
+ export declare const DECIMALS: {
3
+ USDC: number;
4
+ USDT: number;
5
+ DEFAULT: number;
6
+ };
7
+ export interface TransferResult {
8
+ status: 'success' | 'failure';
9
+ amount?: string;
10
+ symbol?: string;
11
+ recipients_address?: string;
12
+ transaction_hash?: string;
13
+ error?: string;
14
+ step?: string;
15
+ }
16
+ export interface validToken {
17
+ address: string;
18
+ symbol: string;
19
+ decimals: number;
20
+ }
21
+ export interface ParamsValidationResult {
22
+ address: string;
23
+ amount: Uint256;
24
+ }
25
+ export interface ExecuteV3Args {
26
+ call: Call;
27
+ account: Account;
28
+ }
29
+ export interface ContractDeployResult {
30
+ transactionHash: string | undefined;
31
+ contractAddress: string | undefined;
32
+ }
@@ -0,0 +1,6 @@
1
+ export const DECIMALS = {
2
+ USDC: 6,
3
+ USDT: 6,
4
+ DEFAULT: 18,
5
+ };
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/types/types.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,EAAE;CACZ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Account, RawArgs, CompiledSierra, CompiledSierraCasm, Abi } from 'starknet';
2
+ import { ContractDeployResult } from '../types/types.js';
3
+ export declare class ContractManager {
4
+ account: Account;
5
+ compiledSierra: CompiledSierra;
6
+ compiledCasm: CompiledSierraCasm;
7
+ constructor(account: Account);
8
+ deployContract(classHash: string, abi?: Abi, constructorArgs?: RawArgs): Promise<ContractDeployResult>;
9
+ }
@@ -0,0 +1,26 @@
1
+ import { CallData, } from 'starknet';
2
+ export class ContractManager {
3
+ constructor(account) {
4
+ this.account = account;
5
+ }
6
+ async deployContract(classHash, abi, constructorArgs = []) {
7
+ try {
8
+ const contractCallData = new CallData(abi ? abi : this.compiledSierra.abi);
9
+ const constructorCalldata = contractCallData.compile('constructor', constructorArgs);
10
+ const deployPayload = {
11
+ classHash,
12
+ constructorCalldata: constructorCalldata,
13
+ };
14
+ const deployResponse = await this.account.deployContract(deployPayload);
15
+ await this.account.waitForTransaction(deployResponse.transaction_hash);
16
+ return {
17
+ transactionHash: deployResponse.transaction_hash,
18
+ contractAddress: deployResponse.contract_address,
19
+ };
20
+ }
21
+ catch (error) {
22
+ throw new Error(`Failed to deploy contract: ${error.message}`);
23
+ }
24
+ }
25
+ }
26
+ //# sourceMappingURL=contractManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contractManager.js","sourceRoot":"","sources":["../../../src/lib/utils/contractManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,GAKT,MAAM,UAAU,CAAC;AAOlB,MAAM,OAAO,eAAe;IAI1B,YAAmB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAUvC,KAAK,CAAC,cAAc,CAClB,SAAiB,EACjB,GAAS,EACT,kBAA2B,EAAE;QAE7B,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,IAAI,QAAQ,CACnC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CACpC,CAAC;YAEF,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,OAAO,CAClD,aAAa,EACb,eAAe,CAChB,CAAC;YAEF,MAAM,aAAa,GAAG;gBACpB,SAAS;gBACT,mBAAmB,EAAE,mBAAmB;aACzC,CAAC;YAEF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CACtD,aAAa,CAEd,CAAC;YACF,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YAEvE,OAAO;gBACL,eAAe,EAAE,cAAc,CAAC,gBAAgB;gBAChD,eAAe,EAAE,cAAc,CAAC,gBAAgB;aACjD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,129 @@
1
+ import { Provider } from 'starknet';
2
+ import { ParamsValidationResult, ExecuteV3Args } from '../types/types.js';
3
+ import { validToken } from '../types/types.js';
4
+ export declare const getTokenDecimals: (symbol: string) => number;
5
+ export declare const formatBalance: (rawBalance: bigint | string | number, decimals: number) => string;
6
+ export declare const validateTokenAddress: (symbol: string) => string;
7
+ export declare const formatTokenAmount: (amount: string, decimals: number) => string;
8
+ export declare const validateAndFormatParams: (address: string, amount: string, decimals: number) => ParamsValidationResult;
9
+ export declare const getV3DetailsPayload: () => {
10
+ version: number;
11
+ maxFee: bigint;
12
+ feeDataAvailabilityMode: any;
13
+ tip: bigint;
14
+ paymasterData: never[];
15
+ resourceBounds: {
16
+ l1_gas: {
17
+ max_amount: string;
18
+ max_price_per_unit: string;
19
+ };
20
+ l2_gas: {
21
+ max_amount: string;
22
+ max_price_per_unit: string;
23
+ };
24
+ };
25
+ };
26
+ export declare const executeV3Transaction: ({ call, account, }: ExecuteV3Args) => Promise<string>;
27
+ export declare function validateToken(provider: Provider, assetSymbol?: string, assetAddress?: string): Promise<validToken>;
28
+ export declare function detectAbiType(address: string, provider: Provider): Promise<({
29
+ type: string;
30
+ name: string;
31
+ interface_name: string;
32
+ members?: undefined;
33
+ variants?: undefined;
34
+ items?: undefined;
35
+ inputs?: undefined;
36
+ kind?: undefined;
37
+ } | {
38
+ type: string;
39
+ name: string;
40
+ members: {
41
+ name: string;
42
+ type: string;
43
+ }[];
44
+ interface_name?: undefined;
45
+ variants?: undefined;
46
+ items?: undefined;
47
+ inputs?: undefined;
48
+ kind?: undefined;
49
+ } | {
50
+ type: string;
51
+ name: string;
52
+ variants: {
53
+ name: string;
54
+ type: string;
55
+ }[];
56
+ interface_name?: undefined;
57
+ members?: undefined;
58
+ items?: undefined;
59
+ inputs?: undefined;
60
+ kind?: undefined;
61
+ } | {
62
+ type: string;
63
+ name: string;
64
+ items: {
65
+ type: string;
66
+ name: string;
67
+ inputs: {
68
+ name: string;
69
+ type: string;
70
+ }[];
71
+ outputs: {
72
+ type: string;
73
+ }[];
74
+ state_mutability: string;
75
+ }[];
76
+ interface_name?: undefined;
77
+ members?: undefined;
78
+ variants?: undefined;
79
+ inputs?: undefined;
80
+ kind?: undefined;
81
+ } | {
82
+ type: string;
83
+ name: string;
84
+ inputs: {
85
+ name: string;
86
+ type: string;
87
+ }[];
88
+ interface_name?: undefined;
89
+ members?: undefined;
90
+ variants?: undefined;
91
+ items?: undefined;
92
+ kind?: undefined;
93
+ } | {
94
+ type: string;
95
+ name: string;
96
+ kind: string;
97
+ members: {
98
+ name: string;
99
+ type: string;
100
+ kind: string;
101
+ }[];
102
+ interface_name?: undefined;
103
+ variants?: undefined;
104
+ items?: undefined;
105
+ inputs?: undefined;
106
+ } | {
107
+ type: string;
108
+ name: string;
109
+ kind: string;
110
+ variants: {
111
+ name: string;
112
+ type: string;
113
+ kind: string;
114
+ }[];
115
+ interface_name?: undefined;
116
+ members?: undefined;
117
+ items?: undefined;
118
+ inputs?: undefined;
119
+ })[]>;
120
+ export declare function extractAssetInfo(asset: {
121
+ assetType: 'SYMBOL' | 'ADDRESS';
122
+ assetValue: string;
123
+ }): {
124
+ assetSymbol: string;
125
+ assetAddress: undefined;
126
+ } | {
127
+ assetSymbol: undefined;
128
+ assetAddress: string;
129
+ };
@@ -0,0 +1,176 @@
1
+ import { validateAndParseAddress, num, RPC, Contract, shortString, cairo, } from 'starknet';
2
+ import { tokenAddresses } from '../constants/constant.js';
3
+ import { DECIMALS } from '../types/types.js';
4
+ import { OLD_ERC20_ABI } from '../abis/old.js';
5
+ import { NEW_ERC20_ABI_MAINNET } from '../abis/new.js';
6
+ export const getTokenDecimals = (symbol) => {
7
+ const stablecoinSymbols = ['USDC', 'USDT'];
8
+ const decimals = stablecoinSymbols.includes(symbol.toUpperCase()) ? 6 : 18;
9
+ return decimals;
10
+ };
11
+ export const formatBalance = (rawBalance, decimals) => {
12
+ try {
13
+ const balanceStr = typeof rawBalance === 'bigint'
14
+ ? rawBalance.toString()
15
+ : String(rawBalance);
16
+ if (!balanceStr || balanceStr === '0') {
17
+ return '0';
18
+ }
19
+ if (balanceStr.length <= decimals) {
20
+ const zeros = '0'.repeat(decimals - balanceStr.length);
21
+ const formattedBalance = `0.${zeros}${balanceStr}`;
22
+ return formattedBalance;
23
+ }
24
+ const decimalPosition = balanceStr.length - decimals;
25
+ const wholePart = balanceStr.slice(0, decimalPosition) || '0';
26
+ const fractionalPart = balanceStr.slice(decimalPosition);
27
+ const formattedBalance = `${wholePart}.${fractionalPart}`;
28
+ return formattedBalance;
29
+ }
30
+ catch (error) {
31
+ return '0';
32
+ }
33
+ };
34
+ export const validateTokenAddress = (symbol) => {
35
+ const tokenAddress = tokenAddresses[symbol];
36
+ if (!tokenAddress) {
37
+ throw new Error(`Token ${symbol} not supported. Available tokens: ${Object.keys(tokenAddresses).join(', ')}`);
38
+ }
39
+ return tokenAddress;
40
+ };
41
+ export const formatTokenAmount = (amount, decimals) => {
42
+ const [whole, fraction = ''] = amount.split('.');
43
+ const paddedFraction = fraction.padEnd(decimals, '0');
44
+ return whole + paddedFraction;
45
+ };
46
+ export const validateAndFormatParams = (address, amount, decimals) => {
47
+ try {
48
+ if (!address) {
49
+ throw new Error('Address is required');
50
+ }
51
+ const formattedAddress = validateAndParseAddress(address);
52
+ if (!amount) {
53
+ throw new Error('Amount is required');
54
+ }
55
+ const formattedAmount = formatTokenAmount(amount, decimals);
56
+ const formattedAmountUint256 = cairo.uint256(formattedAmount);
57
+ return {
58
+ address: formattedAddress,
59
+ amount: formattedAmountUint256,
60
+ };
61
+ }
62
+ catch (error) {
63
+ throw new Error(`Parameter validation failed: ${error.message}`);
64
+ }
65
+ };
66
+ export const getV3DetailsPayload = () => {
67
+ const maxL1Gas = 2000n;
68
+ const maxL1GasPrice = 100000n * 10n ** 9n;
69
+ return {
70
+ version: 3,
71
+ maxFee: 10n ** 16n,
72
+ feeDataAvailabilityMode: RPC.EDataAvailabilityMode.L1,
73
+ tip: 10n ** 14n,
74
+ paymasterData: [],
75
+ resourceBounds: {
76
+ l1_gas: {
77
+ max_amount: num.toHex(maxL1Gas),
78
+ max_price_per_unit: num.toHex(maxL1GasPrice),
79
+ },
80
+ l2_gas: {
81
+ max_amount: num.toHex(0n),
82
+ max_price_per_unit: num.toHex(0n),
83
+ },
84
+ },
85
+ };
86
+ };
87
+ export const executeV3Transaction = async ({ call, account, }) => {
88
+ const { transaction_hash } = await account.execute(call);
89
+ const receipt = await account.waitForTransaction(transaction_hash);
90
+ if (!receipt.isSuccess()) {
91
+ throw new Error('Transaction confirmed but failed');
92
+ }
93
+ return transaction_hash;
94
+ };
95
+ export async function validateToken(provider, assetSymbol, assetAddress) {
96
+ if (!assetSymbol && !assetAddress) {
97
+ throw new Error('Either asset symbol or asset address is required');
98
+ }
99
+ let address = '', symbol = '', decimals = 0;
100
+ if (assetSymbol) {
101
+ symbol = assetSymbol.toUpperCase();
102
+ address = validateTokenAddress(symbol);
103
+ if (!address) {
104
+ throw new Error(`Token ${symbol} not supported`);
105
+ }
106
+ decimals = DECIMALS[symbol] || DECIMALS.DEFAULT;
107
+ }
108
+ else if (assetAddress) {
109
+ address = validateAndParseAddress(assetAddress);
110
+ try {
111
+ const abi = await detectAbiType(address, provider);
112
+ const contract = new Contract(abi, address, provider);
113
+ try {
114
+ const rawSymbol = await contract.symbol();
115
+ symbol =
116
+ abi == OLD_ERC20_ABI
117
+ ? shortString.decodeShortString(rawSymbol)
118
+ : rawSymbol.toUpperCase();
119
+ }
120
+ catch (error) {
121
+ console.warn(`Error getting symbol: ${error.message}`);
122
+ symbol = 'UNKNOWN';
123
+ }
124
+ try {
125
+ const decimalsBigInt = await contract.decimals();
126
+ decimals =
127
+ typeof decimalsBigInt === 'bigint'
128
+ ? Number(decimalsBigInt)
129
+ : decimalsBigInt;
130
+ }
131
+ catch (error) {
132
+ console.warn(`Error getting decimals: ${error.message}`);
133
+ decimals = DECIMALS.DEFAULT;
134
+ }
135
+ }
136
+ catch (error) {
137
+ console.warn(`Error retrieving token info: ${error.message}`);
138
+ symbol = 'UNKNOWN';
139
+ decimals = DECIMALS.DEFAULT;
140
+ }
141
+ }
142
+ return {
143
+ address,
144
+ symbol,
145
+ decimals,
146
+ };
147
+ }
148
+ export async function detectAbiType(address, provider) {
149
+ try {
150
+ const contract = new Contract(OLD_ERC20_ABI, address, provider);
151
+ const symbol = await contract.symbol();
152
+ if (symbol == 0n) {
153
+ return NEW_ERC20_ABI_MAINNET;
154
+ }
155
+ return OLD_ERC20_ABI;
156
+ }
157
+ catch (error) {
158
+ console.warn(`Couldn't detect ABI type, defaulting to NEW_ERC20_ABI_MAINNET: ${error.message}`);
159
+ return NEW_ERC20_ABI_MAINNET;
160
+ }
161
+ }
162
+ export function extractAssetInfo(asset) {
163
+ if (asset.assetType === 'SYMBOL') {
164
+ return {
165
+ assetSymbol: asset.assetValue,
166
+ assetAddress: undefined,
167
+ };
168
+ }
169
+ else {
170
+ return {
171
+ assetSymbol: undefined,
172
+ assetAddress: asset.assetValue,
173
+ };
174
+ }
175
+ }
176
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/lib/utils/utils.ts"],"names":[],"mappings":"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"}