SuiRpcMethods: {
    [K in SuiRpcMethodName]: SuiClient[K] extends ((input: infer P) => Promise<infer R>)
        ? {
            name: K;
            params: P;
            result: R;
        }
        : SuiClient[K] extends (() => Promise<infer R>)
            ? {
                name: K;
                params: undefined | object;
                result: R;
            }
            : never
}