@@ -106,7 +106,9 @@ export class DeployContractHandler extends BaseToolHandler {
106106 txReturn = await new Promise ( async ( resolve , reject ) => {
107107 const callbacks = { continueCb : ( error , continueTxExecution , cancelCb ) => {
108108 continueTxExecution ( )
109- } , promptCb : ( ) => { } , statusCb : ( ) => { } , finalCb : ( error , contractObject , address : string , txResult : TxResult ) => {
109+ } , promptCb : ( ) => { } , statusCb : ( error ) => {
110+ console . log ( error )
111+ } , finalCb : ( error , contractObject , address : string , txResult : TxResult ) => {
110112 if ( error ) return reject ( error )
111113 resolve ( { contractObject, address, txResult} )
112114 } }
@@ -240,8 +242,16 @@ export class CallContractHandler extends BaseToolHandler {
240242 return 'Invalid contract address format' ;
241243 }
242244
245+
243246 if ( ! Array . isArray ( args . abi ) ) {
244- return 'ABI must be an array' ;
247+ try {
248+ args . abi = JSON . parse ( args . abi as any )
249+ if ( ! Array . isArray ( args . abi ) ) {
250+ return 'ABI must be an array'
251+ }
252+ } catch ( e ) {
253+ return 'ABI must be an array'
254+ }
245255 }
246256
247257 return true ;
@@ -266,9 +276,11 @@ export class CallContractHandler extends BaseToolHandler {
266276 isView ,
267277 ( msg ) => {
268278 // logMsg
279+ console . log ( msg )
269280 } ,
270281 ( msg ) => {
271282 // logCallback
283+ console . log ( msg )
272284 } ,
273285 ( returnValue ) => {
274286 // outputCb
@@ -278,6 +290,7 @@ export class CallContractHandler extends BaseToolHandler {
278290 continueTxExecution ( null )
279291 } ,
280292 ( error , continueTxExecution , cancelCb ) => {
293+ if ( error ) reject ( error )
281294 // continueCb
282295 continueTxExecution ( )
283296 } ,
@@ -286,6 +299,7 @@ export class CallContractHandler extends BaseToolHandler {
286299 } ,
287300 ( error , cancelCb ) => {
288301 // promptCb
302+ if ( error ) reject ( error )
289303 } ,
290304 ( error , { txResult, address, returnValue} ) => {
291305 if ( error ) return reject ( error )
0 commit comments