11import { RpcProvider } from 'starknet' ;
22import { ARGENT_CLASS_HASH } from '../lib/constant/contract.js' ;
33import { AccountManager } from '../lib/utils/AccountManager.js' ;
4- import { onchainRead } from '@kasarlabs/ask-starknet-core' ;
4+ import { onchainRead , toolResult } from '@kasarlabs/ask-starknet-core' ;
55
66/**
77 * Creates a new Argent account.
@@ -11,55 +11,22 @@ import { onchainRead } from '@kasarlabs/ask-starknet-core';
1111 * @returns {Promise<object> } Object with account details
1212 * @throws {Error } If account creation fails
1313 */
14- export const CreateArgentAccount = async ( env : onchainRead ) => {
14+ export const CreateArgentAccount = async (
15+ env : onchainRead
16+ ) : Promise < toolResult > => {
1517 try {
1618 const accountManager = new AccountManager ( env . provider ) ;
1719 const accountDetails =
1820 await accountManager . createAccount ( ARGENT_CLASS_HASH ) ;
1921
2022 return {
2123 status : 'success' ,
22- wallet : 'AX' ,
23- publicKey : accountDetails . publicKey ,
24- privateKey : accountDetails . privateKey ,
25- contractAddress : accountDetails . contractAddress ,
26- } ;
27- } catch ( error ) {
28- return {
29- status : 'failure' ,
30- error : error instanceof Error ? error . message : 'Unknown error' ,
31- } ;
32- }
33- } ;
34-
35- /**
36- * Creates an Argent account with deployment fee estimation.
37- * @async
38- * @function CreateArgentAccountSignature
39- * @returns {Promise<object> } Object with account and fee details
40- * @throws {Error } If creation or fee estimation fails
41- */
42- export const CreateArgentAccountSignature = async ( ) => {
43- try {
44- const provider = new RpcProvider ( { nodeUrl : process . env . STARKNET_RPC_URL } ) ;
45-
46- const accountManager = new AccountManager ( provider ) ;
47- const accountDetails =
48- await accountManager . createAccount ( ARGENT_CLASS_HASH ) ;
49- const suggestedMaxFee = await accountManager . estimateAccountDeployFee (
50- ARGENT_CLASS_HASH ,
51- accountDetails
52- ) ;
53- const maxFee = suggestedMaxFee . suggestedMaxFee * 2n ;
54-
55- return {
56- status : 'success' ,
57- transaction_type : 'CREATE_ACCOUNT' ,
58- wallet : 'AX' ,
59- publicKey : accountDetails . publicKey ,
60- privateKey : accountDetails . privateKey ,
61- contractAddress : accountDetails . contractAddress ,
62- deployFee : maxFee . toString ( ) ,
24+ data : {
25+ wallet : 'AX' ,
26+ publicKey : accountDetails . publicKey ,
27+ privateKey : accountDetails . privateKey ,
28+ contractAddress : accountDetails . contractAddress ,
29+ } ,
6330 } ;
6431 } catch ( error ) {
6532 return {
0 commit comments