diff --git a/Sources/XXClient/CMix/CMix.swift b/Sources/XXClient/CMix/CMix.swift
index 2a04a2d8163d52f4e11e1c982a451f8106d9dc23..4571f0dbf1017fcb8ee7366439add0a7e8b752f4 100644
--- a/Sources/XXClient/CMix/CMix.swift
+++ b/Sources/XXClient/CMix/CMix.swift
@@ -5,6 +5,7 @@ public struct CMix {
   public var getReceptionRegistrationValidationSignature: CMixGetReceptionRegistrationValidationSignature
   public var makeReceptionIdentity: CMixMakeReceptionIdentity
   public var isHealthy: CMixIsHealthy
+  public var isReady: CMixIsReady
   public var getNodeRegistrationStatus: CMixGetNodeRegistrationStatus
   public var changeNumberOfNodeRegistrations: CMixChangeNumberOfNodeRegistrations
   public var pauseNodeRegistrations: CMixPauseNodeRegistrations
@@ -27,6 +28,7 @@ extension CMix {
       getReceptionRegistrationValidationSignature: .live(bindingsCMix),
       makeReceptionIdentity: .live(bindingsCMix),
       isHealthy: .live(bindingsCMix),
+      isReady: .live(bindingsCMix),
       getNodeRegistrationStatus: .live(bindingsCMix),
       changeNumberOfNodeRegistrations: .live(bindingsCMix),
       pauseNodeRegistrations: .live(bindingsCMix),
@@ -50,6 +52,7 @@ extension CMix {
     getReceptionRegistrationValidationSignature: .unimplemented,
     makeReceptionIdentity: .unimplemented,
     isHealthy: .unimplemented,
+    isReady: .unimplemented,
     getNodeRegistrationStatus: .unimplemented,
     changeNumberOfNodeRegistrations: .unimplemented,
     pauseNodeRegistrations: .unimplemented,
diff --git a/Sources/XXClient/CMix/Functions/CMixIsReady.swift b/Sources/XXClient/CMix/Functions/CMixIsReady.swift
new file mode 100644
index 0000000000000000000000000000000000000000..14e70e42e004e76fd7e7e0cb31c7da4b1e3090c0
--- /dev/null
+++ b/Sources/XXClient/CMix/Functions/CMixIsReady.swift
@@ -0,0 +1,24 @@
+import Bindings
+import XCTestDynamicOverlay
+
+public struct CMixIsReady {
+  public var run: (Double) throws -> IsReadyInfo
+
+  public func callAsFunction(percent: Double) throws -> IsReadyInfo {
+    try run(percent)
+  }
+}
+
+extension CMixIsReady {
+  public static func live(_ bindingsCMix: BindingsCmix) -> CMixIsReady {
+    CMixIsReady { percent in
+      try IsReadyInfo.decode(try bindingsCMix.isReady(percent))
+    }
+  }
+}
+
+extension CMixIsReady {
+  public static let unimplemented = CMixIsReady(
+    run: XCTUnimplemented("\(Self.self)")
+  )
+}