Function prepareICQConnectionKitInternal prepareICQConnection Kit ( zone , vowTools ) :  ( ( ... args :  [ port:  Port ] )  =>  GuardedKit < {       connection :  {           getLocalAddress ( ) :  ` /ibc-port/ ${ string } ` ;           getRemoteAddress ( ) :  ` / ${ string } ibc-port/ ${ string } /ordered/ ${ string } `  |  ` / ${ string } ibc-port/ ${ string } /unordered/ ${ string } ` ;           query ( msgs :  {               data :  string ;               height :  string ;               path :  string ;               prove :  boolean ;           } [] ) :  Vow < {               code :  number ;               codespace :  string ;               height :  string ;               index :  string ;               info :  string ;               key :  string ;               log :  string ;               proofOps ?:  {                   ops :  {                       data :  ...;                       key :  ...;                       type :  ...;                   } [] ;               } ;               value :  string ;           } [] > ;       } ;       connectionHandler :  {           onClose ( _connection :  any , reason :  any ) :  Promise < void > ;           onOpen ( connection :  Remote < Connection > , localAddr :  ` /ibc-port/ ${ string } ` , remoteAddr :  ` / ${ string } ibc-port/ ${ string } /ordered/ ${ string } `  |  ` / ${ string } ibc-port/ ${ string } /unordered/ ${ string } ` ) :  Promise < void > ;       } ;       parseQueryPacketWatcher :  {           onFulfilled ( ack :  string ) :  {               code :  number ;               codespace :  string ;               height :  string ;               index :  string ;               info :  string ;               key :  string ;               log :  string ;               proofOps ?:  {                   ops :  {                       data :  string ;                       key :  string ;                       type :  string ;                   } [] ;               } ;               value :  string ;           } [] ;       } ;  } > ) Parameters zone : Zone vowTools : VowTools Returns ( ( ... args :  [ port:  Port ] )  =>  GuardedKit < {       connection :  {           getLocalAddress ( ) :  ` /ibc-port/ ${ string } ` ;           getRemoteAddress ( ) :  ` / ${ string } ibc-port/ ${ string } /ordered/ ${ string } `  |  ` / ${ string } ibc-port/ ${ string } /unordered/ ${ string } ` ;           query ( msgs :  {               data :  string ;               height :  string ;               path :  string ;               prove :  boolean ;           } [] ) :  Vow < {               code :  number ;               codespace :  string ;               height :  string ;               index :  string ;               info :  string ;               key :  string ;               log :  string ;               proofOps ?:  {                   ops :  {                       data :  ...;                       key :  ...;                       type :  ...;                   } [] ;               } ;               value :  string ;           } [] > ;       } ;       connectionHandler :  {           onClose ( _connection :  any , reason :  any ) :  Promise < void > ;           onOpen ( connection :  Remote < Connection > , localAddr :  ` /ibc-port/ ${ string } ` , remoteAddr :  ` / ${ string } ibc-port/ ${ string } /ordered/ ${ string } `  |  ` / ${ string } ibc-port/ ${ string } /unordered/ ${ string } ` ) :  Promise < void > ;       } ;       parseQueryPacketWatcher :  {           onFulfilled ( ack :  string ) :  {               code :  number ;               codespace :  string ;               height :  string ;               index :  string ;               info :  string ;               key :  string ;               log :  string ;               proofOps ?:  {                   ops :  {                       data :  string ;                       key :  string ;                       type :  string ;                   } [] ;               } ;               value :  string ;           } [] ;       } ;  } > )  ( ... args ) :  GuardedKit < {       connection :  {           getLocalAddress ( ) :  ` /ibc-port/ ${ string } ` ;           getRemoteAddress ( ) :  ` / ${ string } ibc-port/ ${ string } /ordered/ ${ string } `  |  ` / ${ string } ibc-port/ ${ string } /unordered/ ${ string } ` ;           query ( msgs :  {               data :  string ;               height :  string ;               path :  string ;               prove :  boolean ;           } [] ) :  Vow < {               code :  number ;               codespace :  string ;               height :  string ;               index :  string ;               info :  string ;               key :  string ;               log :  string ;               proofOps ?:  {                   ops :  {                       data :  ...;                       key :  ...;                       type :  ...;                   } [] ;               } ;               value :  string ;           } [] > ;       } ;       connectionHandler :  {           onClose ( _connection :  any , reason :  any ) :  Promise < void > ;           onOpen ( connection :  Remote < Connection > , localAddr :  ` /ibc-port/ ${ string } ` , remoteAddr :  ` / ${ string } ibc-port/ ${ string } /ordered/ ${ string } `  |  ` / ${ string } ibc-port/ ${ string } /unordered/ ${ string } ` ) :  Promise < void > ;       } ;       parseQueryPacketWatcher :  {           onFulfilled ( ack :  string ) :  {               code :  number ;               codespace :  string ;               height :  string ;               index :  string ;               info :  string ;               key :  string ;               log :  string ;               proofOps ?:  {                   ops :  {                       data :  string ;                       key :  string ;                       type :  string ;                   } [] ;               } ;               value :  string ;           } [] ;       } ;  } > Parameters Rest... args : [ port:  Port ] Returns GuardedKit < {       connection :  {           getLocalAddress ( ) :  ` /ibc-port/ ${ string } ` ;           getRemoteAddress ( ) :  ` / ${ string } ibc-port/ ${ string } /ordered/ ${ string } `  |  ` / ${ string } ibc-port/ ${ string } /unordered/ ${ string } ` ;           query ( msgs :  {               data :  string ;               height :  string ;               path :  string ;               prove :  boolean ;           } [] ) :  Vow < {               code :  number ;               codespace :  string ;               height :  string ;               index :  string ;               info :  string ;               key :  string ;               log :  string ;               proofOps ?:  {                   ops :  {                       data :  ...;                       key :  ...;                       type :  ...;                   } [] ;               } ;               value :  string ;           } [] > ;       } ;       connectionHandler :  {           onClose ( _connection :  any , reason :  any ) :  Promise < void > ;           onOpen ( connection :  Remote < Connection > , localAddr :  ` /ibc-port/ ${ string } ` , remoteAddr :  ` / ${ string } ibc-port/ ${ string } /ordered/ ${ string } `  |  ` / ${ string } ibc-port/ ${ string } /unordered/ ${ string } ` ) :  Promise < void > ;       } ;       parseQueryPacketWatcher :  {           onFulfilled ( ack :  string ) :  {               code :  number ;               codespace :  string ;               height :  string ;               index :  string ;               info :  string ;               key :  string ;               log :  string ;               proofOps ?:  {                   ops :  {                       data :  string ;                       key :  string ;                       type :  string ;                   } [] ;               } ;               value :  string ;           } [] ;       } ;  } >  
Used only by CosmosInterchainService
Prepares an ICQ Connection Kit based on the
icq/v1IBC application protocol.icq/v1, also referred to asasync-icq, is a protocol for asynchronous queries between IBC-enabled chains. It allows a chain to send queries to another chain and receive responses asynchronously.The ICQ connection kit provides the necessary functionality to establish and manage an ICQ connection between two chains. It includes methods for retrieving the local and remote addresses of the connection, as well as sending queries and handling connection events.