@kasarlabs/erc20-mcp 0.1.1 → 0.1.2
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/build/index.js +16 -16
- package/build/index.js.map +1 -1
- package/build/lib/types/types.d.ts +0 -1
- package/build/lib/utils/contractManager.js.map +1 -1
- package/build/lib/utils/utils.d.ts +2 -30
- package/build/lib/utils/utils.js +33 -84
- package/build/lib/utils/utils.js.map +1 -1
- package/build/schemas/index.d.ts +260 -176
- package/build/schemas/index.js +27 -20
- package/build/schemas/index.js.map +1 -1
- package/build/tools/approve.d.ts +0 -2
- package/build/tools/approve.js +2 -4
- package/build/tools/approve.js.map +1 -1
- package/build/tools/getAllowance.d.ts +2 -8
- package/build/tools/getAllowance.js +55 -27
- package/build/tools/getAllowance.js.map +1 -1
- package/build/tools/getBalance.d.ts +2 -6
- package/build/tools/getBalance.js +45 -26
- package/build/tools/getBalance.js.map +1 -1
- package/build/tools/getSymbol.d.ts +1 -3
- package/build/tools/getSymbol.js +131 -12
- package/build/tools/getSymbol.js.map +1 -1
- package/build/tools/getTotalSupply.d.ts +4 -4
- package/build/tools/getTotalSupply.js +37 -8
- package/build/tools/getTotalSupply.js.map +1 -1
- package/build/tools/transfer.d.ts +2 -2
- package/build/tools/transfer.js +3 -5
- package/build/tools/transfer.js.map +1 -1
- package/build/tools/transferFrom.js +2 -3
- package/build/tools/transferFrom.js.map +1 -1
- package/package.json +3 -3
package/build/schemas/index.js
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
export const assetSchema = z
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
.describe('The type of the asset concerned by the allowance: SYMBOL or ADDRESS'),
|
|
6
|
-
assetValue: z
|
|
2
|
+
export const assetSchema = z
|
|
3
|
+
.object({
|
|
4
|
+
assetAddress: z
|
|
7
5
|
.string()
|
|
8
|
-
.
|
|
9
|
-
|
|
6
|
+
.optional()
|
|
7
|
+
.describe('The contract address of the ERC20 token'),
|
|
8
|
+
assetSymbol: z
|
|
9
|
+
.string()
|
|
10
|
+
.optional()
|
|
11
|
+
.describe('The symbol of the ERC20 token'),
|
|
12
|
+
})
|
|
13
|
+
.refine((data) => data.assetAddress || data.assetSymbol, {
|
|
14
|
+
message: 'Either assetAddress or assetSymbol must be provided',
|
|
15
|
+
})
|
|
16
|
+
.describe('The asset information (symbol or contract address)');
|
|
10
17
|
export const getAllowanceSchema = z.object({
|
|
11
18
|
ownerAddress: z
|
|
12
19
|
.string()
|
|
@@ -14,69 +21,69 @@ export const getAllowanceSchema = z.object({
|
|
|
14
21
|
spenderAddress: z
|
|
15
22
|
.string()
|
|
16
23
|
.describe('The starknet address of the account allowed to spend the tokens'),
|
|
17
|
-
asset: assetSchema
|
|
24
|
+
asset: assetSchema,
|
|
18
25
|
});
|
|
19
26
|
export const getMyGivenAllowanceSchema = z.object({
|
|
20
27
|
spenderAddress: z
|
|
21
28
|
.string()
|
|
22
29
|
.describe('The starknet address of the account allowed to spend the tokens'),
|
|
23
|
-
asset: assetSchema
|
|
30
|
+
asset: assetSchema,
|
|
24
31
|
});
|
|
25
32
|
export const getAllowanceGivenToMeSchema = z.object({
|
|
26
33
|
ownerAddress: z
|
|
27
34
|
.string()
|
|
28
35
|
.describe('The starknet address of the account allowed to spend the tokens'),
|
|
29
|
-
asset: assetSchema
|
|
36
|
+
asset: assetSchema,
|
|
30
37
|
});
|
|
31
38
|
export const getTotalSupplySchema = z.object({
|
|
32
|
-
asset: assetSchema
|
|
39
|
+
asset: assetSchema,
|
|
33
40
|
});
|
|
34
41
|
export const transferFromSchema = z.object({
|
|
35
42
|
fromAddress: z.string().describe('The address to transfer tokens from'),
|
|
36
43
|
toAddress: z.string().describe('The address to transfer tokens to'),
|
|
37
44
|
amount: z.string().describe('The amount of tokens to transfer'),
|
|
38
|
-
asset: assetSchema
|
|
45
|
+
asset: assetSchema,
|
|
39
46
|
});
|
|
40
47
|
export const transferFromSignatureSchema = z.object({
|
|
41
48
|
fromAddress: z.string().describe('The address to transfer tokens from'),
|
|
42
49
|
toAddress: z.string().describe('The address to transfer tokens to'),
|
|
43
50
|
amount: z.string().describe('The amount of tokens to transfer'),
|
|
44
|
-
asset: assetSchema
|
|
51
|
+
asset: assetSchema,
|
|
45
52
|
});
|
|
46
53
|
export const getBalanceSchema = z.object({
|
|
47
54
|
accountAddress: z.string().describe('The address to check the balance for'),
|
|
48
|
-
asset: assetSchema
|
|
55
|
+
asset: assetSchema,
|
|
49
56
|
});
|
|
50
57
|
export const getOwnBalanceSchema = z.object({
|
|
51
|
-
asset: assetSchema
|
|
58
|
+
asset: assetSchema,
|
|
52
59
|
});
|
|
53
60
|
export const getBalanceSignatureSchema = z.object({
|
|
54
61
|
accountAddress: z.string().describe('The address to check the balance for'),
|
|
55
|
-
asset: assetSchema
|
|
62
|
+
asset: assetSchema,
|
|
56
63
|
});
|
|
57
64
|
export const approveSchema = z.object({
|
|
58
65
|
spenderAddress: z
|
|
59
66
|
.string()
|
|
60
67
|
.describe('The address being approved to spend tokens'),
|
|
61
68
|
amount: z.string().describe('The amount of tokens being approved'),
|
|
62
|
-
asset: assetSchema
|
|
69
|
+
asset: assetSchema,
|
|
63
70
|
});
|
|
64
71
|
export const approveSignatureSchema = z.object({
|
|
65
72
|
spenderAddress: z
|
|
66
73
|
.string()
|
|
67
74
|
.describe('The address being approved to spend tokens'),
|
|
68
75
|
amount: z.string().describe('The amount of tokens being approved'),
|
|
69
|
-
asset: assetSchema
|
|
76
|
+
asset: assetSchema,
|
|
70
77
|
});
|
|
71
78
|
export const transferSchema = z.object({
|
|
72
79
|
recipientAddress: z.string().describe('The address to receive the tokens'),
|
|
73
80
|
amount: z.string().describe('The amount of tokens to transfer'),
|
|
74
|
-
asset: assetSchema
|
|
81
|
+
asset: assetSchema,
|
|
75
82
|
});
|
|
76
83
|
export const transferSignatureSchema = z.object({
|
|
77
84
|
recipientAddress: z.string().describe('The address to receive the tokens'),
|
|
78
85
|
amount: z.string().describe('The amount of tokens to transfer'),
|
|
79
|
-
asset: assetSchema
|
|
86
|
+
asset: assetSchema,
|
|
80
87
|
});
|
|
81
88
|
export const deployERC20Schema = z.object({
|
|
82
89
|
name: z.string().describe('The name of the token'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}
|
package/build/tools/approve.d.ts
CHANGED
|
@@ -4,7 +4,6 @@ import { approveSchema } from '../schemas/index.js';
|
|
|
4
4
|
export declare const approve: (env: onchainWrite, params: z.infer<typeof approveSchema>) => Promise<{
|
|
5
5
|
status: string;
|
|
6
6
|
amount: string;
|
|
7
|
-
symbol: string;
|
|
8
7
|
spender_address: string;
|
|
9
8
|
transactionHash: string;
|
|
10
9
|
error?: undefined;
|
|
@@ -14,7 +13,6 @@ export declare const approve: (env: onchainWrite, params: z.infer<typeof approve
|
|
|
14
13
|
error: string;
|
|
15
14
|
step: string;
|
|
16
15
|
amount?: undefined;
|
|
17
|
-
symbol?: undefined;
|
|
18
16
|
spender_address?: undefined;
|
|
19
17
|
transactionHash?: undefined;
|
|
20
18
|
}>;
|
package/build/tools/approve.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { Contract } from 'starknet';
|
|
2
|
-
import { validateAndFormatParams, executeV3Transaction, validateToken, detectAbiType,
|
|
2
|
+
import { validateAndFormatParams, executeV3Transaction, validateToken, detectAbiType, } from '../lib/utils/utils.js';
|
|
3
3
|
export const approve = async (env, params) => {
|
|
4
4
|
try {
|
|
5
5
|
const provider = env.provider;
|
|
6
6
|
const account = env.account;
|
|
7
|
-
const
|
|
8
|
-
const token = await validateToken(provider, assetSymbol, assetAddress);
|
|
7
|
+
const token = await validateToken(provider, params.asset.assetAddress, params.asset.assetSymbol);
|
|
9
8
|
const abi = await detectAbiType(token.address, provider);
|
|
10
9
|
const { address, amount } = validateAndFormatParams(params.spenderAddress, params.amount, token.decimals);
|
|
11
10
|
const spenderAddress = address;
|
|
@@ -19,7 +18,6 @@ export const approve = async (env, params) => {
|
|
|
19
18
|
return {
|
|
20
19
|
status: 'success',
|
|
21
20
|
amount: params.amount,
|
|
22
|
-
symbol: token.symbol,
|
|
23
21
|
spender_address: spenderAddress,
|
|
24
22
|
transactionHash: txH,
|
|
25
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approve.js","sourceRoot":"","sources":["../../src/tools/approve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAA0B,MAAM,UAAU,CAAC;AAErE,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,aAAa,EACb,aAAa,
|
|
1
|
+
{"version":3,"file":"approve.js","sourceRoot":"","sources":["../../src/tools/approve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAA0B,MAAM,UAAU,CAAC;AAErE,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,aAAa,EACb,aAAa,GACd,MAAM,uBAAuB,CAAC;AAY/B,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAC1B,GAAiB,EACjB,MAAqC,EACrC,EAAE;IACF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAE5B,MAAM,KAAK,GAAG,MAAM,aAAa,CAC/B,QAAQ,EACR,MAAM,CAAC,KAAK,CAAC,YAAY,EACzB,MAAM,CAAC,KAAK,CAAC,WAAW,CACzB,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACzD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,uBAAuB,CACjD,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,MAAM,EACb,KAAK,CAAC,QAAQ,CACf,CAAC;QAEF,MAAM,cAAc,GAAG,OAAO,CAAC;QAE/B,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5D,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE1B,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;QAExE,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC;YACrC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;QAEH,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,eAAe,EAAE,cAAc;YAC/B,eAAe,EAAE,GAAG;SACrB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;YAC/D,IAAI,EAAE,oBAAoB;SAC3B,CAAC;IACJ,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { onchainWrite } from '@kasarlabs/ask-starknet-core';
|
|
1
|
+
import { onchainRead, onchainWrite } from '@kasarlabs/ask-starknet-core';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { getAllowanceSchema, getMyGivenAllowanceSchema, getAllowanceGivenToMeSchema } from '../schemas/index.js';
|
|
4
|
-
export declare const getAllowance: (env:
|
|
4
|
+
export declare const getAllowance: (env: onchainRead, params: z.infer<typeof getAllowanceSchema>) => Promise<{
|
|
5
5
|
status: string;
|
|
6
6
|
owner: string;
|
|
7
7
|
spender: string;
|
|
8
8
|
allowance: string;
|
|
9
|
-
symbol: string;
|
|
10
9
|
error?: undefined;
|
|
11
10
|
} | {
|
|
12
11
|
status: string;
|
|
@@ -14,14 +13,12 @@ export declare const getAllowance: (env: onchainWrite, params: z.infer<typeof ge
|
|
|
14
13
|
owner?: undefined;
|
|
15
14
|
spender?: undefined;
|
|
16
15
|
allowance?: undefined;
|
|
17
|
-
symbol?: undefined;
|
|
18
16
|
}>;
|
|
19
17
|
export declare const getMyGivenAllowance: (env: onchainWrite, params: z.infer<typeof getMyGivenAllowanceSchema>) => Promise<{
|
|
20
18
|
status: string;
|
|
21
19
|
owner: string;
|
|
22
20
|
spender: string;
|
|
23
21
|
allowance: string;
|
|
24
|
-
symbol: string;
|
|
25
22
|
error?: undefined;
|
|
26
23
|
} | {
|
|
27
24
|
status: string;
|
|
@@ -29,14 +26,12 @@ export declare const getMyGivenAllowance: (env: onchainWrite, params: z.infer<ty
|
|
|
29
26
|
owner?: undefined;
|
|
30
27
|
spender?: undefined;
|
|
31
28
|
allowance?: undefined;
|
|
32
|
-
symbol?: undefined;
|
|
33
29
|
}>;
|
|
34
30
|
export declare const getAllowanceGivenToMe: (env: onchainWrite, params: z.infer<typeof getAllowanceGivenToMeSchema>) => Promise<{
|
|
35
31
|
status: string;
|
|
36
32
|
owner: string;
|
|
37
33
|
spender: string;
|
|
38
34
|
allowance: string;
|
|
39
|
-
symbol: string;
|
|
40
35
|
error?: undefined;
|
|
41
36
|
} | {
|
|
42
37
|
status: string;
|
|
@@ -44,5 +39,4 @@ export declare const getAllowanceGivenToMe: (env: onchainWrite, params: z.infer<
|
|
|
44
39
|
owner?: undefined;
|
|
45
40
|
spender?: undefined;
|
|
46
41
|
allowance?: undefined;
|
|
47
|
-
symbol?: undefined;
|
|
48
42
|
}>;
|
|
@@ -1,19 +1,49 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { formatBalance, validateToken,
|
|
1
|
+
import { validateAndParseAddress } from 'starknet';
|
|
2
|
+
import { formatBalance, validateToken, uint256HexToBigInt, } from '../lib/utils/utils.js';
|
|
3
|
+
async function readAllowanceRaw(provider, tokenAddress, ownerAddress, spenderAddress) {
|
|
4
|
+
const contractAddress = validateAndParseAddress(tokenAddress);
|
|
5
|
+
const owner = validateAndParseAddress(ownerAddress);
|
|
6
|
+
const spender = validateAndParseAddress(spenderAddress);
|
|
7
|
+
const entrypoints = [
|
|
8
|
+
'allowance',
|
|
9
|
+
'get_allowance',
|
|
10
|
+
];
|
|
11
|
+
let lastErr = null;
|
|
12
|
+
for (const entrypoint of entrypoints) {
|
|
13
|
+
try {
|
|
14
|
+
const res = await provider.callContract({
|
|
15
|
+
contractAddress,
|
|
16
|
+
entrypoint,
|
|
17
|
+
calldata: [owner, spender],
|
|
18
|
+
});
|
|
19
|
+
const out = Array.isArray(res?.result)
|
|
20
|
+
? res.result
|
|
21
|
+
: Array.isArray(res)
|
|
22
|
+
? res
|
|
23
|
+
: [];
|
|
24
|
+
if (out.length >= 2)
|
|
25
|
+
return uint256HexToBigInt(out[0], out[1]);
|
|
26
|
+
if (out.length === 1)
|
|
27
|
+
return BigInt(out[0]);
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
lastErr = e;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
throw new Error(`Failed to read allowance on ${contractAddress} for owner ${owner} and spender ${spender}` +
|
|
34
|
+
(lastErr instanceof Error ? ` (last error: ${lastErr.message})` : ''));
|
|
35
|
+
}
|
|
3
36
|
export const getAllowance = async (env, params) => {
|
|
4
37
|
try {
|
|
5
38
|
const provider = env.provider;
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const tokenContract = new Contract(abi, token.address, provider);
|
|
10
|
-
const allowanceResponse = await tokenContract.allowance(params.ownerAddress, params.spenderAddress);
|
|
39
|
+
const token = await validateToken(provider, params.asset.assetAddress, params.asset.assetSymbol);
|
|
40
|
+
const raw = await readAllowanceRaw(provider, token.address, params.ownerAddress, params.spenderAddress);
|
|
41
|
+
const formatted = formatBalance(raw, token.decimals);
|
|
11
42
|
return {
|
|
12
43
|
status: 'success',
|
|
13
44
|
owner: params.ownerAddress,
|
|
14
45
|
spender: params.spenderAddress,
|
|
15
|
-
allowance:
|
|
16
|
-
symbol: token.symbol,
|
|
46
|
+
allowance: formatted,
|
|
17
47
|
};
|
|
18
48
|
}
|
|
19
49
|
catch (error) {
|
|
@@ -26,18 +56,17 @@ export const getAllowance = async (env, params) => {
|
|
|
26
56
|
export const getMyGivenAllowance = async (env, params) => {
|
|
27
57
|
try {
|
|
28
58
|
const provider = env.provider;
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
const
|
|
59
|
+
const owner = env.account.address;
|
|
60
|
+
if (!owner)
|
|
61
|
+
throw new Error('Wallet address not configured');
|
|
62
|
+
const token = await validateToken(provider, params.asset.assetAddress, params.asset.assetSymbol);
|
|
63
|
+
const raw = await readAllowanceRaw(provider, token.address, owner, params.spenderAddress);
|
|
64
|
+
const formatted = formatBalance(raw, token.decimals);
|
|
35
65
|
return {
|
|
36
66
|
status: 'success',
|
|
37
|
-
owner
|
|
67
|
+
owner,
|
|
38
68
|
spender: params.spenderAddress,
|
|
39
|
-
allowance:
|
|
40
|
-
symbol: token.symbol,
|
|
69
|
+
allowance: formatted,
|
|
41
70
|
};
|
|
42
71
|
}
|
|
43
72
|
catch (error) {
|
|
@@ -50,18 +79,17 @@ export const getMyGivenAllowance = async (env, params) => {
|
|
|
50
79
|
export const getAllowanceGivenToMe = async (env, params) => {
|
|
51
80
|
try {
|
|
52
81
|
const provider = env.provider;
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
const
|
|
57
|
-
const
|
|
58
|
-
const
|
|
82
|
+
const spender = env.account.address;
|
|
83
|
+
if (!spender)
|
|
84
|
+
throw new Error('Wallet address not configured');
|
|
85
|
+
const token = await validateToken(provider, params.asset.assetAddress, params.asset.assetSymbol);
|
|
86
|
+
const raw = await readAllowanceRaw(provider, token.address, params.ownerAddress, spender);
|
|
87
|
+
const formatted = formatBalance(raw, token.decimals);
|
|
59
88
|
return {
|
|
60
89
|
status: 'success',
|
|
61
90
|
owner: params.ownerAddress,
|
|
62
|
-
spender
|
|
63
|
-
allowance:
|
|
64
|
-
symbol: token.symbol,
|
|
91
|
+
spender,
|
|
92
|
+
allowance: formatted,
|
|
65
93
|
};
|
|
66
94
|
}
|
|
67
95
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAllowance.js","sourceRoot":"","sources":["../../src/tools/getAllowance.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"getAllowance.js","sourceRoot":"","sources":["../../src/tools/getAllowance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEhE,OAAO,EACL,aAAa,EACb,aAAa,EACb,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAsB/B,KAAK,UAAU,gBAAgB,CAC7B,QAAqB,EACrB,YAAoB,EACpB,YAAoB,EACpB,cAAsB;IAEtB,MAAM,eAAe,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAC;IAExD,MAAM,WAAW,GAAyC;QACxD,WAAW;QACX,eAAe;KAChB,CAAC;IAEF,IAAI,OAAO,GAAY,IAAI,CAAC;IAE5B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC;gBACtC,eAAe;gBACf,UAAU;gBACV,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;aAC3B,CAAC,CAAC;YAEH,MAAM,GAAG,GAAa,KAAK,CAAC,OAAO,CAAE,GAAW,EAAE,MAAM,CAAC;gBACvD,CAAC,CAAE,GAAW,CAAC,MAAM;gBACrB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;oBAClB,CAAC,CAAE,GAAW;oBACd,CAAC,CAAC,EAAE,CAAC;YAET,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC;gBAAE,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAG/D,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,+BAA+B,eAAe,cAAc,KAAK,gBAAgB,OAAO,EAAE;QACxF,CAAC,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,iBAAiB,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACxE,CAAC;AACJ,CAAC;AAqBD,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,GAAgB,EAChB,MAA0C,EAC1C,EAAE;IACF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,aAAa,CAC/B,QAAQ,EACR,MAAM,CAAC,KAAK,CAAC,YAAY,EACzB,MAAM,CAAC,KAAK,CAAC,WAAW,CACzB,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAChC,QAAQ,EACR,KAAK,CAAC,OAAO,EACb,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,cAAc,CACtB,CAAC;QACF,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAErD,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,MAAM,CAAC,YAAY;YAC1B,OAAO,EAAE,MAAM,CAAC,cAAc;YAC9B,SAAS,EAAE,SAAS;SACrB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;SAChE,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAoBF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,GAAiB,EACjB,MAAiD,EACjD,EAAE;IACF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAE7D,MAAM,KAAK,GAAG,MAAM,aAAa,CAC/B,QAAQ,EACR,MAAM,CAAC,KAAK,CAAC,YAAY,EACzB,MAAM,CAAC,KAAK,CAAC,WAAW,CACzB,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAChC,QAAQ,EACR,KAAK,CAAC,OAAO,EACb,KAAK,EACL,MAAM,CAAC,cAAc,CACtB,CAAC;QACF,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAErD,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,KAAK;YACL,OAAO,EAAE,MAAM,CAAC,cAAc;YAC9B,SAAS,EAAE,SAAS;SACrB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;SAChE,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAoBF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACxC,GAAiB,EACjB,MAAmD,EACnD,EAAE;IACF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAE/D,MAAM,KAAK,GAAG,MAAM,aAAa,CAC/B,QAAQ,EACR,MAAM,CAAC,KAAK,CAAC,YAAY,EACzB,MAAM,CAAC,KAAK,CAAC,WAAW,CACzB,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAChC,QAAQ,EACR,KAAK,CAAC,OAAO,EACb,MAAM,CAAC,YAAY,EACnB,OAAO,CACR,CAAC;QACF,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAErD,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,MAAM,CAAC,YAAY;YAC1B,OAAO;YACP,SAAS,EAAE,SAAS;SACrB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;SAChE,CAAC;IACJ,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,25 +1,21 @@
|
|
|
1
|
-
import { onchainWrite } from '@kasarlabs/ask-starknet-core';
|
|
1
|
+
import { onchainRead, onchainWrite } from '@kasarlabs/ask-starknet-core';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { getBalanceSchema, getOwnBalanceSchema } from '../schemas/index.js';
|
|
4
4
|
export declare const getOwnBalance: (env: onchainWrite, params: z.infer<typeof getOwnBalanceSchema>) => Promise<{
|
|
5
5
|
status: string;
|
|
6
6
|
balance: string;
|
|
7
|
-
symbol: string;
|
|
8
7
|
error?: undefined;
|
|
9
8
|
} | {
|
|
10
9
|
status: string;
|
|
11
10
|
error: string;
|
|
12
11
|
balance?: undefined;
|
|
13
|
-
symbol?: undefined;
|
|
14
12
|
}>;
|
|
15
|
-
export declare const getBalance: (env:
|
|
13
|
+
export declare const getBalance: (env: onchainRead, params: z.infer<typeof getBalanceSchema>) => Promise<{
|
|
16
14
|
status: string;
|
|
17
15
|
balance: string;
|
|
18
|
-
symbol: string;
|
|
19
16
|
error?: undefined;
|
|
20
17
|
} | {
|
|
21
18
|
status: string;
|
|
22
19
|
error: string;
|
|
23
20
|
balance?: undefined;
|
|
24
|
-
symbol?: undefined;
|
|
25
21
|
}>;
|
|
@@ -1,27 +1,53 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { validateAndParseAddress } from 'starknet';
|
|
2
|
+
import { formatBalance, validateToken, uint256HexToBigInt, } from '../lib/utils/utils.js';
|
|
3
|
+
async function getBalanceRaw(provider, tokenAddress, accountAddress) {
|
|
4
|
+
const contractAddress = validateAndParseAddress(tokenAddress);
|
|
5
|
+
const account = validateAndParseAddress(accountAddress);
|
|
6
|
+
const entrypoints = [
|
|
7
|
+
'balanceOf',
|
|
8
|
+
'balance_of',
|
|
9
|
+
'get_balance',
|
|
10
|
+
];
|
|
11
|
+
let lastErr = null;
|
|
12
|
+
for (const entrypoint of entrypoints) {
|
|
13
|
+
try {
|
|
14
|
+
const res = await provider.callContract({
|
|
15
|
+
contractAddress,
|
|
16
|
+
entrypoint,
|
|
17
|
+
calldata: [account],
|
|
18
|
+
});
|
|
19
|
+
const out = Array.isArray(res?.result)
|
|
20
|
+
? res.result
|
|
21
|
+
: Array.isArray(res)
|
|
22
|
+
? res
|
|
23
|
+
: [];
|
|
24
|
+
if (out.length >= 2) {
|
|
25
|
+
return uint256HexToBigInt(out[0], out[1]);
|
|
26
|
+
}
|
|
27
|
+
if (out.length === 1) {
|
|
28
|
+
return BigInt(out[0]);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
lastErr = e;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
throw new Error(`Failed to read balance on ${contractAddress} for ${account}` +
|
|
36
|
+
(lastErr instanceof Error ? ` (last error: ${lastErr.message})` : ''));
|
|
37
|
+
}
|
|
4
38
|
export const getOwnBalance = async (env, params) => {
|
|
5
39
|
try {
|
|
6
40
|
const provider = env.provider;
|
|
7
41
|
const account = env.account;
|
|
8
42
|
const accountAddress = account.address;
|
|
9
|
-
|
|
10
|
-
const token = await validateToken(provider, assetSymbol, assetAddress);
|
|
11
|
-
const abi = await detectAbiType(token.address, provider);
|
|
12
|
-
if (!accountAddress) {
|
|
43
|
+
if (!accountAddress)
|
|
13
44
|
throw new Error('Wallet address not configured');
|
|
14
|
-
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
if (balanceResponse === undefined || balanceResponse === null) {
|
|
18
|
-
throw new Error('No balance value received from contract');
|
|
19
|
-
}
|
|
20
|
-
const formattedBalance = formatBalance(balanceResponse, token.decimals);
|
|
45
|
+
const token = await validateToken(provider, params.asset.assetAddress, params.asset.assetSymbol);
|
|
46
|
+
const rawBalance = await getBalanceRaw(provider, token.address, accountAddress);
|
|
47
|
+
const formattedBalance = formatBalance(rawBalance, token.decimals);
|
|
21
48
|
return {
|
|
22
49
|
status: 'success',
|
|
23
50
|
balance: formattedBalance,
|
|
24
|
-
symbol: token.symbol,
|
|
25
51
|
};
|
|
26
52
|
}
|
|
27
53
|
catch (error) {
|
|
@@ -34,22 +60,15 @@ export const getOwnBalance = async (env, params) => {
|
|
|
34
60
|
export const getBalance = async (env, params) => {
|
|
35
61
|
try {
|
|
36
62
|
if (!params?.accountAddress) {
|
|
37
|
-
throw new Error('Account address
|
|
63
|
+
throw new Error('Account address is required');
|
|
38
64
|
}
|
|
39
65
|
const provider = env.provider;
|
|
40
|
-
const
|
|
41
|
-
const
|
|
42
|
-
const
|
|
43
|
-
const tokenContract = new Contract(abi, token.address, provider);
|
|
44
|
-
const balanceResponse = await tokenContract.balanceOf(params.accountAddress);
|
|
45
|
-
const balanceValue = typeof balanceResponse === 'object' && 'balance' in balanceResponse
|
|
46
|
-
? balanceResponse.balance
|
|
47
|
-
: balanceResponse;
|
|
48
|
-
const formattedBalance = formatBalance(balanceValue, token.decimals);
|
|
66
|
+
const token = await validateToken(provider, params.asset.assetAddress, params.asset.assetSymbol);
|
|
67
|
+
const rawBalance = await getBalanceRaw(provider, token.address, params.accountAddress);
|
|
68
|
+
const formattedBalance = formatBalance(rawBalance, token.decimals);
|
|
49
69
|
return {
|
|
50
70
|
status: 'success',
|
|
51
71
|
balance: formattedBalance,
|
|
52
|
-
symbol: token.symbol,
|
|
53
72
|
};
|
|
54
73
|
}
|
|
55
74
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBalance.js","sourceRoot":"","sources":["../../src/tools/getBalance.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"getBalance.js","sourceRoot":"","sources":["../../src/tools/getBalance.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,12 +3,10 @@ import { z } from 'zod';
|
|
|
3
3
|
import { getSymbolSchema } from '../schemas/index.js';
|
|
4
4
|
export declare const getSymbol: (env: onchainRead, params: z.infer<typeof getSymbolSchema>) => Promise<{
|
|
5
5
|
status: string;
|
|
6
|
-
symbol:
|
|
7
|
-
address: string;
|
|
6
|
+
symbol: string;
|
|
8
7
|
error?: undefined;
|
|
9
8
|
} | {
|
|
10
9
|
status: string;
|
|
11
10
|
error: string;
|
|
12
11
|
symbol?: undefined;
|
|
13
|
-
address?: undefined;
|
|
14
12
|
}>;
|